What does this AWS Solutions Implementation do?

This solution helps you experiment with federating Kubernetes clusters with the open-source KubeFed project. It automates the deployment and federation of two Amazon Elastic Kubernetes clusters spanning multiple AWS Regions as well as a pre-configured bastion host and all necessary dependencies and tools.

Benefits

Synchronize your Kubernetes configurations, deployments, and other artifacts between multiple Amazon EKS clusters to test cross Region business continuity using the open-source KubeFed project.
Automate the compensation logic of failover events.
Deploy highly available applications on multiple Amazon EKS clusters in close proximity to end users to reduce latency
Meet the requirements of data sovereignty and locality regulations while maintaining central application deployment and management infrastructure.

AWS Solutions Implementation overview

The diagram below presents the architecture you can deploy using the solution's implementation guide and accompanying AWS CloudFormation template.

Federated Amazon EKS Clusters on AWS | Architecture Diagram
 Click to enlarge

Federated Kubernetes Clusters Using Amazon EKS and KubeFed Solutions Implementation architecture

The AWS CloudFormation template first deploys a bastion host in a new Amazon VPC that provisions the following necessary resources:

  • An Amazon VPC
  • Public and private subnets
  • A NAT gateway
  • An internet gateway
  • Amazon EC2 for the bastion host
 
After successfully deploying the bastion host, the following items are deployed:
  • Two Amazon VPCs for Amazon EKS clusters in your selected AWS Regions
  • Two Amazon EKS clusters in different AWS Regions, each in its own Amazon VPC
  • Amazon VPC peering between three Amazon VPCs for secure communication between the bastion host and the federated Amazon EKS clusters
  • A federation control panel that serves as a proxy between the Kubernetes administrator and the deployed Amazon EKS clusters based on the open source KubeFed project
 
The bastion host is the single point of administration for Amazon EKS, Kubernetes resources, and this solution's deployment and configuration.
 
Note: At the date of this solution’s publication, the current version of KubeFed is not in release state and is only recommended for testing purposes. You must check the status of KubeFed if you plan to use it when implementing this solution.

Federated Kubernetes Clusters Using Amazon EKS and KubeFed

Version 1.0.0
Release date: 01/2021
Author: AWS

Estimated deployment time: 60 min

Source Code  CloudFormation template 
Use the button below to subscribe to updates for this Solutions Implementation.
Note: To subscribe to RSS updates, you must have an RSS plug-in enabled for the browser you are using.
Did this Solutions Implementation help you?
Provide feedback 

Features

Multi-Region deployment

Automate the deployment of Amazon EKS clusters in different AWS Regions, and the federation of Kubernetes resources

High availability

Automate fail over for Amazon EKS clusters between AWS Regions

Simplified deployment

Deploy Kubernetes applications from a single control plane to multiple clusters
blank

Federation

Standardize Kubernetes resouces across separate Amazon EKS clusters
Build icon
Deploy a Solution yourself

Browse our library of AWS Solutions Implementations to get answers to common architectural problems.

Learn more 
Find an APN partner
Find an APN Partner

Find AWS certified consulting and technology partners to help you get started.

Learn more 
Explore icon
Explore Solutions Consulting Offers

Browse our portfolio of Consulting Offers to get AWS-vetted help with solution deployment.

Learn more