Kubernetes runs containers across a cluster of machines.
Control plane components:
- API Server: All communication goes through here
- etcd: Distributed key-value store for cluster state
- Scheduler: Assigns pods to nodes
- Controller Manager: Runs controllers (Deployment, ReplicaSet, etc.)
Worker node components:
- kubelet: Ensures containers are running in pods
- kube-proxy: Network proxy for service communication
- Container runtime: containerd or CRI-O (Docker removed in K8s v)
Interview question: "Walk me through what happens when you run kubectl apply."