Kubernetes and Cloud Native Associate (KCNA)Cloud Native ObservabilityHard

A platform team is observing that their Kubernetes cluster's control plane components (e.g., kube-apiserver, kube-scheduler) are exhibiting high CPU usage and increased latency. They need to collect detailed performance metrics from these critical components themselves, not just from user applications. Which tool or method is typically used to expose internal metrics from Kubernetes control plane components for Prometheus scraping?

  1. AcAdvisor
  2. BMetrics Server
  3. CBuilt-in `/metrics` endpoints
  4. Dkube-state-metrics
Show answer & explanation

Correct answer: C. Built-in `/metrics` endpoints

Kubernetes control plane components (like kube-apiserver, kube-scheduler, kube-controller-manager, kubelet) expose their internal performance metrics directly via a built-in `/metrics` HTTP endpoint (following the Prometheus exposition format). This is the standard way to scrape detailed performance data from these core components. cAdvisor provides container resource metrics, Metrics Server provides resource metrics for HPA, and kube-state-metrics exposes Kubernetes object state as metrics.

Why the other options are wrong

  • A. cAdvisor collects container resource usage metrics, primarily from Kubelet for individual containers.
  • B. Metrics Server provides aggregated resource usage metrics (CPU, memory) for pods and nodes, used by HPA and kubectl top, not raw control plane internal metrics.
  • D. kube-state-metrics exposes metrics about the state of Kubernetes objects (e.g., number of running pods, deployment status), not the internal performance of control plane components.

Kubernetes `/metrics` Endpoints

Standard HTTP endpoints exposed by Kubernetes control plane components (and often by applications) that provide internal performance and operational metrics in a Prometheus-compatible text format.

  • Each core Kubernetes component (apiserver, scheduler, controller-manager) has one.
  • Allows Prometheus to scrape detailed health and performance data.
  • Essential for monitoring the health of the Kubernetes control plane itself.

Memory trick: The control plane has its own metrics language, `/metrics`.

More Cloud Native Observability questions