A taint is a property applied to a node that prevents pods from being scheduled on it unless those pods have matching tolerations.
Click to reveal answer
beginner
What does a toleration do in Kubernetes?
A toleration allows a pod to be scheduled on a node that has matching taints, effectively 'tolerating' the taint.
Click to reveal answer
intermediate
Explain the effect field in a taint.
The effect field defines what happens to pods that do not tolerate the taint. Common effects are NoSchedule (don't schedule), PreferNoSchedule (try not to schedule), and NoExecute (evict existing pods).
Click to reveal answer
intermediate
How do taints and tolerations help in node management?
They help control which pods can run on which nodes, allowing separation of workloads, reserving nodes for special tasks, or isolating nodes for maintenance.
Click to reveal answer
beginner
Give an example of a taint command to prevent pods without tolerations from scheduling on a node named 'worker1'.
kubectl taint nodes worker1 key=value:NoSchedule
Click to reveal answer
What happens if a node has a taint but a pod does not have a matching toleration?
AThe pod will ignore the taint and run.
BThe pod will be scheduled on that node anyway.
CThe pod will be deleted immediately.
DThe pod will not be scheduled on that node.
✗ Incorrect
Pods without matching tolerations cannot be scheduled on nodes with taints.
Which effect in a taint causes existing pods without tolerations to be evicted from the node?
ANoExecute
BPreferNoSchedule
CNoSchedule
DEvict
✗ Incorrect
NoExecute evicts existing pods that do not tolerate the taint.
How do you remove a taint from a node named 'node1' with key 'key1' and value 'value1'?
Tolerations are added in the pod YAML under the spec section.
What is the main purpose of using taints and tolerations together?
ATo delete pods automatically
BTo force all pods to run on all nodes
CTo control pod scheduling on specific nodes
DTo increase pod resource limits
✗ Incorrect
Taints and tolerations control which pods can be scheduled on which nodes.
Describe how taints and tolerations work together to control pod scheduling in Kubernetes.
Think about how nodes can repel pods and how pods can accept that.
You got /4 concepts.
Explain the difference between the NoSchedule and NoExecute effects in taints.
Consider when pods are blocked or removed.
You got /3 concepts.
Practice
(1/5)
1. What is the main purpose of a taint in Kubernetes?
easy
A. To repel pods from nodes unless they have matching tolerations
B. To allow pods to run on any node without restrictions
C. To label pods for easier identification
D. To increase node resource limits automatically
Solution
Step 1: Understand what a taint does
A taint is applied to a node to repel pods that do not tolerate it.
Step 2: Compare with other options
Options B, C, and D describe unrelated features: pod scheduling without restrictions, pod labeling, and resource limits, which are not taint functions.
Final Answer:
To repel pods from nodes unless they have matching tolerations -> Option A
A. The pod will be scheduled but evicted immediately
B. The pod will be scheduled on the tainted node
C. The pod will be rejected and not scheduled
D. The pod will ignore the taint and schedule anywhere
Solution
Step 1: Understand the pod toleration
The pod tolerates the taint with matching key, value, and effect, so it can be scheduled on the node.
Step 2: Analyze the taint effect
The taint effect is NoSchedule, which prevents pods without tolerations from scheduling. Since this pod has the matching toleration, it is allowed.
Final Answer:
The pod will be scheduled on the tainted node -> Option B
Quick Check:
Matching toleration allows scheduling despite taint = C [OK]
Hint: Matching toleration lets pod schedule on tainted node [OK]
Common Mistakes:
Ignoring the value match in toleration
Confusing NoSchedule with NoExecute
Assuming tolerations always allow scheduling
4. You applied the taint key=value:NoSchedule to a node, but pods without tolerations are still scheduling on it. What is the most likely cause?
medium
A. Pods have tolerations matching the taint
B. Taints do not affect scheduling
C. The node is in a NotReady state
D. The taint was applied with a typo in the key or value
Solution
Step 1: Check taint correctness
If pods without tolerations schedule on a tainted node, the taint might have a typo or was not applied correctly.
Step 2: Evaluate other options
Pods have tolerations matching the taint means pods tolerate the taint, which contradicts the question. The node is in a NotReady state is unrelated to taints. Taints do not affect scheduling is false because taints do affect scheduling.
Final Answer:
The taint was applied with a typo in the key or value -> Option D
Quick Check:
Incorrect taint syntax causes scheduling errors = B [OK]
Hint: Check taint spelling carefully if pods ignore it [OK]
Common Mistakes:
Assuming taints don't affect scheduling
Ignoring typos in taint keys or values
Confusing node status with taint issues
5. You want to ensure that only pods with a specific toleration can run on a node, and all other pods are evicted if already running. Which taint effect should you use?
hard
A. NoSchedule
B. PreferNoSchedule
C. NoExecute
D. NoEvict
Solution
Step 1: Understand taint effects
NoSchedule prevents new pods without tolerations from scheduling. PreferNoSchedule tries to avoid scheduling but doesn't guarantee. NoExecute evicts existing pods without tolerations and prevents new ones. NoEvict is not a valid effect.
Step 2: Match requirement to effect
Since you want to evict existing pods without tolerations, NoExecute is the correct effect.
Final Answer:
NoExecute -> Option C
Quick Check:
Evict pods without tolerations = NoExecute = D [OK]
Hint: Use NoExecute to evict pods lacking tolerations [OK]
Common Mistakes:
Choosing NoSchedule which doesn't evict existing pods
Confusing PreferNoSchedule with eviction
Using invalid effect NoEvict
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.