Amazon Elastic Kubernetes Service (AWS EKS)

Amazon EKS makes it easy to provision and manage the compute capacity for your cluster with a single command. EKS manages worker nodes for your cluster using latest EKS-optimized AMIs in your AWS account while node updates and terminations gracefully drain nodes to ensure your applications stay available.

Amazon EKS runs the Kubernetes management infrastructure across multiple AWS Availability Zones, thereby freeing users from maintaining Kubernetes control plane. Applications managed by Amazon EKS are fully compatible with applications managed by any standard Kubernetes environment.

Applications running on Amazon EKS are fully compatible with applications running on any standard Kubernetes environment, whether running in on-premises data centers or public clouds. This means that you can easily migrate any standard Kubernetes application to Amazon EKS without any code modification required.

Amazon EKS makes it easy to provide security for your Kubernetes clusters, with advanced features and integrations to AWS services and technology partner solutions. For example, IAM provides fine-grained access control and Amazon VPC isolates your Kubernetes clusters from other customers.

Amazon EKS provides an optimized Amazon Machine Image (AMI) that includes configured NVIDIA drivers for GPU-enabled P2 and P3 EC2 instances. This makes it easy to use Amazon EKS to run computationally advanced workloads, including machine learning (ML), Kubeflow, deep learning (DL) containers, high performance computing (HPC), financial analytics, and video transcoding.

Running on Amazon EKS enables Kubernetes to provide even greater benefits in terms of managing, deploying, and scaling containerized applications. EKS offers vast amounts of flexibility and a rich ecosystem as well as represents the best way to run containers on Amazon Web Services (AWS).

With Amazon EKS there’s no need to install, operate, or maintain your own Kubernetes control plane. Instead, you can manage the applications running on your cluster or adjust individual resources using the Kubernetes Dashboard. EKS is a certified Kubernetes conformant, making it easy to run tooling and plugins developed by the Kubernetes open-source community.

Coverage of AWS EKS from people who know some of the other managed Kubernetes possibilities say it's easy to switch to the service because Amazon kept most of the standard workflows and experiences associated with Kubernetes. That means people who know Kubernetes should not expect a steep learning curve when getting acquainted with EKS.

Another positive thing about using EKS is that AWS offers a managed update approach. That means there is no need to manually update clusters to the latest Kubernetes versions. Plus, the updates occur on apps in place, eliminating the need to move them to a new cluster before updating.

EKS gives you a lot of flexibility in terms of layout. You can deploy one EKS (read ‘Kubernetes’) cluster per environment, system or application. You can also use a single Amazon EKS cluster to run multiple applications by taking advantage of Kubernetes namespaces and IAM security policies.

Secure and encrypted communication channels are automatically setup between your worker nodes and the managed control plane, making your infrastructure running on Amazon EKS secure by default.

While the service itself is quite simple from an operator perspective, understanding how it interconnects with other pieces of the AWS service universe and how to configure local Kubernetes clients to manage clusters can be helpful.

AWS is a premiere solution for running cloud native apps, but setting up Kubernetes to run on it can be complex. Despite this, there are many reasons to run Kubernetes on AWS. One of the most appealing reasons is to take advantage of the vast number of services that are available.

Run highly available and scalable Kubernetes clusters on AWS while maintaining full compatibility with your Kubernetes deployments running anywhere else.