DevOps Glossary

Kubernetes Taints and Tolerations

Kubernetes taints and tolerations control scheduling by marking nodes and allowing only matching pods to run there.

Kubernetes Taints and Tolerations are scheduling controls that help you keep pods away from specific nodes unless those pods explicitly allow the match. A taint is applied to a node as a key, value, and effect, such as NoSchedule, PreferNoSchedule, or NoExecute. A toleration is added to a pod spec so the Kubernetes scheduler may place that pod on a matching tainted node. Teams use them to reserve nodes for system workloads, isolate GPU or high-memory workloads, protect dedicated tenant nodes, or move pods away from unhealthy nodes. They are useful in self-managed clusters and managed services such as Azure Kubernetes Service, but they do not force a pod onto a node by themselves; for that, you usually combine them with node selectors, node affinity, or workload placement rules as part of broader Kubernetes infrastructure management.