Amazon Elastic Container Service for Kubernetes (Amazon EKS) is a managed service that makes it easy for you to run Kubernetes on AWS without needing to install and operate your own Kubernetes clusters. Kubernetes is an open-source system for automating the deployment, scaling, and management of containerized applications. Operating Kubernetes for production applications presents a number of challenges. You need to manage the scaling and availability of your Kubernetes masters and persistence layer by ensuring that you have chosen appropriate instance types, running them across multiple Availability Zones, monitoring their health, and replacing unhealthy nodes. You need to patch and upgrade your masters and worker nodes to ensure that you are running the latest version of Kubernetes. This all requires expertise and a lot of manual work. With Amazon EKS, upgrades and high availability are managed for you by AWS. Amazon EKS runs three Kubernetes masters across three Availability Zones in order to ensure high availability. Amazon EKS automatically detects and replaces unhealthy masters, and it provides automated version upgrades and patching for the masters.
Amazon EKS is also integrated with many AWS services to provide scalability and security for your applications, including Elastic Load Balancing for load distribution, IAM for authentication, Amazon VPC for isolation, AWS PrivateLink for private network access, and AWS CloudTrail for logging. Amazon EKS runs the latest version of the open-source Kubernetes software, so you can use all the existing plugins and tooling from the Kubernetes community. Applications running on Amazon EKS are fully compatible with applications running on any standard Kubernetes environment, whether running in on-premises datacenters or public clouds. This means that you can easily migrate any standard Kubernetes application to Amazon EKS without any code modification required.
Amazon EKS is in Preview. Visit here to sign up.
Fully Managed and Highly Available
Amazon EKS eliminates the need to install, manage, and scale your own Kubernetes clusters. Kubernetes is composed of two components: workers and masters. Workers are the servers on which containers run, and masters control the cluster of workers and schedules and places containers on specific servers. Amazon EKS makes it easy to run highly available Kubernetes clusters by automatically running and managing three Kubernetes masters distributed across three Availability Zones (AZ) for each cluster. The multi-AZ architecture managed by Amazon EKS delivers resiliency against the loss of an AWS Availability Zone. Amazon EKS also automatically detects and replaces unhealthy masters, and it provides automated version upgrades and patching for the masters.
Amazon EKS makes it easy to secure your Kubernetes clusters. You get the most advanced security features for your Kubernetes environment of any managed cloud service. Your workers are launched on your own Amazon EC2 instances, and no compute resources are shared with other customers. To manage your Kubernetes clusters using standard Kubernetes tools, such as kubectl CLI for managing Kubernetes, you need to be able to connect to your Kubernetes masters. You can do this in two ways: AWS Identity and Access Management (IAM) authenticated public endpoints or through PrivateLink.
Amazon EKS integrates IAM with Kubernetes enabling you to register IAM entities with the native authentication system in Kubernetes. There is no need to manually set up credentials for authenticating with the Kubernetes masters. This allows you to use IAM to directly authenticate with the master itself as well as granularly control access to the public endpoint of your Kubernetes masters.
You can also use PrivateLink if you want to access your Kubernetes masters directly from your own Amazon VPC. With PrivateLink, your Kubernetes masters and the Amazon EKS service endpoint appear as an elastic network interface with private IP addresses in your Amazon VPC. This allows you to access the Kubernetes masters and the Amazon EKS service directly from within your own Amazon VPC, without using public IP addresses or requiring the traffic to traverse the internet.
Fully Compatible with Kubernetes Community Tools
Amazon EKS runs the latest version of the open-source Kubernetes software, so all the existing features, plugins, and applications are supported. Applications that are running in your existing Kubernetes environment are fully compatible, and you can seamlessly move them to your Amazon EKS cluster.
How it works
Popular use cases for Kubernetes
Amazon EKS helps you run microservices applications with integrations to AWS services, while providing access to the full suite of Kubernetes functionality and popular open source tooling.
Hybrid Container Deployments
Amazon EKS makes it easy to run highly available and scalable Kubernetes clusters on AWS while maintaining compatibility with Kubernetes deployments running on-premises.
Amazon EKS lets you run batch workloads using the Kubernetes Jobs API to run sequential or parallel workloads on your managed Amazon EKS Kubernetes cluster. These workloads can be run on Amazon EC2 On-Demand Instances, Reserved Instances, or Spot Instances.
Application Migration to the Cloud
Legacy enterprise applications can be containerized and easily migrated to Amazon EKS without requiring code changes.