What Is EKS?

EKS (Elastic Kubernetes Service) is AWS's managed Kubernetes service. It runs Kubernetes clusters on AWS without you having to set up or manage the Kubernetes control plane.

Use EKS over ECS when: your company already uses Kubernetes and wants to migrate to AWS without relearning tooling.


Key Terminology

EKS Term ECS Equivalent What It Is
Pod Task Smallest unit — one or more containers running together
Node EC2 Instance The server that runs your pods
Node Group EC2 Launch Type A group of EC2 instances managed by an ASG
Fargate Profile Fargate Launch Type Serverless — no nodes at all

Architecture

AWS Cloud (VPC)
    |
    |-- AZ 1 (Public subnet: ELB, NGW | Private subnet: EKS Node --> Pods)
    |-- AZ 2 (Public subnet: ELB, NGW | Private subnet: EKS Node --> Pods)
    |-- AZ 3 (Public subnet: ELB, NGW | Private subnet: EKS Node --> Pods)
                              |
                     Auto Scaling Group
                (manages adding/removing nodes)

image.png


Node Types

Managed Node Groups Self-Managed Nodes Fargate
Who manages EC2 AWS You No EC2 at all
Control Medium Full None needed
Maintenance Low High Zero
Spot instances Yes Yes No

Data Volumes (Storage)

To attach storage to EKS pods, you define a StorageClass manifest. EKS uses a CSI (Container Storage Interface) driver to connect.

Storage Use Case
Amazon EBS Block storage, one pod at a time
Amazon EFS Shared file storage, works with Fargate too
Amazon FSx for Lustre High performance computing
Amazon FSx for NetApp ONTAP Enterprise NAS workloads

ECS vs EKS — When to Use Which