Lesson 1: Kubernetes Architecture & Scaling
🧠 The Concept (Explain Like I'm 5)
Kubernetes is a restaurant.
* The API Server (Maitre D'): Takes your order (kubectl apply).
* etcd (The Order Pad): The database where the order is written down.
* The Scheduler (The Manager): Decides which chef (Worker Node) has the capacity to cook your dish (Pod).
* The Kubelet (The Chef): Actually cooks the dish (starts the Docker container) and tells the Manager when it's done.
🏢 The Enterprise Context
- Control Plane vs Data Plane: In AWS EKS, AWS manages the Control Plane (the API server and etcd) for a flat fee. You are responsible for managing the Data Plane (the Worker Nodes/EC2 instances).
- Ingress: How internet traffic routes into the cluster to hit your services (like an Nginx Ingress Controller or AWS ALB Controller).
🗺️ Visual Architecture: EKS Cluster
flowchart TD
subgraph ControlPlane ["Managed Control Plane (AWS)"]
API["API Server"]
etcd[("etcd Database")]
Scheduler["Scheduler"]
API <--> etcd
API <--> Scheduler
end
subgraph DataPlane ["Data Plane (Your VPC)"]
Kubelet["Kubelet"]
Pod1["App Pod"]
Pod2["App Pod"]
Kubelet --> Pod1
Kubelet --> Pod2
end
API <-->|TLS| Kubelet