Walk me through the Kubernetes control-plane components and what each does.
Quick Answer
kube-apiserver is the front door and single source of truth; etcd stores cluster state; kube-scheduler places pods on nodes; kube-controller-manager runs the reconciliation loops; cloud-controller-manager integrates with the cloud provider.
Detailed Answer
The control plane is the brain of the cluster. The kube-apiserver is the only component that talks to etcd and is the hub everything else goes through — all reads/writes, auth, and admission happen here. etcd is a distributed key-value store holding the entire cluster state; it needs an odd-numbered quorum (usually 3 or 5) and is the thing you must back up. The kube-scheduler watches for unscheduled pods and picks a node for each based on resource requests, affinity, taints, and other constraints. The kube-controller-manager bundles the controllers (Deployment, ReplicaSet, Node, Job, endpoints, etc.) that each run a watch-and-reconcile loop driving actual state toward desired state. The cloud-controller-manager isolates cloud-specific logic — provisioning load balancers, attaching volumes, labeling nodes. Worker nodes then run kubelet and kube-proxy to actually execute and network the pods.
Code Example
# On a kubeadm cluster the control plane runs as static pods kubectl -n kube-system get pods -l tier=control-plane # kube-apiserver-*, kube-scheduler-*, kube-controller-manager-*, etcd-*
Interview Tip
Emphasize that the apiserver is the *only* component that touches etcd — everything else watches the apiserver. That single fact explains the whole architecture and is a common follow-up.