Die Termination Grace Period ist in Kubernetes PodSpec das Zeitfenster, das ein Pod nach einer Löschanfrage zum Aufräumen bekommt, bevor der Container hart beendet wird. Das Feld heißt terminationGracePeriodSeconds, der Standardwert beträgt 30 Sekunden.
Ablauf beim Beenden
Wird ein Pod gelöscht, wechselt er in den Zustand Terminating. Das Kubelet sendet zunächst das Signal SIGTERM an alle Container des Pods gleichzeitig. Läuft ein preStop-Hook, zählt seine Ausführungszeit in die Frist hinein; das eigentliche TERM-Signal geht erst nach dem Hook raus. Ist die Frist abgelaufen und der Prozess läuft immer noch, folgt SIGKILL — ein sofortiger Abbruch ohne weiteres Aufräumen. Hängt der preStop-Hook, gewährt das Kubelet einmalig eine kleine Verlängerung von zwei Sekunden.
Werte und Grenzen
Der Wert lässt sich pro Pod setzen: terminationGracePeriodSeconds: 0 bedeutet sofortiges Beenden, höhere Werte geben Anwendungen Zeit, laufende Requests abzuschließen und Verbindungen zu drainen. Beim Löschen kann kubectl delete --grace-period=N die Frist übersteuern. Fällt der Knoten aus und das Kubelet antwortet nicht mehr, greift kein Graceful Shutdown — die Pods bleiben im Zustand Terminating, bis der Knoten zurückkehrt.
Der Zusammenhang mit sanftem Herunterfahren ist im Artikel Graceful Shutdown beschrieben. Abgrenzung: Eviction Max Pod Grace Period ist das Node-weite Limit bei weichen Eviction-Schwellwerten — das Kubelet nutzt dort den kleineren Wert aus Pod-Frist und Node-Limit.
Verwandte Grundlagen: Kubernetes Pod Lifecycle, Kubernetes CrashLoopBackOff, Kubernetes Image Pull Policy.