Federated Kubernetes Clusters Using Amazon EKS and KubeFed
- October 11, 2021
Supporting high availability applications that meet 99.9+% SLAs is a challenge all organizations need to address. Cloud’s elasticity coupled with the ability to span Availability Zones ease organizations’ ability to reach greater uptime, fault tolerance, and business continuity. Yet, it has typically been challenging to span across regions for even greater application availability. Until now. Enter the new ability to federate Kubernetes clusters using Amazon EKS and KubeFed.
We’re excited about this new AWS solution as it helps solve a need for high availability applications that benefit from cross-region business continuity. This solution also helps implement applications with data boundary and hybrid requirements. In its readme, AWS calls out hybrid scenarios as an ideal use case for the solution. Saying, “For example, you can build applications that will have a subset of services responsible for private data processing within the country and the rest of the services in other EKS clusters.”
Before we get to why this is so helpful, let’s quickly review the two technologies at play here:
- Amazon EKS is a managed service for running Kubernetes on AWS without the need to install, operate, and maintain your own Kubernetes control plane or nodes. To help ensure high availability, Amazon EKS runs and scales the Kubernetes control plane, scaling these instances based on load. It also detects and replaces unhealthy control plane instances and will automatically update and patch them.
- KubeFed, more formally known as the Kubernetes Cluster Federation, is an open-source solution that enables users to “coordinate the configuration of multiple Kubernetes clusters from a single set of APIs in a hosting cluster.” Currently in beta, KubeFed gives users the means to identify clusters where they want the configuration to be managed and what the configuration should be. KubeFed tools are meant to be foundational for more complex multi-cluster use cases.
Federated Kubernetes clusters
Today Amazon EKS runs the Kubernetes control plane across multiple AWS Availability Zones (AZs) but not across AWS Regions. (Remember that multiple AZs run within a single Region, but that Regions span multiple geographies.) However, this new solution directly addresses this limitation by automating the deployment and federation of two Amazon EKS clusters across multiple AWS Regions as well as all necessary dependencies and tools with the open-source KubeFed project.
Benefits of federated Kubernetes clusters
There are multiple benefits to pairing Amazon EKS with the open-source KubeFed solution, especially for organizations that must meet high availability and business continuity goals. Specifically, federated Kubernetes clusters using Amazon EKS and KubeFed allow users to:
- Avoid outages caused by rare Region-wide issues by synchronizing Kubernetes configurations, deployments, and other artifacts between multiple Amazon EKS clusters in different Regions.
- Reduce end-user latency by deploying multiple Amazon EKS clusters closer to the end users.
- Automate the compensation logic of failover events. This allows users to effectively collect the steps successfully completed before the system failed, helping operators determine which steps to rollback and which to keep returning the system to a desired state.
- Achieve central application deployment and management of infrastructure that grows operator efficiency and effectiveness and helps ensure consistency across the application lifecycle.
- Create multi-region deployments and federation of EKS clusters, giving operators the benefit of having resources that are able to take advantage of federation.
- Simplify deployments with a single control plane for multiple clusters, thereby reducing effort and decreasing risk.
According to a new 2021 Kubernetes Adoption Survey by Portworx, 68% of IT professionals increased their Kubernetes use due to the pandemic and 89% of respondents expect the technology to play a more prominent role in managing infrastructure over the next two to three years. As Kubernetes adoption continues to grow, so will the need for solutions like this that remove technology constraints that help IT achieve specific business objectives.
Interested in learning more about cloud, Kubernetes and AWS solutions that can help you address your business goals? Subscribe below to the Tech Blog today.