What’s Inside EKS? A Beginner’s Guide to Its Core Components
EKS (Elastic Kubernetes Service)
EKS is a managed service by AWS that runs Kubernetes for you. It takes care of setting up and managing the Kubernetes control plane so you can focus on running your applications.
Kubernetes
Kubernetes is an open-source system for automating the deployment, scaling, and management of containerized applications.
It helps run apps reliably across a cluster of machines, automatically handling scheduling, scaling, updates, and recovery.
It helps run apps reliably across a cluster of machines, automatically handling scheduling, scaling, updates, and recovery.
Pod
A Pod is the smallest unit in Kubernetes.
It can hold one or more containers that share the same network and storage.
All containers in a pod are scheduled and managed together.
It can hold one or more containers that share the same network and storage.
All containers in a pod are scheduled and managed together.
Container
A Container is a lightweight, standalone package that includes everything an app needs to run — code, runtime, libraries, and dependencies.
It ensures the app runs the same no matter where it’s deployed.
It ensures the app runs the same no matter where it’s deployed.
👀1 pod can have multiple containers but 1 container cannot belongs to multiple pods.
EKS Worker Nodes and the Control Plane
EKS Control Plane (Managed by AWS)
The Control Plane is the brain of the Kubernetes cluster.
It makes decisions like:
• Where to run your apps (pods)
• When to scale up or down
• How to restart failed pods
• Managing cluster state
In EKS, AWS manages the control plane for you:
• No need to install or manage Kubernetes master.
• AWS handles upgrades, availability, and fault tolerance
•It includes components like API server, scheduler, controller manager, and etcd (the database)
Key Components:
1. API Server
• The entry point for all commands and communication
• kubectl, dashboard, and other tools talk to the cluster via the API Server
2. Controller Manager
• Watches the cluster state and makes sure it matches the desired state
• For example: if you say you want 3 pods, but 1 crashed, it tells Kubernetes to create 1 more
3. Scheduler
• Assigns pods to worker nodes based on resource availability and rules
• Decides where each pod should run
4. etcd
• A distributed key-value database
• Stores the entire cluster state (pods, nodes, secrets, configs)
Worker Nodes (Managed by You or AWS)
Worker Nodes are the machines (EC2 instances or Fargate tasks) that actually run your application pods.
Each node includes:
• The Kubelet (agent that talks to the control plane)
• A container runtime (like containerd)
• Your pods and containers
Key Components:
1. Kubelet
• Agent that runs on each node• Talks to the API Server• Makes sure the containers described in a pod are running
2. Kube Proxy
• Handles networking inside the cluster
• Helps expose services and enables pod-to-pod communication
3. Container Runtime
• The actual software that runs your containers
• EKS typically uses containerd (replaces Docker)
In EKS, you can choose:
• Managed Node Groups (AWS manages the lifecycle of EC2 nodes)
• Self-managed nodes (you create and manage EC2 instances manually)
• AWS Fargate (no nodes at all — serverless pods)

Comments
Post a Comment