KCNA Kubernetes Fundamentals Practice Question
A cluster has a node with the taint 'node-role.kubernetes.io/control-plane:NoSchedule'. A pod must be scheduled on this node for a special workload. Which action is required?
⚠ Common exam trap
It's easy for candidates to confuse nodeSelector (label-based) with tolerations (taint-based), thinking that selecting a node by label can override a taint, when in fact taints are a separate, higher-priority scheduling constraint.
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.
A taint on a node causes the scheduler to avoid placing pods on that node unless the pod explicitly tolerates the taint. By adding a toleration in the pod spec that matches the taint key, effect, and optionally the value, the pod becomes eligible to be scheduled on the tainted node. This is the standard Kubernetes mechanism for allowing pods to run on control-plane or other specially tainted nodes.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Use a nodeSelector to select the node.
Why it's wrong here
Incorrect; nodeSelector cannot bypass taints.
- ✗
Remove the taint from the node.
Why it's wrong here
Incorrect; removing the taint allows all pods, not just the special one.
- ✓
Add a toleration to the pod spec.
Why this is correct
Correct; toleration allows the pod to be scheduled on the tainted node.
- ✗
Use podAffinity to attract the pod to the node.
Why it's wrong here
Incorrect; affinity does not override taints.
Go deeper
Related to this question
About these practice questions
Courseiva writes every KCNA question from scratch — 833 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 →
Same concept, more angles
1 more way this is tested on KCNA
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. A Kubernetes cluster has multiple worker nodes. You create a Pod without any node selector. The scheduler places the pod on a node, but the pod remains in 'Pending' state. 'kubectl describe pod' shows '0/1 nodes are available: 1 node had taint {node-role.kubernetes.io/master: }, that the pod didn't tolerate'. What does this indicate?
hard- ✓ A.The node has a taint that the pod does not tolerate
- B.The pod has a resource request that exceeds the node's capacity
- C.The node is cordoned and should be uncordoned
- D.The node is out of disk space
Why A: The error message explicitly states that one node had a taint (`node-role.kubernetes.io/master`) that the pod did not tolerate. Taints and tolerations are a Kubernetes mechanism that allows nodes to repel pods unless the pod has a matching toleration. Since the pod was created without any tolerations, the scheduler could not place it on the tainted node, leaving it in 'Pending' state.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This KCNA 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 KCNA exam.