| Federation rudder is no longer supported. |
|---|
You need two things - Tiller with --experimental-release flag enabled, and this rudder available to Tiller. The easiest way to do it is to add container with federated rudder to Tiller deployment - check out ruddered-tiller.yaml.
If you want your deployments distributed across federation to be able to reach pods in other clusters (and you probably do), you need to take a few steps:
- You need to have dns configured in your federation so that proper dns entries are created for federated deployments.
- You need to override hostnames in your charts so they may be expended to federation dns name instead of local cluster name. You can do this by either:
- Changing your charts/overriding the hostname if the chart provides this option
- Using additional replacement logic provided by this rudder. Refer to examples/wp-values.yaml file. You need to provide a regular expression which will match the context of the hostname (this can be tricky, as usual with regexes). The
topart of thereplaceis being rendered by go template with Federation Controller Deployment object retrieved using data infed-namespaceandfed-controller-name. You may avoid it if you know your federation name ahead of time.
To setup federation with two clusters:
git clone https://github.com/kubernetes/kubernetes $GOPATH/src/k8s.io/kubernetescd $GOPATH/src/k8s.io/kubernetesgit checkout release-1.7make quick-releasegit clone https://github.com/lukaszo/kubernetes-dind-federation dinddind/dind-up-cluster.shCLUSTER_NAME=dind2 IP_RANGE=172.128.0.0/16 APISERVER_ADDRESS=172.128.0.1 dind/dind-up-cluster.shkubectl config use-context dinddind/dind-deploy-federation.shkubefed join dind2 --host-cluster-context=dind --context=federation
Populate configmap manifest with generated tls data:
git clone https://github.com/kubernetes-helm/rudder-federation.git $GOPATH/src/github.com/kubernetes-helm/rudder-federationcd $GOPATH/src/github.com/kubernetes-helm/rudder-federationpython utils/populate-configmap.py > manifests/fed-credentials
Create modified tiller deployment and configmap with tls data:
kubectl create -f manifests/
Run Helm install:
helm install stable/wordpress