Cluster Federation
Clone or download
k8s-ci-robot Merge pull request #285 from mooncak/fix_duplicate_issue
Fix typos issues in master-helper.sh
Latest commit 0a26710 Nov 11, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
apis Updates from running hack/update-all.sh Feb 28, 2018
build Update build/README.md Oct 17, 2018
client Updates from running hack/update-all.sh Feb 28, 2018
cluster Fix typos issues Oct 7, 2018
cmd Update bazel files for Azure DNS provider Mar 2, 2018
deploy Fix deploy/cluster/log-dump.sh Feb 19, 2018
docs fix broken link Mar 15, 2018
hack Delete repeated 'to' Oct 16, 2018
image Use debian-hyperkube-base as the base for fcp image Nov 9, 2017
pkg Merge pull request #247 from irfanurrehman/kubefed-access Mar 26, 2018
plugin/pkg/admission/schedulingpolicy Updates from running hack/update-all.sh Feb 28, 2018
registry/cluster Updates from running hack/update-all.sh Feb 28, 2018
test Updates from running hack/update-all.sh Feb 28, 2018
third_party Enable bazel build Nov 1, 2017
vendor Add vendor files for Azure dns provider Mar 2, 2018
.bazelrc Enable bazel build Nov 1, 2017
.gitignore Enable build and test Oct 31, 2017
.kazelcfg.json Enable bazel build Nov 1, 2017
BUILD.bazel Enable bazel build Nov 1, 2017
Gopkg.lock Add vendor files for Azure dns provider Mar 2, 2018
Gopkg.toml Add vendor files for Azure dns provider Mar 2, 2018
LICENSE Initial commit Sep 20, 2017
Makefile Add root files from k/k Oct 31, 2017
Makefile.federation Move federation/* to root and rewrite paths Oct 31, 2017
Makefile.generated_files Add root files from k/k Oct 31, 2017
OWNERS Update Federation OWNERS Nov 21, 2017
README.md Clarified how to run container from make quick-release Mar 15, 2018
WORKSPACE Add root files from k/k Oct 31, 2017
code-of-conduct.md Add code-of-conduct.md Dec 20, 2017
k8s-version Adapt federation code to changes in kubernetes-1.10.0-alpha.3 Feb 28, 2018

README.md

Cluster Federation

Kubernetes Cluster Federation enables users to federate multiple Kubernetes clusters. To know more details about the same please see the user guide.

Deploying Kubernetes Cluster Federation

The prescribed mechanism to deploy Kubernetes Cluster Federation is using kubefed. A complete guide for the same is available at setup cluster federation using kubefed.

Building Kubernetes Cluster Federation

Building cluster federation binaries, which include fcp (short for federation control plane) and kubefed should be as simple as running:

make

A kubernetes like release packages can also be built using:

make quick-release

The 'kubefed binary can be found in federation-client-*.tar.gz. The fcp binary, which self contains federation-apiserver and federation-controller-manager can be found in federation-server-*.tar.gz. federation-server-*.tar.gz includes fcp-*.tar, which is the fcp docker image in the tar format and can be consumed by the kubefed tool.

To run the docker image load the container on your build machine and push to your repository:

# Run from $GOPATH/src/k8s.io/kubernetes/federation
docker load -i  _output/release-images/amd64/fcp-amd64.tar

# Tag to your REGISTRY/REPO/IMAGENAME[:TAG]
docker docker tag gcr.io/google_containers/fcp-amd64:v1.9.0-alpha.2.60_430416309f9e58-dirty REGISTRY/REPO/IMAGENAME[:TAG] 

# push to your registry
docker push REGISTRY/REPO/IMAGENAME[:TAG]

then bring up the new control plane:

_output/dockerized/bin/linux/amd64/kubefed init myfed --host-cluster-context=HOST_CLUSTER_CONTEXT --image=REGISTRY/REPO/IMAGENAME[:TAG] --dns-provider="PROVIDER" --dns-zone-name="YOUR_ZONE" --dns-provider-config=/path/to/provider.conf

A note to the reader

Kubernetes federation code is in a state of flux. Since its incubation, it lived in core kubernetes repo. The same now is maturing into its own placeholder. The process of this movement is not yet complete. It already borrows a lot of code from its earlier parent, especially build infrastructure and utility scripts. This will be cleaned up and simplified. Subsequently we will also concentrate our efforts into cleaning issues and problems reported on existing features, with a focus of moving atleast a subset of all federation features towards GA. Please raise an issue, in case you find problems and we welcome developers to participate in this effort.