This page provides an overview of cluster federation in Kubernetes, and how to use it with Kubernetes Engine. You must manually install cluster federation on Kubernetes Engine.
Kubernetes cluster federation enables users to federate multiple clusters across different regions, cloud providers, or on-premises installations into a single, logical compute federation. This simplifies the deployment of highly available, geographically-distributed services and hybrid cloud scenarios.
You can create federated versions of Kubernetes resources, such as Services, with a single API call. The Kubernetes cluster federation system automatically deploys the resource across multiple clusters in the federation, monitors the health of federated resources, and automatically manages DNS records to ensure that clients are always directed to the closest healthy shards of the federated service.
When to use cluster federation
Cluster federation is useful when you want to deploy resources across more than one cluster, region, or cloud provider. You might want to do this for higher availability, greater geographic coverage for your app, using more than one cloud provider, combining cloud provider and on-premises solutions, or for ultra-high scalability.
Cluster federation is also helpful when you want resources to be contactable in a consistent manner from both inside and outside their clusters without incurring unnecessary latency or bandwidth cost penalties or being susceptible to individual cluster outages.
Using cluster federation
To learn how to configure cluster federation, refer to Set up Cluster Federation with Kubefed in the Kubernetes documentation.