Last Update: Sep 04, 2024 | Published: Sep 27, 2022
Amazon announced last week the availability of local clusters for Amazon Elastic Kubernetes Service (Amazon EKS) on AWS Outposts. Amazon EKS is a managed Kubernetes service that enables you to use the open-source container orchestration platform on AWS and on-premises data centers. As for AWS Outposts, it’s a family of on-premises fully managed solutions that deliver a hybrid Amazon Web Services infrastructure and services for your business.
Previously, IT pros could use AWS Outposts to deploy Kubernetes cluster nodes and pods to an on-premises infrastructure. This allowed those Kubernetes applications to benefit from low latency on-premises services and data. IT pros could also manage the cluster using the same AWS API, CLI, or AWS console that they would use for managing an AWS cloud-based cluster.
In this scenario, you would first create an Amazon EKS cluster in the AWS cloud. Then, you could deploy the cluster nodes on your local Outpost devices. In this hybrid cluster scenario, the Kubernetes control plane runs in the cloud in the parent region of your Outpost device.
However, existing AWS EKS customers reported that they had trouble managing site disconnects. Site disconnects cannot be controlled, especially in areas with poor or intermittent network connections.
When the on-premises AWS Outpost is temporarily disconnected from the Internet, the Amazon EKS control plane running in the cloud is unable to communicate with the nodes and the pods running on the local Outpost device. Although the nodes and pods will continue to work on a local network, the Kubernetes control plane in the cloud may consider the local disconnected nodes and pods to be unhealthy. Then, it will schedule them for replacement when the network connection is re-established. This can lead to application downtimes.
The new AWS announcement provides the ability to host your entire Amazon EKS cluster on AWS Outposts – the control plane as well as the nodes and pods. In this configuration, both the Kubernetes control plane and its worker nodes run locally on-premises on your Outpost devices. This allows the EKS cluster to continue to operate even if there is a temporary disconnect of your network connections.
Local EKS clusters running on Outposts are identical to Amazon EKS clusters in the cloud. You can use the same tooling you use with Amazon EKS in the cloud and the AWS management console as a single interface for your clusters running on Outposts. You can perform cluster operations such as creating, updating, and scaling applications during network outages. Outposts will automatically deploy the latest security patches to make it easy for you to maintain an up-to-date, secure cluster.
Amazon EKS local clusters cost the same as traditional EKS clusters. They start at $0.10/hour. The EC2 instances required to deploy the Kubernetes control plane and nodes on Outposts are included in the price of the Outposts. For more details, you can refer to the Amazon EKS pricing page. To learn more about how to get started with Outposts, you can also check the Get Started with AWS Outposts page.