CKA Troubleshooting Practice Question
A pod is in Pending state. You see the event: '0/2 nodes are available: 2 node(s) had taint {node-role.kubernetes.io/control-plane: }, that the pod didn't tolerate'. What should you do to schedule the pod on one of the control-plane nodes?
⚠ Common exam trap
Test-takers frequently think removing the taint (Option B) is the correct fix, but the CKA exam expects you to use tolerations to selectively schedule pods on tainted nodes without altering node configuration.
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
✓
Add a toleration to the pod spec matching the taint
The pod is in Pending state because the control-plane nodes have a taint (node-role.kubernetes.io/control-plane) that the pod does not tolerate. By default, pods are not scheduled on control-plane nodes unless they explicitly tolerate that taint. Adding a toleration to the pod spec that matches the taint's key, effect, and optionally value allows the scheduler to place the pod on a control-plane node.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Increase the pod's resource requests
Why it's wrong here
Increasing the pod's resource requests is incorrect because the underlying issue is a taint/toleration mismatch, not resource pressure. A lack of resources would generate a different event such as 'Insufficient cpu' or 'Insufficient memory' on the specific node, whereas here the scheduler reports that all nodes have untolerated taints. Raising resource requests would actually make scheduling harder, since it increases the pod's demand on scarce resources without addressing the taint that prevents placement on those nodes.
- ✗
Remove the taint from the control-plane node
Why it's wrong here
Removing the taint from the control-plane node would technically allow the pod to schedule, but it is an antipattern and weakens cluster security. The default control-plane taint (node-role.kubernetes.io/control-plane) exists to keep business workloads off control-plane nodes, and removing it indiscriminately exposes critical cluster infrastructure to arbitrary pods. The preferred and safe approach is to add a toleration to the pod spec so only that pod is explicitly allowed to run on the tainted node, preserving the taint for all other workloads.
- ✗
Use a different namespace
Why it's wrong here
Choosing a different namespace has no effect on taint/toleration behavior because these mechanisms operate at the node and pod level, not the namespace level. Namespaces are logical boundaries for API objects, but the scheduler evaluates node taints against the tolerations present in each Pod's spec; a pod in any namespace is still subject to the same taint unless it carries a matching toleration. Therefore, changing the namespace neither removes the taint nor provides a workaround for the scheduling failure.
- ✓
Add a toleration to the pod spec matching the taint
Why this is correct
Adding a toleration to the pod spec that matches the node's taint is the correct solution because tolerations explicitly opt a pod into scheduling on tainted nodes. The taint on the node uses key, value, and effect (e.g., node-role.kubernetes.io/control-plane:NoSchedule), and the toleration must mirror that key, value, and effect before the scheduler will place the pod there. This is the standard, least-privilege way to run a specific workload on a dedicated or control-plane node without weakening cluster-wide policies.
Go deeper
Related to this question
Learn chapter
Kubernetes Architecture Overview
Key term
Ingress Resources
Ingress Resources are Kubernetes API objects that manage external access to services inside a cluster, typically HTTP and HTTPS traffic, by defining rules for routing requests based on hostnames and paths.
Key term
Network Policies
A Kubernetes resource that controls how pods communicate with each other and with other network endpoints, acting as a firewall for pod-to-pod traffic.
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 →
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.