☸️ What Are EKS Add-ons? (Simple Explanation)
What Are EKS Add-ons? (Simple Explanation)
When we create an EKS (Elastic Kubernetes Service) cluster, AWS automatically installs or expects some add-ons.
These add-ons are important because Kubernetes alone does not know how to:
- connect to AWS network
- resolve DNS
- route traffic
So AWS gives us these components to make the cluster work properly.
Core EKS Add-ons
1. VPC CNI (Networking)
Full name: Amazon VPC CNI
What it does:
It assigns an IP address to each Pod from the VPC subnet.
Why it is important:
Pods behave like real AWS resources inside your VPC.
Example:
A Pod may get an IP like 10.0.1.25.
2. CoreDNS (DNS inside cluster)
What it does:
It converts a service name into an IP address.
my-service.default.svc.cluster.local
It also forwards external DNS requests to the VPC DNS resolver.
3. kube-proxy (Service routing)
What it does:
It routes traffic from a Service to the correct Pod.
How it works:
Uses iptables or IPVS.
Example:
You hit a Service IP → traffic goes to correct Pod.
4. EBS CSI Driver (Storage)
What it does:
Allows Pods to use AWS EBS volumes.
- Databases
- Stateful apps
5. EFS CSI Driver (Shared storage)
What it does:
Allows multiple Pods to share the same storage.
Backed by: AWS EFS
6. AWS Load Balancer Controller
What it does:
Converts Kubernetes Ingress into AWS ALB/NLB.
Used for:
Exposing applications publicly or internally.
Easy Way to Remember
| Add-on | Purpose |
|---|---|
| VPC CNI | Networking (Pod IP) |
| CoreDNS | DNS |
| kube-proxy | Routing |
| CSI Drivers | Storage |
| AWS Load Balancer Controller | External traffic |
Important Note
By default, Pods can communicate freely inside the cluster.
To restrict traffic, you must use Network Policies.
Final Thought
EKS manages Kubernetes for you, but these add-ons are what actually make it work inside AWS.
Without them, your cluster will not function properly.