Taints and Tolerations
Taints and Tolerations are features on Kubernetes that allow us to restrict certain pods from being scheduled on certain Worker Node by the Kube Scheduler
Taints are property set on the Worker Node to allow only certain Pods that can tolerate the node taint, it is a neat way to isolate or prevent certain pods from being scheduled on the node
kubectl taint node node1 app=backend:NoExecute
Taint Effects
No Schedule
This taint means that the system will ensure that the pod is not scheduled on the tainted node
PreferNoSchedule
This taint means that the system will give it’s best effort to ensure not to schedule the pod on this node
NoExecute
This node means, that no pod will be scheduled on this node, and any existing pods on the node will be evicted from the pod immediately