In a Kubernetes cluster, several control plane components need to read and update cluster state, yet only one of them communicates directly with the datastore while every other component and every kubectl request is routed through it. Which component fills this central role as the front end of the control plane?
- Akube-scheduler, which places Pods onto nodes and therefore mediates every change made to cluster state.
- Bkube-controller-manager, which runs the reconciliation loops and so owns direct access to the datastore.
- Cetcd, which stores cluster data and serves it straight to kubectl and to each node's kubelet.
- Dkube-apiserver, which exposes the Kubernetes API and is the only component that reads from and writes to etcd. Correct
Why A is wrong: Tempting because the scheduler is a genuine control plane component that changes state by binding Pods, but it is narrowly scoped to placement and reads and writes state through the API server rather than being the front end itself.
Why B is wrong: Tempting because controllers constantly drive state changes, but they observe and update objects through the API server and never open a connection to etcd directly.
Why C is wrong: Tempting because etcd does hold the data, but it is the passive backing store, not a front end, and clients such as kubectl and the kubelet never query it directly.
Why D is correct: Correct because the API server is the front end of the control plane: all clients and components talk to it, and it alone persists and retrieves objects from etcd, making it the single hub for cluster state.