💻 Tech
In k8s, taint and toleration allow restriction on which pods can be scheduled to a node. If a node has a taint, and pods don’t have toleration for it, pods won’t be scheduled to the node with taint effects NoExecute and NoSchedule. However, there’s a less strict version of them which is PreferNoSchedule in which the system will try to not place the pod to the node even if the pod has no toleration to the node’s taint, but there’s no guarantee it will not be placed. This means pods can be placed to that node.