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-