
Amazon EKS
AWS runs the Kubernetes control plane for you; you choose how much of the worker side to hand over too.
- What it is
- Container orchestration
- Part of
- Managed Kubernetes
- Type
- Managed service on AWS
- Made by
- Amazon Web Services
- License
- Proprietary
- Facts checked
- 6 October 2026
What it is
Amazon Elastic Kubernetes Service (EKS) runs upstream, certified-conformant Kubernetes. When you create a cluster, AWS starts its control plane in an account it owns: at least two API server instances and three etcd instances spread over three Availability Zones, replaced automatically if one fails. You get an API endpoint and pay a flat fee per cluster. The worker nodes live in your own VPC, and the VPC CNI plugin gives every Pod a real private IP address from that VPC, so Pods talk to other AWS resources without an overlay network.
What varies is who runs the nodes. With self-managed nodes you launch and patch EC2 instances yourself. Managed node groups wrap an EC2 Auto Scaling group that EKS creates, updates and drains for you. Fargate runs each Pod in its own isolated compute boundary with no node to see at all. EKS Auto Mode (December 2024) goes furthest: AWS picks and launches instances with Karpenter, runs core add-ons such as networking, storage and load balancing, and replaces every node at least every 21 days. Karpenter on its own sits in between: you install it, and it launches right-sized EC2 instances for Pods that are waiting.
Why teams pick it
- No etcd or API servers to run, back up or upgrade: AWS spreads them over three Availability Zones
- Pods get VPC IP addresses and per-Pod IAM roles, so security groups, load balancers and IAM policies work as they do for EC2
- A range of node options in one cluster: self-managed, managed node groups, Fargate, Auto Mode, and on-premises hybrid nodes
- Same upstream Kubernetes as everywhere else; EKS Distro publishes the exact builds EKS uses
Watch out for
- The $0.10 per hour cluster fee (about $73 a month) is paid before any workload runs, and rises to $0.60 per hour once a version leaves standard support
- A Kubernetes version gets 14 months of standard support; stay longer and you pay extended support, and after 26 months EKS upgrades the control plane for you
- Fargate Pods can’t run DaemonSets, privileged containers or GPUs, and can’t mount EBS volumes
- Auto Mode adds a per-instance management fee on top of the EC2 price, and its nodes can’t be reached by SSH or use custom AMIs
More of the Kubernetes family
What all container orchestration have in common →
MicroK8sOpen sourceDistributionsCanonical’s Kubernetes in one snap package: installs with one command on Linux, forms a highly available cluster by itself at three nodes, and adds features as addons.
RKE2Open sourceDistributionsSUSE’s security-focused Kubernetes distribution: one binary per node, hardened defaults, FIPS-validated crypto and close alignment with upstream.
Talos LinuxOpen sourceDistributionsA Linux distribution that only runs Kubernetes: immutable, minimal, with no shell or SSH, and managed entirely through an API.
kindOpen sourceFor local developmentKubernetes IN Docker: each cluster node is a container, so a conformant multi-node cluster starts and disappears inside a CI job.
minikubeOpen sourceFor local developmentA local Kubernetes cluster for developers on Linux, macOS or Windows, in a container, a VM or on the host itself, with laptop-friendly extras.
AgonesOpen sourceBuilt on itRuns dedicated multiplayer game servers on Kubernetes: keeps a fleet of them warm, hands one to each match, and never kills a server while players are on it.
KlutchOpen sourceBuilt on itA young open-source control plane, built on Crossplane, that lets many application clusters order databases from one central Kubernetes cluster.How it fits with other technologies
What Amazon EKS uses
- Amazon EKSruns a certified, upstream build ofKubernetes
- Amazon EKSruns worker nodes as instances onAmazon EC2
- Amazon EKScan run each Pod without nodes onAWS Fargate
- Amazon EKSlaunches nodes in Auto Mode withKarpenter
- Amazon EKSgives every Pod an IP address inAmazon VPC
- Amazon EKSmaps cluster access and Pod roles toAWS IAM
- Amazon EKSexposes Ingress traffic throughAWS Application Load Balancer
- Amazon EKSbacks persistent volumes withAmazon EBS
- Amazon EKScan mount shared volumes fromAmazon EFS
An eksctl config for a cluster where AWS also runs the nodes (Auto Mode) · yaml
# eksctl create cluster -f auto-mode-cluster.yaml
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: demo
region: us-west-2
autoModeConfig:
enabled: true # EKS launches, scales and patches the nodesWhat a cluster costs (checked 2026-10-06)#
The per-cluster fee pays for the control plane only. Nodes, EBS volumes, load balancers, public IPv4 addresses and cross-zone traffic are billed separately at their normal prices.
| Price | Notes | |
|---|---|---|
| Standard version support | $0.10 per cluster per hour | First 14 months after a Kubernetes version reaches EKS |
| Extended version support | $0.60 per cluster per hour | The next 12 months; $0.10 plus $0.50 |
| Provisioned Control Plane | $1.65 (XL) to $13.90 (8XL) per hour | Optional pre-sized control plane, on top of the fee above |
| EKS Auto Mode | Per-instance fee, billed per second | Added to the EC2 price of each node Auto Mode launches |
| Fargate | Per vCPU and GB per second | From image pull until the Pod ends; one-minute minimum |
| Hybrid nodes | $0.020 per vCPU per hour | First 576,000 vCPU-hours a month, cheaper after |
- US list prices from the Amazon EKS pricing page, checked on 2026-10-06.
See it in a real stack
No architecture uses Amazon EKS yet. Drop it into the playground and wire it up yourself.Open playground →Worth exploring
kubectl apply a Function manifest that points at code in S3. It explains why you might (one GitOps and RBAC model for pods and functions) but, being AWS’s own post, not the drawbacks.aws-auth ConfigMap, and it routes application traffic through the cluster’s control plane.lambci/docker-lambda images (since deprecated in favour of AWS’s official Lambda base images) and to Knative; read it mainly for the question, which is a common one, rather than for current tooling.Where it came from2017–2024
By 2017, many AWS customers were already running Kubernetes on EC2 themselves; AWS quoted a CNCF figure that 63% of Kubernetes workloads ran on AWS. Doing it well meant running at least three Kubernetes masters in different Availability Zones, wiring them to share state and fail over, and then patching and upgrading them and the workers. Customers asked AWS to make that easier, and a month earlier Microsoft had announced its own managed service, AKS.
AWS announced Amazon Elastic Container Service for Kubernetes as a preview at re:Invent on November 29, 2017, promising upstream Kubernetes with a multi-zone control plane. It became generally available on June 5, 2018, at $0.20 per cluster per hour, with worker nodes you launched and managed yourself. Over the next few years AWS took over more of the data plane: managed node groups in November 2019, Fargate for EKS Pods in December 2019, the open-source Karpenter autoscaler in 2021, and EKS Auto Mode in December 2024, which manages the nodes too.
In January 2020 AWS halved the cluster fee to $0.10 per hour. In 2023 it added extended support so that clusters could stay on an old Kubernetes version for an extra year, priced at $0.60 per hour from April 2024. AWS also took EKS outside its cloud: EKS Distro (December 2020) publishes the Kubernetes builds EKS uses, and EKS Anywhere (September 2021) runs clusters on VMware vSphere, bare metal and other on-premises hardware.
Why it’s built this way
- Run upstream Kubernetes, not a fork
- AWS said customers wanted to use existing Kubernetes plugins and tools unchanged. EKS is certified conformant, so workloads move between EKS and other clusters without changes.
- A control plane spread over three Availability Zones
- A cluster whose API server or etcd fails can’t schedule or heal anything. Spreading them over three zones lets a cluster survive the loss of one.
- Pod IP addresses straight from the VPC
- The VPC CNI plugin attaches network interfaces to each node and gives Pods VPC addresses, so security groups, routing and load balancers treat a Pod like any other machine in the network, with no overlay network in between.
- Hand over the nodes one step at a time
- At launch you ran your own worker nodes. Managed node groups, Fargate, Karpenter and then Auto Mode each took more of that work away, while self-managed nodes stayed available for teams that need full control.
Timeline
- 2017
Announced as a preview at re:Invent, November 29
- 2018
Generally available on June 5, at $0.20 per cluster per hour
- 2019
Managed node groups in November; Fargate support in December
- 2020
Cluster fee halved to $0.10 per hour; EKS Distro released
- 2021
EKS Anywhere generally available; Karpenter ready for production
- 2024
Extended support billing starts in April; EKS Auto Mode launches in December
- AWS News Blog: Amazon Elastic Container Service for Kubernetes (Nov 2017)
- Azure Blog: Introducing AKS, managed Kubernetes (Oct 2017)
- AWS News Blog: Amazon EKS, now generally available (Jun 2018)
- AWS What’s New: Amazon EKS adds managed node groups (Nov 2019)
- AWS News Blog: Amazon EKS on AWS Fargate now generally available (Dec 2019)
- AWS What’s New: Amazon EKS announces a 50% price reduction (Jan 2020)
- AWS Open Source Blog: Introducing Amazon EKS Distro (Dec 2020)
- AWS News Blog: Amazon EKS Anywhere now generally available (Sep 2021)
- AWS News Blog: Introducing Karpenter (Nov 2021)
- AWS Containers Blog: Amazon EKS extended support for Kubernetes versions pricing (Jan 2024)
- AWS News Blog: Amazon EKS Auto Mode (Dec 2024)
- Amazon EKS docs: Assign IPs to Pods with the Amazon VPC CNI
Sources17 · facts checked 6 October 2026
- Amazon EKS pricing (checked 2026-10-06)
- Amazon EKS docs: What is Amazon EKS?
- Amazon EKS docs: Amazon EKS architecture (API servers and etcd over three zones)
- Amazon EKS docs: Manage compute resources by using nodes (compute options compared)
- Amazon EKS docs: Managed node groups
- Amazon EKS docs: AWS Fargate (isolation and limits)
- Amazon EKS docs: EKS Auto Mode (Karpenter, Bottlerocket, 21-day node lifetime)
- Amazon EKS docs: Kubernetes version lifecycle (14 months standard, 12 extended)
- Amazon EKS docs: Provisioned Control Plane
- Amazon EKS docs: Assign IPs to Pods with the Amazon VPC CNI
- Amazon EKS docs: EKS Pod Identity (IAM roles for service accounts)
- Amazon EKS docs: Route HTTP traffic with Application Load Balancers
- Amazon EKS docs: Amazon EBS CSI driver
- Amazon EKS docs: Amazon EFS CSI driver
- eksctl docs: EKS Auto Mode
- EKS Anywhere docs: Overview
- AWS Open Source Blog: Introducing Amazon EKS Distro (Dec 2020)