Amazon Elastic Kubernetes Service - Overview of Deployment Options on AWS

Amazon Elastic Kubernetes Service

Amazon Elastic Kubernetes Service (Amazon EKS) is a fully-managed, certified Kubernetes conformant service that simplifies the process of building, securing, operating, and maintaining Kubernetes clusters on AWS. Amazon EKS integrates with core AWS services such as CloudWatch, Auto Scaling Groups, and IAM to provide a seamless experience for monitoring, scaling and load balancing your containerized applications.

Amazon EKS also integrates with AWS App Mesh and provides a Kubernetes-native experience to consume service mesh features and bring rich observability, traffic controls and security features to applications. Amazon EKS provides a scalable, highly-available control plane for Kubernetes workloads. When running applications on Amazon EKS, as with Amazon ECS, you can choose to provide the underlying compute power for your containers with EC2 instances or with AWS Fargate.

Table 5: Amazon EKS deployment features

Capability Description
Provision

Amazon EKS provisions certain resources to support containerized applications:

  • Load Balancers, if needed.

  • Compute Resources (“workers”). Amazon EKS supports Windows and Linux.

  • Application Container Instances (“pods”).

Refer to Getting Started with Amazon EKS for more details on Amazon EKS cluster provisioning.

Configure

Amazon EKS supports customization of the compute resources (“workers”) if using EC2 instances to supply compute power. EKS also supports customization of the runtime conditions of the application containers (“pods”).

Refer to Worker Nodes and Fargate Pod Configuration documentation for more details.

Deploy Amazon EKS supports the same deployment strategies as Kubernetes, see Writing a Kubernetes Deployment Spec -> Strategy for more details.
Scale Amazon EKS scales workers with Kubernetes Cluster Autoscaler, and pods with Kubernetes Horizontal Pod Autoscaler and Kubernetes Vertical Pod Autoscaler.
Monitor

The Amazon EKS control plane logs provide audit and diagnostic information directly to CloudWatch Logs. The Amazon EKS control plane also integrates with AWS CloudTrail to record actions taken in Amazon EKS.

Refer to Logging and Monitoring Amazon EKS for more details.

Amazon EKS allows organizations to leverage open source Kubernetes tools and plugins, and can be a good choice for organizations migrating to AWS with existing Kubernetes environments. The following diagram illustrates Amazon EKS being used to manage a general containerized application.

Figure 5: Amazon EKS use case