Skip to content
This repository has been archived by the owner on Oct 22, 2021. It is now read-only.

KubeCF Release v0.1.0

Pre-release
Pre-release
Compare
Choose a tag to compare
@jimmykarily jimmykarily released this 21 Dec 00:39
· 2748 commits to master since this release
002b49a

Features

  • Includes Eirini v1.0 and the EiriniX persi extension (#249).
  • Includes App Autoscaler v3.0.0 (#127).
  • Includes cf-deployment 12.18 (#259).
  • CATS are running & passing 🏆 (#209).
  • External database support for larger deployments (#162).

Known Issues

  • SSH to app with Eirini is not working (#248).
  • Credhub service broker for apps with Eirini is not working (#284).

Quick installation

Setup your domain

Once you have reserved the static LoadBalancer IPs, setup your domain and subdomains accordingly:

<domain> and *.<domain> should point to the IP used by the router service.
ssh.<domain> should point to the IP used by the ssh-proxy service.
tcp.<domain> should point to the IP used by the tcp-router service.

Deploying cf-operator

With Helm properly configured, this includes tiller being ready with Helm < v3.0, run the following:

helm install \
  --name cf-operator \
  --namespace kubecf \
  https://github.com/cloudfoundry-incubator/cf-operator/releases/download/v1.0.0/cf-operator-v1.0.0-1.g424dd0b3.tgz

Deploying KubeCF

You will need the --cluster-cidr value passed to the Kubernetes controller manager, which can be fetched with the following command:

Note - The awk syntax used below is particular to gawk. On platforms that awk doesn't use gawk, gawk needs to be installed. E.g. on OS X, it can be installed via homebrew.

kubectl cluster-info dump --output yaml \
  | awk 'match($0, /cluster-cidr=(.*)/, cidr) { print cidr[1] }'

and the --service-cluster-ip-range value passed to the Kubernetes API server, which can be fetched with the following command:

kubectl cluster-info dump --output yaml \
  | awk 'match($0, /service-cluster-ip-range=(.*)/, range) { print range[1] }'

Configure the values.yaml file:

system_domain: <domain>

services:
  router:
    externalIPs:
    - <router LoadBalancer static IP>
  ssh-proxy:
    externalIPs:
    - <ssh-proxy LoadBalancer static IP>
  tcp-router:
    externalIPs:
    - <tcp-router LoadBalancer static IP>

kube:
  pod_cluster_ip_range: <cluster-cidr>
  service_cluster_ip_range: <service-cluster-ip-range>

After cf-operator is in a ready state, run the following:

helm install \
  --name kubecf \
  --namespace kubecf \
  --values values.yaml \
  https://github.com/SUSE/kubecf/releases/download/v0.1.0/kubecf-0.1.0-002b49a.tgz

For detailed development documentation: https://github.com/SUSE/kubecf/tree/002b49ad26109e175812c04a3764bd8712e54580/doc/dev