Amazon EKS — What is Amazon EKS?
What is Amazon EKS?
Amazon Elastic Kubernetes Service (EKS) is a fully managed Kubernetes service from AWS. It runs the Kubernetes control plane for you — that’s the API server, etcd database, scheduler, and controller manager — so you can focus on deploying and running your applications.
The Problem EKS Solves
Running Kubernetes yourself is hard. Really hard. Here’s what you’d need to manage without EKS:
Self-Managed Kubernetes — Your Responsibility
┌─────────────────────────────────────────────────────┐
│ Control Plane (you manage ALL of this) │
│ ┌──────────┐ ┌──────┐ ┌───────────┐ ┌───────────┐ │
│ │ API │ │ etcd │ │ Scheduler │ │ Controller│ │
│ │ Server │ │ │ │ │ │ Manager │ │
│ └──────────┘ └──────┘ └───────────┘ └───────────┘ │
│ • High availability (multi-master) │
│ • etcd backups and disaster recovery │
│ • Certificate rotation │
│ • Version upgrades (scary!) │
│ • Security patching │
├─────────────────────────────────────────────────────┤
│ Data Plane (you also manage this) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Worker │ │ Worker │ │ Worker │ │
│ │ Node 1 │ │ Node 2 │ │ Node 3 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────┘
With EKS, AWS takes over the control plane:
Amazon EKS — Shared Responsibility
┌─────────────────────────────────────────────────────┐
│ Control Plane (AWS manages this) ☁️ AWS │
│ ┌──────────┐ ┌──────┐ ┌───────────┐ ┌───────────┐ │
│ │ API │ │ etcd │ │ Scheduler │ │ Controller│ │
│ │ Server │ │ (3AZ)│ │ │ │ Manager │ │
│ └──────────┘ └──────┘ └───────────┘ └───────────┘ │
│ ✅ HA across 3 AZs ✅ Auto-patched │
│ ✅ etcd backed up ✅ 99.95% SLA │
├─────────────────────────────────────────────────────┤
│ Data Plane (you manage this) 👤 You │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Worker │ │ Worker │ │ Worker │ │
│ │ Node 1 │ │ Node 2 │ │ Node 3 │ │
│ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────┘
Think of it this way: EKS is like renting an apartment. The landlord (AWS) maintains the building structure, plumbing, and electrical (control plane). You’re responsible for furnishing and maintaining your apartment (data plane — your worker nodes and applications).
Key Features of Amazon EKS
| Feature | Description |
|---|---|
| Managed Control Plane | AWS runs API server, etcd, scheduler across 3 AZs |
| Kubernetes Conformant | Passes CNCF conformance tests — standard K8s APIs work |
| Multiple Node Options | EC2 managed nodes, self-managed nodes, or Fargate (serverless) |
| Native AWS Integration | IAM for auth, VPC for networking, EBS/EFS for storage |
| Add-on Ecosystem | CoreDNS, kube-proxy, VPC CNI, EBS CSI managed as add-ons |
| Version Support | Supports latest K8s versions; extended support available |
How EKS Works — The 30-Second Version
You ──kubectl──▶ EKS API Server ──▶ Scheduler ──▶ Worker Nodes
│ │
│ etcd (state store) │
│ │
└──── ENI (network interface) ──────┘
(connects control plane
to your VPC)
- You run
kubectl apply -f deployment.yaml - The request hits the EKS API server (managed by AWS)
- The scheduler decides which worker node should run your pod
- The kubelet on that worker node pulls the container image and starts it
- The VPC CNI plugin assigns a real VPC IP address to your pod
What EKS Manages vs What You Manage
| Component | Who Manages It? |
|---|---|
| API Server | ☁️ AWS |
| etcd (cluster state) | ☁️ AWS |
| Scheduler | ☁️ AWS |
| Controller Manager | ☁️ AWS |
| Control plane HA & patching | ☁️ AWS |
| Worker nodes (EC2 or Fargate) | 👤 You |
| Application deployments | 👤 You |
| Pod networking (VPC CNI) | 👤 You (with AWS add-on) |
| Storage (EBS/EFS CSI drivers) | 👤 You (with AWS add-on) |
| IAM permissions | 👤 You |
| Kubernetes RBAC | 👤 You |
When Should You Use EKS?
Use EKS when you:
- Already use Kubernetes and want to run it on AWS
- Need multi-cloud portability (Kubernetes is the standard)
- Have a team with Kubernetes expertise
- Need fine-grained control over networking and scheduling
- Run complex microservices architectures
- Need Kubernetes-specific features (CRDs, operators, Helm)
Consider alternatives when you:
- Just need to run containers (consider ECS — simpler)
- Have a single container to run (consider App Runner or Lambda)
- Don’t have Kubernetes expertise and don’t need K8s-specific features
EKS Cluster Versions
EKS supports multiple Kubernetes versions simultaneously. As of 2024:
| K8s Version | EKS Status |
|---|---|
| 1.31 | Standard support |
| 1.30 | Standard support |
| 1.29 | Standard support |
| 1.28 | Standard support |
| 1.27 | Extended support (+$0.60/hr) |
| ≤ 1.26 | End of life |
Pro tip: Always start with the latest stable version. EKS auto-upgrades are not a thing — you must upgrade manually, and it’s easier when you’re not 3 versions behind.
Quick Reference
| Item | Value |
|---|---|
| Service name | Amazon Elastic Kubernetes Service (EKS) |
| Control plane SLA | 99.95% |
| Cluster fee | $0.10/hr ($73/month) |
| Minimum nodes | 0 (Fargate-only cluster) |
| Max pods per node | Depends on instance type (ENI limits) |
| Supported K8s versions | Latest 4 minor versions (standard support) |
| Regions | 25+ AWS regions |
What’s Next?
Now that you understand what EKS is, let’s compare it with self-managed Kubernetes options in Managed vs Self-Managed K8s.