CKAD Application Observability and Maintenance Practice Question
You need to check the CPU and memory usage of a pod named 'monitored-pod' in the 'default' namespace. Which command should you run?
⚠ Common exam trap
Watch out — candidates often confuse `kubectl describe` or `kubectl get -o wide` as sources of live resource usage, when in fact they only show static resource requests/limits or network info, not dynamic CPU/memory consumption.
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 pod monitored-pod
`kubectl top pod` is the command specifically designed to display real-time CPU and memory usage metrics for pods in Kubernetes. It relies on the metrics server to collect resource usage data and presents it in a concise table format, making it the appropriate tool for checking resource consumption of 'monitored-pod'.
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 get pod monitored-pod -o wide
Why it's wrong here
The `-o wide` output adds the node name and internal IP to the basic pod listing, but it never queries the Metrics Server. Even with extended columns, you only see scheduling/network metadata like NODE and IP, not runtime CPU or memory consumption. This command reads pod spec/status from etcd, so it cannot provide live utilization figures.
- ✗
kubectl describe pod monitored-pod
Why it's wrong here
`describe` aggregates event history and configuration details, including container image, labels, and any resource requests/limits defined in the manifest. Those requests are the pod's declared ceiling, not what the container is actively using, so they are unsuitable for checking current consumption. It also reaches into kubelet/API for status but does not retrieve time-series metrics from the Metrics Server.
- ✓
kubectl top pod monitored-pod
Why this is correct
`kubectl top pod` is the only command here that talks to the Kubernetes Metrics API, which the Metrics Server populates by scraping kubelet's cAdvisor endpoint. It prints the actual instantaneous CPU and memory utilization per container, e.g., `100m` and `120Mi`, giving you a direct view of live usage. That exactly matches the task of checking the pod's CPU and memory usage.
- ✗
kubectl logs monitored-pod
Why it's wrong here
`kubectl logs` retrieves stdout/stderr streams from the kubelet's log files and the container runtime, which are written for application troubleshooting. These logs carry textual output, not numeric resource counters, and the command never touches the metrics pipeline. It is useful for debugging logic, not for measuring utilization.
Go deeper
Related to this question
About these practice questions
One of 826 original CKAD 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 →
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This CKAD 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 CKAD exam.