Kubernetes and Cloud Native Associate (KCNA)Kubernetes FundamentalsMedium
A cluster operator is observing high CPU utilization on the Kubernetes control plane. Upon investigation, they find that `kube-apiserver` is under significant load. Which of the following components is primarily responsible for exposing the Kubernetes API and is the front-end for the control plane?
- Aetcd
- Bkube-scheduler
- Ckube-apiserver
- Dkube-controller-manager
Show answer & explanationAnswer & explanation
Correct answer: C. kube-apiserver
The `kube-apiserver` is the central component of the Kubernetes control plane. It exposes the Kubernetes API, which is the interface for all communication within the cluster, including commands from `kubectl` and interactions between other control plane components.
Why the other options are wrong
- A. `etcd` is the distributed key-value store that serves as Kubernetes' backing store for all cluster data, but it doesn't expose the API directly.
- B. `kube-scheduler` watches for new Pods and assigns them to Nodes, not the API front-end.
- D. `kube-controller-manager` runs various controllers that regulate the state of the cluster, but it's not the API server itself.
kube-apiserver
The central component of the Kubernetes control plane that exposes the Kubernetes API.
- Processes REST requests and provides the front-end to the cluster's shared state.
- Validates and configures data for API objects (Pods, Services, etc.).
- Is the only component that communicates directly with `etcd` for state persistence.
Memory trick: API server is the 'receptionist' for all 'Kubernetes calls'.