Courseiva
Troubleshooting →easyMultiple Choice

CKA Troubleshooting Practice Question

You want to check the memory usage of nodes in your cluster. Which command should you use?

⚠ Common exam trap

A common mix-up: candidates confuse `kubectl describe nodes` (which shows allocatable memory) with actual memory usage, or they think the raw API or `-o wide` will include live metrics, but neither provides the real-time utilization data that `kubectl top` does.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

kubectl top nodes

`kubectl top nodes` directly queries the metrics-server (or Heapster) to retrieve real-time CPU and memory usage data for all nodes in the cluster. This command relies on the resource metrics pipeline, which collects metrics from kubelet's cAdvisor endpoint and exposes them via the metrics API, making it the standard way to check node-level memory utilization.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✓

    kubectl top nodes

    Why this is correct

    kubectl top nodes queries the Metrics API (typically provided by metrics-server) to display the current CPU and memory usage for every node in the cluster. It reports actual consumption values, such as 82% memory, making it the correct command for checking real-time memory usage.

  • ✗

    kubectl describe nodes

    Why it's wrong here

    kubectl describe nodes displays detailed node object information: status conditions, capacity, allocatable resources, and a summary of requested pods and their CPU/memory requests. However, it shows configured allocation, not the actual live memory usage measured by the kubelet, so it cannot answer a question about current memory utilization.

  • ✗

    kubectl get nodes -o wide

    Why it's wrong here

    kubectl get nodes -o wide prints a tabular view of node object fields such as internal and external IPs, OS image, kernel version, and container runtime. None of those columns include memory consumption metrics; it is purely static Node object metadata, so this command provides no insight into actual memory usage.

  • ✗

    kubectl get --raw /api/v1/nodes

    Why it's wrong here

    kubectl get --raw /api/v1/nodes fetches the raw Node API objects from the cluster's etcd, returning their JSON representation. While those objects contain capacity and allocatable fields, they do not include live memory usage data; real-time usage is exposed via the metrics.k8s.io APIs, not the core v1 Node endpoint.

About these practice questions

One of 726 original CKA practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This CKA practice question is part of Courseiva's free CNCF certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the CKA exam.