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?

  1. Aetcd
  2. Bkube-scheduler
  3. Ckube-apiserver
  4. Dkube-controller-manager
Show answer & 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'.

More Kubernetes Fundamentals questions