Kubernetes interview question · Most asked
Describe the Kubernetes architecture: what runs on the control plane and what runs on the nodes?
Summary
The control plane holds the cluster's desired state and makes decisions: the API server (the only component that talks to etcd), etcd (the key-value store), the scheduler (assigns pods to nodes) and the controller manager (reconciliation loops such as Deployments and nodes); cloud setups add the cloud controller manager. Each worker node runs the kubelet (starts and monitors the node's pods through the container runtime), a container runtime such as containerd, and usually kube-proxy for Service networking.
Longer Answer
Everything goes through the API server: kubectl, controllers, the scheduler and kubelets all read and write objects there, and components watch for changes rather than calling each other directly. That design is what makes Kubernetes declarative: you store desired state, and independent controllers keep moving actual state towards it.
etcd is the only stateful component, so its backups and health are critical. Managed services (EKS, GKE, AKS) run the control plane for you; you still own nodes, add-ons and workloads.
Key Points
- API server is the hub; only it talks to etcd.
- Scheduler, controller manager, cloud controller manager.
- Nodes: kubelet, container runtime, kube-proxy.
- Components watch the API; nothing calls each other directly.
Explanation
What interviewers look for
A clear picture of the API server as the single source of truth and controllers reconciling state.
Follow-up questions
- What happens to running pods if the control plane goes down?
- Why is etcd backup critical?
More most-asked Kubernetes questions
- What happens, step by step, when you run kubectl apply for a Deployment?
- What is the difference between resource requests and limits, and what are the QoS classes?
- How do rolling updates work in a Deployment, and how do you roll back?
- Explain the Service types: ClusterIP, NodePort, LoadBalancer, ExternalName and headless.
- Deployment, StatefulSet, DaemonSet, Job and CronJob: when do you use each?
- How does the scheduler place pods? Explain resource requests, node affinity, taints and tolerations.
- ConfigMaps and Secrets: how do they differ, and how should secrets really be handled?
- Liveness, readiness and startup probes: how do you configure them correctly?