KubeDojo

Taints, Tolerations, and Node Cordoning

AK
by Alexis Kinsella··13 min read
Taints, Tolerations, and Node Cordoning

You just ran kubectl drain on a node before a kernel upgrade, and five minutes later a pod is still sitting there. Or you tainted a GPU node pool to keep general workloads off it, yet somehow a logging agent landed on it anyway. Both situations come down to the same mechanism: taints and tolerations.

Taints are the repulsive counterpart to node affinity. Where affinity attracts pods to specific nodes, taints push pods away. Tolerations are the exemptions: a pod that tolerates a taint can still schedule (or keep running) on a tainted node. Together with kubectl cordon and kubectl drain, they form the node-maintenance workflow you'll use regularly as a cluster administrator.

Sign in to access this lesson

Create a free account or sign in to enroll in the CKA — Certified Kubernetes Administrator course and access all 63 lessons.

CKA — Certified Kubernetes Administrator

63 lessons

Browse the full course curriculum →