CKA Troubleshooting Practice Question
The controller-manager logs show repeated errors: 'Failed to list *v1.Pod: connection refused'. What is the most likely cause?
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
✓
The API server is down or not reachable
The controller-manager communicates with the API server. 'connection refused' indicates the API server is not reachable or not running.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
The API server is down or not reachable
Why this is correct
The kube-controller-manager is a client of the Kubernetes API server; every control loop (deployment, replicaset, namespace, service account) lists objects through the API. A repeated 'failed to list' or connection-refused error means the API server is either down, unresponsive, or unreachable from the controller node. This is the only condition that explains the manager's own client logs while the manager process itself remains running.
- ✗
The kube-controller-manager is not running
Why it's wrong here
If the kube-controller-manager were not running, it could not emit any controller errors at all — the log entries are produced by that very process after it has started. The error pattern shows it is alive but cannot establish or maintain its client connection to the API server. A stopped or crash-looping manager would instead be diagnosed by checking static pod status or systemd unit, not by seeing its own connection errors.
- ✗
The kubelet on the controller node is down
Why it's wrong here
The controller-manager never reads pods from the local kubelet; it watches pod metadata through the API server and uses the kubelet only as the eventual executor on worker nodes. A kubelet outage on the control-plane node could stop the static pod that hosts the manager, but the specific 'failed to list' errors indicate an outbound API connection problem, not a local container runtime issue. Therefore kubelet downtime cannot directly cause the API server to become unreachable from the controller-manager.
- ✗
The scheduler is overloading the API server
Why it's wrong here
An overloaded scheduler would slow down the API server with frequent binding and pod-placement requests, producing latency, timeouts, or 429 rate-limit responses — not repeated client-side connection failures. Moreover, the scheduler is a separate binary whose load does not break the controller-manager's own watch streams; each control-plane component has its own independent API client connection. The 'failed to list' errors are specific to the controller-manager's inability to reach the API server, not to global pressure from another component.
About these practice questions
Courseiva writes every CKA question from scratch — 726 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or 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.