Taints and Tolerations

Taints and Tolerations An architecture diagram generated by Archify. Taint · applied to node · Taints and Tolerations Mechanism Taint applied to node Pod · to be scheduled · Taints and Tolerations Mechanism Pod to be scheduled Toleration · applied to pod · Taints and Tolerations Mechanism Toleration applied to pod NoSchedule · prevent scheduling · Taint Effects NoSchedule prevent scheduling PreferNoSchedule · prefer not to schedule · Taint Effects PreferNoSchedule prefer not to schedule NoExecute · evict running pods · Taint Effects NoExecute evict running pods Regular Pod · no toleration · Example: GPU-dedicated Node Regular Pod no toleration GPU Node · key=gpu:NoSchedule · Example: GPU-dedicated Node GPU Node key=gpu:NoSchedule GPU Pod · toleration key=gpu, effect=NoSchedule · Example: GPU-dedicated Node GPU Pod toleration key=gpu, effect=NoSchedule reject without toleration allow with toleration matches effect type rejects allows Taints and Tolerations Mechanism Taint Effects Example: GPU-dedicated Node Legend Pod Node Taint / Toleration Taint Effect

Taint Effects

  • • NoSchedule: pods without a toleration are not scheduled on the node
  • • PreferNoSchedule: prefer not to schedule pods without a toleration on the node
  • • NoExecute: pods without a toleration are evicted from the node

Use Cases

  • • Dedicated nodes: designate nodes that run only specific workloads
  • • Special hardware: manage nodes with special hardware such as GPUs
  • • Node maintenance: prevent new pods from being scheduled on nodes under maintenance
  • • Node issues: evict pods from nodes with problems