Overview
Amazon EKS (Elastic Kubernetes Service) launches and manages Kubernetes clusters on AWS. Kubernetes is an open-source system for automatic deployment, scaling and management of containerized (usually Docker) applications. It is an alternative to ECS with a similar goal but a very different API. ECS is not open source; Kubernetes is open source and used by many cloud providers, which gives standardization.
EKS supports two launch modes: EC2 (worker nodes) and Fargate (serverless containers). EKS Auto Mode is a third option where AWS also manages nodes, networking, storage and load balancing.
EKS Auto Mode is a third option where AWS manages the nodes, networking, storage and load balancing. The course lists only EC2 and Fargate; the exam may still use the course figure. AWS source
The company already uses Kubernetes on-premises or in another cloud, or wants the Kubernetes API with AWS managing the cluster. Kubernetes is cloud agnostic (Azure, Google Cloud, etc.), so EKS can make migrating containers between clouds simpler.
Architecture
- A VPC with 3 AZs split into public and private subnets.
- EKS worker nodes (e.g. EC2 instances) run EKS Pods. Pods are similar to ECS tasks; the word pods signals Kubernetes.
- Nodes can be managed by an Auto Scaling group.
- A Kubernetes service can be exposed through a private or public load balancer.
EKS architecture
Node Types
| Type | Details |
|---|---|
| Managed Node Groups | AWS creates and manages EC2 nodes, part of an ASG managed by EKS. Supports On-Demand and Spot |
| Self-Managed Nodes | You create nodes and register them to the EKS cluster, managed in your own ASG. More customization and control. Can use the prebuilt Amazon EKS Optimized AMI or build your own (more complicated). Supports On-Demand and Spot |
| Fargate | No maintenance, no nodes managed; just run containers on EKS |
EKS node types
Data Volumes
Specify a StorageClass manifest on the EKS cluster, using a Container Storage Interface (CSI) compliant driver (keywords for the exam). Supported:
- Amazon EBS
- Amazon EFS - the only one that works with Fargate
- Amazon FSx for Lustre
- Amazon FSx for NetApp ONTAP
Hands-On Walkthrough
The instructor notes this is out of the free tier and costs quite a bit; he suggests watching only. EKS "should be its own course".
Create the cluster
- Create a cluster named
demo EKS, default Kubernetes version. - A cluster service role is needed: IAM > Roles > Create role > service EKS > use case EKS cluster. The permission is preselected; the role name was
EKS cluster role(a leading space made the name invalid; remove it). - Optionally encrypt secrets with KMS (skipped).
- Choose the VPC and subnets (for high availability), a security group (e.g. default), IPv4, cluster endpoint access public (to reach it from a computer), default networking add-ons (proxy and DNS), control plane logging skipped. Review and create.
- Next step: provision compute by adding a managed node group or creating a Fargate profile. The Resources tab holds Kubernetes resources (Kubernetes-specific knowledge).
Add a node group
- Compute > Node groups > Add node group, name
demo node group. - Create an IAM role for the EC2 instances: use case EC2, add Amazon EKS worker node policy and Amazon EC2 container registry read only policy; name
Amazon EKS node role. - Launch template left unticked. AMI type Amazon Linux 2023 or Bottlerocket (the course used Amazon Linux 2), On-Demand or Spot, instance type (e.g. T3 medium or micro), disk size, node scaling configuration (ASG settings), node group update tolerance, subnets. Create.
EKS stopped publishing Amazon Linux 2 AMIs on 2025-11-26. Use Amazon Linux 2023 or Bottlerocket. The course used Amazon Linux 2. AWS source
- This deploys EC2 instances for EKS entirely managed by AWS. The other way is a Fargate profile (not created in the demo).
Add-ons
- To use EBS volumes install an add-on such as the Amazon EBS CSI driver. Drivers for EFS and others also exist (the transcript wording here is garbled).
Delete
- Type
demo EKSto delete the cluster. Node groups must be deleted first (skipped in the video).
Questions & Answers
Q1: When choose EKS over ECS?
Answer:
When you already use Kubernetes (on-premises or another cloud), want the Kubernetes API, or want a cloud-agnostic, open-source standard.
Q2: What is a pod?
Answer:
The Kubernetes counterpart of an ECS task, running on EKS nodes.
Q3: Which EKS node types exist?
Answer:
Managed node groups, self-managed nodes, and Fargate.
Q4: Which storage works with EKS on Fargate?
Answer:
EFS only.
Q5: How do you attach volumes to EKS?
Answer:
A StorageClass manifest with a CSI-compliant driver (EBS, EFS, FSx for Lustre, FSx for NetApp ONTAP).
Check yourself
Quiz
Flashcards
Click the card (or focus it), then use ← → to move and Space to flip.