Courseiva
Troubleshooting →easyMultiple Choice

CKA Troubleshooting Practice Question

You suspect the kubelet on a worker node is not functioning correctly. Which command should you use to check the kubelet service status?

⚠ Common exam trap

Many candidates confuse cluster-level commands like `kubectl get nodes` with node-level service management, assuming a node showing NotReady means the kubelet service is definitely down, when in fact the service could be running but failing to communicate with the API server.

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

✓

systemctl status kubelet

The kubelet is a systemd service on worker nodes, so `systemctl status kubelet` is the correct command to check its current state, whether it is active (running), inactive, or failed. This command directly queries the service manager for the kubelet's status, which is the first step in troubleshooting a suspected malfunction.

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 nodes

    Why it's wrong here

    kubectl get nodes queries the Kubernetes API server for the Node objects' status conditions, specifically the Ready condition reported by the kubelet's periodic heartbeats (nodeStatusUpdateFrequency). If the kubelet is down, the controller-manager's node lifecycle controller eventually marks the node NotReady, but this is an indirect, delayed symptom, not the live service state. The command is also limited to the control plane's view, so it cannot distinguish between a stopped kubelet, a network partition, or a kubelet that is crashing and restarting. It provides cluster-level readiness, not the actual status of the systemd unit on the worker node.

  • ✓

    systemctl status kubelet

    Why this is correct

    systemctl status kubelet is the definitive, node-local command for inspecting the kubelet's systemd service state. It directly queries systemd's unit properties, showing whether the unit is active (running), failed, activating, or inactive, along with the main process ID (MainPID) and recent journal entries. This is the first step when the kubelet is suspected of malfunctioning because it immediately confirms whether the process is alive and healthy from the init system's perspective, without relying on the Kubernetes API or network latency. It also reveals the exit code or last status change, which is essential for diagnosing crashes or manual stops on the node itself.

  • ✗

    kubectl describe node <node-name>

    Why it's wrong here

    kubectl describe node <node-name> fetches a comprehensive Node resource from the API server, including capacity, allocatable resources, taints, labels, conditions, and events. While it shows the NodeReady condition and may include a condition message like 'Kubelet stopped posting node status,' this information is a status report maintained by the controller-manager, not a direct query of the kubelet service. It will not tell you whether the kubelet systemd unit is currently active, what its PID is, or whether it is in a crash loop — those details exist only on the node's local system. Thus, it is useful for observing the effect of a suspected kubelet issue, but it is the wrong tool for verifying the service's actual operational state.

  • ✗

    journalctl -u kubelet

    Why it's wrong here

    journalctl -u kubelet streams or prints the kubelet's logs from the node's journal (systemd's logging facility), which is invaluable for understanding why the kubelet failed or what it is doing. However, the mere presence of logs — even recent ones — does not tell you the current service status; a crashed process may have last written logs minutes ago, and an oom-killed kubelet will have a final log lines but be non-running. Unlike systemctl status, journalctl does not query the unit's active state, PID, or exit code, so it cannot replace a direct status check. It is a diagnostic complement, not a status verification tool.

About these practice questions

This CKA question is part of Courseiva's 726-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.