ENES

Amazon EKS

Kubernetes with the hard part, the control plane, run by AWS.

A control plane box run by AWS on top, three worker nodes with pods below, and kubectl talking to the control plane

Amazon EKS (Elastic Kubernetes Service) is managed Kubernetes on AWS. Kubernetes has two halves: the control plane (the brain: the API server, the scheduler and the etcd database that stores the state of the cluster) and the worker nodes (the machines where your containers actually run). EKS runs the control plane for you, spread across several Availability Zones, patched and backed up, and exposes the standard Kubernetes API so your usual tools (kubectl, Helm, GitOps pipelines) work unchanged.

For the nodes you choose: managed node groups of Amazon EC2 instances that EKS creates and upgrades, Fargate so pods run with no node to manage at all, or the Karpenter autoscaler that launches the right-sized instance on demand. EKS also wires Kubernetes into AWS: a pod can carry an IAM role, a Kubernetes Service of type LoadBalancer becomes a real AWS Load balancer, and a persistent volume becomes an Amazon EBS disk.

Why pick it over Amazon ECS and Fargate? Portability and ecosystem. A team that already runs Kubernetes elsewhere, or depends on its tools (operators, service meshes, Argo CD), brings its manifests to EKS almost as they are. The price is complexity: Kubernetes has many moving parts, and version upgrades still need planning on your side.

Example: a company with 40 microservices runs them on one EKS cluster with three node groups (general purpose, memory-heavy, and GPU for model inference), one Helm chart per service, and Argo CD deploying every merge to main.

Keep in mind

Go deeper

Related terms

More in AWS