federation

module
v1.10.0-alpha.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 19, 2018 License: Apache-2.0

README

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.

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.

Directories

Path Synopsis
apis
federation/v1beta1
+k8s:deepcopy-gen=package,register +k8s:conversion-gen=k8s.io/federation/apis/federation +k8s:openapi-gen=true +k8s:defaulter-gen=TypeMeta Package v1beta1 is a generated protocol buffer package.
+k8s:deepcopy-gen=package,register +k8s:conversion-gen=k8s.io/federation/apis/federation +k8s:openapi-gen=true +k8s:defaulter-gen=TypeMeta Package v1beta1 is a generated protocol buffer package.
client
clientset_generated/federation_clientset
This package has the automatically generated clientset.
This package has the automatically generated clientset.
clientset_generated/federation_clientset/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
clientset_generated/federation_clientset/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
clientset_generated/federation_clientset/typed/autoscaling/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
clientset_generated/federation_clientset/typed/autoscaling/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
clientset_generated/federation_clientset/typed/batch/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
clientset_generated/federation_clientset/typed/batch/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
clientset_generated/federation_clientset/typed/core/v1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
clientset_generated/federation_clientset/typed/core/v1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
clientset_generated/federation_clientset/typed/extensions/v1beta1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
clientset_generated/federation_clientset/typed/extensions/v1beta1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
clientset_generated/federation_clientset/typed/federation/v1beta1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
clientset_generated/federation_clientset/typed/federation/v1beta1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
cluster
cmd
fcp
A binary that can morph into all of the other kubernetes binaries.
A binary that can morph into all of the other kubernetes binaries.
federation-apiserver
apiserver is the main api server and master for the cluster.
apiserver is the main api server and master for the cluster.
federation-apiserver/app
Package app does all of the work necessary to create a Kubernetes APIServer by binding together the API, master and APIServer infrastructure.
Package app does all of the work necessary to create a Kubernetes APIServer by binding together the API, master and APIServer infrastructure.
federation-apiserver/app/options
Package options contains flags and options for initializing federation-apiserver.
Package options contains flags and options for initializing federation-apiserver.
User-interface for test-infra/kubetest/e2e.go Equivalent to go get -u k8s.io/test-infra/kubetest && kubetest "${@}"
User-interface for test-infra/kubetest/e2e.go Equivalent to go get -u k8s.io/test-infra/kubetest && kubetest "${@}"
cmd/teststale
teststale checks the staleness of a test binary.
teststale checks the staleness of a test binary.
pkg
dnsprovider
dnsprovider supplies interfaces for dns service providers (e.g.
dnsprovider supplies interfaces for dns service providers (e.g.
dnsprovider/providers/aws/route53
route53 is the implementation of pkg/dnsprovider interface for AWS Route53
route53 is the implementation of pkg/dnsprovider interface for AWS Route53
dnsprovider/providers/aws/route53/stubs
internal implements a stub for the AWS Route53 API, used primarily for unit testing purposes
internal implements a stub for the AWS Route53 API, used primarily for unit testing purposes
dnsprovider/providers/coredns
Package coredns is the implementation of pkg/dnsprovider interface for CoreDNS
Package coredns is the implementation of pkg/dnsprovider interface for CoreDNS
dnsprovider/providers/coredns/stubs
Package stubs implements a stub for the EtcdKeysAPI, used primarily for unit testing purposes
Package stubs implements a stub for the EtcdKeysAPI, used primarily for unit testing purposes
dnsprovider/providers/google/clouddns
clouddns is the implementation of pkg/dnsprovider interface for Google Cloud DNS
clouddns is the implementation of pkg/dnsprovider interface for Google Cloud DNS
federation-controller
Package federation_controller contains code for controllers (like the cluster controller).
Package federation_controller contains code for controllers (like the cluster controller).
federation-controller/cluster
Package cluster contains code for syncing cluster
Package cluster contains code for syncing cluster
federation-controller/util
TODO: consider moving it to a more generic package.
TODO: consider moving it to a more generic package.
federation-controller/util/deletionhelper
Package to help federation controllers to delete federated resources from underlying clusters when the resource is deleted from federation control plane.
Package to help federation controllers to delete federated resources from underlying clusters when the resource is deleted from federation control plane.
federation-controller/util/finalizers
Helper functions for manipulating finalizers.
Helper functions for manipulating finalizers.
generated/openapi
openapi generated definitions
openapi generated definitions
kubefed/init
TODO(madhusdancs): 1.
TODO(madhusdancs): 1.
plugin
pkg/admission/schedulingpolicy
Package schedulingpolicy implements a webhook that queries an external API to obtain scheduling decisions for Federated sources.
Package schedulingpolicy implements a webhook that queries an external API to obtain scheduling decisions for Federated sources.
registry
test
e2e
e2e/upgrades
Package upgrades provides a framework for testing Kubernetes federation features before, during, and after different types of upgrades.
Package upgrades provides a framework for testing Kubernetes federation features before, during, and after different types of upgrades.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL