Cloud Parts

Amazon EKS

AWS runs the Kubernetes control plane for you; you choose how much of the worker side to hand over too.

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 →
Azure Kubernetes ServiceAzureManaged servicesMicrosoft’s managed Kubernetes: a control plane that can be free, node pools of Azure VMs, and an Automatic mode that runs the nodes too.Google Kubernetes EngineGoogle CloudManaged servicesGoogle’s managed Kubernetes, the oldest one: Google runs the control plane, and in Autopilot mode the nodes too.K3sOpen sourceDistributionsA certified Kubernetes distribution in one small binary, built for edge, IoT and other places where a full cluster is too heavy, with SQLite or embedded etcd for state.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.Red Hat OpenShiftCommercialDistributionsRed Hat’s Kubernetes platform: Kubernetes plus its own OS, operators that install and upgrade everything, and stricter security defaults, sold by subscription.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.kubeadmOpen sourceToolsThe official tool for turning Linux machines you already have into a Kubernetes cluster: `kubeadm init`, then `kubeadm join`.RancherOpen sourceToolsSUSE’s open-source control plane for fleets of Kubernetes clusters: one place to create, import, secure and upgrade them.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

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 nodes

What 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.

PriceNotes
Standard version support$0.10 per cluster per hourFirst 14 months after a Kubernetes version reaches EKS
Extended version support$0.60 per cluster per hourThe next 12 months; $0.10 plus $0.50
Provisioned Control Plane$1.65 (XL) to $13.90 (8XL) per hourOptional pre-sized control plane, on top of the fee above
EKS Auto ModePer-instance fee, billed per secondAdded to the EC2 price of each node Auto Mode launches
FargatePer vCPU and GB per secondFrom image pull until the Pod ends; one-minute minimum
Hybrid nodes$0.020 per vCPU per hourFirst 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

Article· August 2025lambda to eks pod migrationAWS re:Post community questionA short Q&A on what replaces Lambda’s built-in triggers, SQS polling and scaling when functions move to EKS pods. The useful answer points to KEDA (with Karpenter) for scaling pods on queue depth; the longer answer is an unreviewed AI-generated checklist from AWS’s own assistant, so treat it as a starting list, not guidance.
Article· August 2023Using Kubernetes with AWS Lambda: Scaling Up Your Serverless ApplicationsRohit Ghumare, LumigoA vendor blog post whose concrete part is a walkthrough of creating a Lambda function from an EKS cluster with the AWS Controllers for Kubernetes (ACK) Lambda controller, closely following AWS’s own 2022 tutorial. The benefits section is vague and blurs what Kubernetes and Lambda each do, and the post ends with a pitch for Lumigo’s observability product.
Article· March 2023The Great Lambda Migration to Kubernetes Jobs: a Journey in Three PartsLiav Yona, InfoQA first-person account of how Firefly moved event-driven work off Lambda (after hitting the 15-minute timeout), briefly onto ECS, and finally onto Kubernetes Jobs on EKS, with practical notes on reusing container images, swapping an IAM trust policy for EKS OIDC, moving environment variables into ConfigMaps and a blue/green cutover. It is one company’s story with few numbers, and the author’s employer sells infrastructure-as-code tooling, which colours the emphasis on IaC.
Article· August 2022Deploying AWS Lambda functions using AWS Controllers for Kubernetes (ACK)Rajdeep Saha, AWS Compute BlogAWS’s step-by-step tutorial for managing Lambda functions as Kubernetes custom resources: install the ACK Lambda controller in EKS, give it IAM permissions through IRSA, then 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.
Article· May 2021Spice up Your Kubernetes Environment with AWS LambdaLiav Yona, MediumShows how a Lambda function triggered by SQS or SNS can forward events to an internal (ClusterIP) service in EKS through the Kubernetes API server’s service proxy, using IAM-to-RBAC mapping instead of exposing an endpoint, with code on GitHub. A clever pattern, but written for 2021-era EKS: it maps the IAM role through the aws-auth ConfigMap, and it routes application traffic through the cluster’s control plane.
Article· October 2020Is there a way to containerized a normal AWS Lambda function?Stack Overflow question by Sivvie LimA newcomer asks how to move an SNS-triggered Lambda function into a container on EKS. The answers, from October 2020, point to the 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.
ArticleUsing Lambda with KubernetesAWS Lambda Developer GuideAWS’s short docs page on managing Lambda functions through the Kubernetes API, with either AWS Controllers for Kubernetes (ACK) or Crossplane, and the use cases for each (reusing RBAC and IAM roles for service accounts, GitOps, tag policies). It covers provisioning only: the functions still run on Lambda, not in your cluster.
All resources →
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

  1. 2017

    Announced as a preview at re:Invent, November 29

  2. 2018

    Generally available on June 5, at $0.20 per cluster per hour

  3. 2019

    Managed node groups in November; Fargate support in December

  4. 2020

    Cluster fee halved to $0.10 per hour; EKS Distro released

  5. 2021

    EKS Anywhere generally available; Karpenter ready for production

  6. 2024

    Extended support billing starts in April; EKS Auto Mode launches in December

Sources17 · facts checked 6 October 2026

Improve this page on GitHub