- Check how many nodes exist (including the control plane)
Answer: There are two nodes:
controlplane and node01.
- Do any taints exist on
node01?
node01 to inspect taints and other conditions:
node01 currently has no taints.
- Add a taint to
node01
spray, value mortein, and effect NoSchedule on node01.
Command pattern: kubectl taint nodes <node-name> key=value:Effect
Example:
- Create a pod named
mosquito(nginx) and observe scheduling
mosquito is Pending because both nodes have taints it does not tolerate:
controlplanehasnode-role.kubernetes.io/master:NoSchedulenode01hasspray=mortein:NoSchedule
- Create a pod named
bee(nginx) that tolerates thespray=mortein:NoScheduletaint
--dry-run=client to generate a manifest, then add the tolerations section manually.
Generate the YAML manifest:
bee.yaml and add the tolerations block under spec: so it matches the taint’s key, value, and effect.
Example bee.yaml:
bee was scheduled:
bee was scheduled on node01 because it tolerates the spray=mortein:NoSchedule taint.

- Inspect the control plane node taint and remove it
-) to the taint spec:
- Observe that
mosquitogets scheduled once the control plane taint is removed
mosquito is running:
mosquito from being scheduled. After adding a toleration, bee could run on node01. Once the controlplane taint (node-role.kubernetes.io/master:NoSchedule) was removed, the scheduler could place mosquito onto the control plane node.
Final answer to the likely quiz question (“Which node is the mosquito pod finally placed on?”): controlplane
Taints prevent pods from being scheduled on nodes unless the pod has a matching toleration. A toleration does not “place” a pod on a node by itself; it simply allows scheduling onto nodes with the matching taint. The scheduler still selects the node according to normal scheduling rules.