If you’ve ever stared at a Kubernetes diagram and felt your eyes glaze over, you’re not alone. Let’s break it down simply.
The Two Big Pieces: Control Plane & Worker Nodes
Kubernetes splits its responsibilities cleanly into two halves.
The Control Plane (the master) is the brain of the cluster. It’s made up of four key components:
- API Server — every request goes through here, no exceptions
- etcd — a key-value store that holds all cluster state and data
- Scheduler — decides which node a new Pod should run on
- Controller Manager — constantly watches the cluster and reconciles the actual state with the desired state (think Replica, Node, and Job controllers)
The Worker Nodes (minions) are where your actual workloads run. Each node runs:
- kubelet — the agent that communicates with the Control Plane and manages containers on the node
- kube-proxy — handles networking, services, and iptables rules
- Container Runtime — the engine that actually runs containers (containerd, CRI-O)
- Pods — one or more containers grouped together as the smallest deployable unit
What Happens When You Run kubectl apply?
Here’s the request flow in order:
kubectlsends the request to the API Server- API Server writes the desired state to etcd
- The Scheduler picks a node for the new Pod
- Kubelet on that node starts the Pod
- The Container Runtime pulls the image and runs the app
- Kube-proxy wires up the network traffic
Six steps from CLI command to running container.
Core Objects Worth Knowing
| Object | What it does |
|---|---|
| Pod | Smallest unit — wraps one or more containers |
| ReplicaSet | Ensures a desired number of Pod replicas are running |
| Deployment | Manages rollouts and rollbacks |
| Service | Exposes Pods (ClusterIP, NodePort, LoadBalancer) |
| Ingress | Routes external HTTP/HTTPS traffic |
| ConfigMap | Stores non-sensitive config data |
| Secret | Stores passwords, tokens, and keys |
Key Takeaways
- K8s is self-healing — if a Pod dies, it gets restarted automatically
- It manages desired state — you declare what you want, K8s figures out how to get there
etcdis the heart of the cluster — lose it, lose everything (back it up!)- With Deployments, rolling updates and rollbacks are first-class citizens
Kubernetes has a reputation for complexity, but its architecture is actually quite logical once you see how the pieces connect. The Control Plane thinks, the Worker Nodes do — and etcd remembers everything in between.