Kubernetes v1.34: Pod-Ersatzrichtlinie für Jobs geht GA
Die Funktion zur Pod-Ersatzrichtlinie für Kubernetes-Jobs hat die allgemeine Verfügbarkeit erreicht. Standardmäßig ersetzen Jobs terminierende oder fehlgeschlagene Pods sofort, wodurch möglicherweise der Parallelismus überschritten wird. Dies kann Probleme für Anwendungen verursachen, die einzelne Instanzen pro Index erwarten, wie z. B. einige Machine-Learning-Frameworks. Es kann auch zu Verzögerungen bei der Planung, unnötiger Skalierung und vorübergehenden Quota-Umgehungen führen. Die neue Funktion ermöglicht es Benutzern, dieses Verhalten mit dem Feld .spec.podReplacementPolicy zu steuern. Die Richtlinie TerminatingOrFailed, die Standardeinstellung, erstellt Pods neu, sobald sie mit der Terminierung beginnen. Die Richtlinie Failed erstellt jedoch erst dann einen neuen Pod, wenn der alte vollständig terminiert wurde und sich in der Phase Failed befindet. Für Jobs mit einer Pod-Fehlerrichtlinie ist die Ersatzrichtlinie Failed obligatorisch. Der Status von terminierenden Pods kann mit kubectl get job myjob -o=jsonpath='{.status.terminating}' überprüft werden. Ein Beispiel zeigt, wie die Einstellung der Richtlinie auf Failed verhindert, dass ein neuer Pod gestartet wird, bis der terminierende Pod vollständig abgeschlossen ist. Diese Verbesserung zielt darauf ab, eine robustere Kontrolle über das Job-Pod-Lifecycle-Management zu ermöglichen.
.spec.podReplacementPolicyzu steuern. Die RichtlinieTerminatingOrFailed, die Standardeinstellung, erstellt Pods neu, sobald sie mit der Terminierung beginnen. Die RichtlinieFailederstellt jedoch erst dann einen neuen Pod, wenn der alte vollständig terminiert wurde und sich in der PhaseFailedbefindet. Für Jobs mit einer Pod-Fehlerrichtlinie ist die ErsatzrichtlinieFailedobligatorisch. Der Status von terminierenden Pods kann mitkubectl get job myjob -o=jsonpath='{.status.terminating}'überprüft werden. Ein Beispiel zeigt, wie die Einstellung der Richtlinie aufFailedverhindert, dass ein neuer Pod gestartet wird, bis der terminierende Pod vollständig abgeschlossen ist. Diese Verbesserung zielt darauf ab, eine robustere Kontrolle über das Job-Pod-Lifecycle-Management zu ermöglichen.