Courseiva
TroubleshootingeasyMultiple ChoiceObjective-mapped

CKA Troubleshooting Practice Question

You need to check the current resource usage of nodes in your cluster. Which command should you use?

⚠ Common exam trap

Test-takers frequently confuse `kubectl top nodes` with `kubectl get nodes -o wide`, mistakenly thinking the latter shows resource usage when it only shows network and OS details, not utilization metrics.

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` retrieves and displays real-time CPU and memory usage metrics for all nodes in the cluster, directly answering the question about current resource usage. This command relies on the metrics server being deployed in the cluster to collect resource utilization data from kubelets via the Summary API.

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 pods

    Why it's wrong here

    kubectl top pods reports per-pod CPU and memory consumption by reading metrics from cAdvisor via the metrics API, so it answers 'which pods use the most resources' rather than 'how loaded is the node'. It never aggregates pod usage to node totals, and its output is grouped by pod from all namespaces, not by node. Therefore it does not satisfy the request to check current resource usage of nodes.

  • kubectl get events

    Why it's wrong here

    kubectl get events retrieves historical Event objects from the API server, which record things like failed scheduling, image pulls, liveness probe failures, or node condition changes. These events carry no CPU, memory, disk, or network utilization data, and they are not sourced from the metrics pipeline (metrics-server/cAdvisor). They can sometimes hint at pressure conditions (e.g., Evicted, NodeNotReady) but cannot provide quantitative node resource usage.

  • kubectl get nodes -o wide

    Why it's wrong here

    kubectl get nodes -o wide prints node objects from the cluster store, augmenting the default list with fields such as INTERNAL-IP, EXTERNAL-IP, OS-IMAGE, KERNEL-VERSION, and CONTAINER-RUNTIME. These are static identity and configuration attributes, not dynamic utilization metrics. No requests are sent to the metrics API, so no CPU or memory usage numbers are included; this command is about node inventory, not node health or load.

  • kubectl top nodes

    Why this is correct

    kubectl top nodes is the correct command because it queries the metrics.k8s.io API provided by metrics-server to return each node’s current total CPU and memory usage, along with the percentage relative to allocatable capacity. It aggregates pod usage plus node-level system reservations from cAdvisor and presents a concise per-node snapshot, making it the standard built-in way to assess current node resource consumption.

About these practice questions

This CKA question is part of Courseiva's 302-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. 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.