CKA Troubleshooting Practice Question
Which command would you use to check the status of the kube-apiserver on a control plane node managed by systemd?
⚠ Common exam trap
A common mix-up: candidates confuse Kubernetes API resources (like `apiservice`) with the actual system process, or mistakenly use `kubectl` commands when the API server itself is unresponsive, making node-level systemd commands the only viable option.
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 kube-apiserver
The kube-apiserver is a systemd service on control plane nodes managed by systemd. The `systemctl status kube-apiserver` command queries systemd for the current state, including active status, PID, memory usage, and recent log entries, which is the standard method for checking a systemd-managed service.
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 apiservice
Why it's wrong here
This command queries the Kubernetes API server to list registered APIService resources, which define API registration paths for aggregation. It does not inspect the underlying operating system process or systemd service status of the kube-apiserver daemon itself. Furthermore, if the API server is completely down, running this command will fail entirely with a connection refused error.
- ✗
service kube-apiserver status
Why it's wrong here
Although the legacy service wrapper command might work on older SysV init systems, modern Kubernetes deployments on Linux distributions utilize systemd as their init system. Using systemctl is the standard, direct method for managing and inspecting systemd unit files. Relying on the deprecated service command is not recommended for CKA exam environments or modern production clusters.
- ✗
journalctl -u kubelet
Why it's wrong here
This command retrieves the systemd journal logs specifically for the kubelet service, which is the node agent running on cluster hosts. It does not provide the operational status of the kube-apiserver control plane component. To check the API server's logs instead, you would need to target the kube-apiserver unit or inspect the static pod logs if it runs as a container.
- ✓
systemctl status kube-apiserver
Why this is correct
This is the standard systemd command used to query the active state, process ID, and recent log outputs of the kube-apiserver service when it is run as a system daemon. It directly queries the systemd init manager to verify if the process is running, active, or failing. This is crucial for troubleshooting control plane bootstrap issues on master nodes where components are managed as systemd services.
Go deeper
Related to this question
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 →
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.