kubectl Cheatsheet

kubectl CheatsheetKapitel 12 von 15

Node-Wartung mit kubectl: cordon, drain, taint

Stand kubectl 1.37 · Edition 2026.11 · Release-Daten geprüft am 30. Oktober 2026

cordon, drain, uncordon

cordon sperrt den Node für neue Pods, laufende bleiben. drain = cordon + Eviction aller Pods außer Mirror- und DaemonSet-Pods. Abbruch, wenn --ignore-daemonsets (DaemonSet-Pods), --delete-emptydir-data (emptyDir-Daten gehen verloren) oder --force (Pods ohne Controller kommen nicht wieder) fehlt.

Eviction respektiert PodDisruptionBudgets: die API antwortet 429, drain versucht es weiter. --timeout ist per Default 0, also unbegrenzt, in Pipelines setzen. --disable-eviction löscht per DELETE und umgeht PDBs.

taint: NoSchedule wirkt nur auf neue Pods, NoExecute evictet laufende ohne Toleration, key- entfernt alle Taints mit diesem Key.

kubectl cordon worker-3
kubectl drain worker-3 --ignore-daemonsets \
  --delete-emptydir-data --timeout=15m
kubectl get pdb -A   # ALLOWED DISRUPTIONS 0 blockt
kubectl uncordon worker-3
kubectl taint nodes worker-3 maint=true:NoSchedule
kubectl taint nodes worker-3 maint-