Kubernetes v1.34: Политика замены Pod для Jobs становится общедоступной
Функция политики замены Pod для заданий Kubernetes стала общедоступной. По умолчанию задания немедленно заменяют завершающиеся или неудачные Pod, что потенциально превышает параллелизм. Это может вызывать проблемы для приложений, ожидающих отдельные экземпляры на индекс, например, для некоторых фреймворков машинного обучения. Это также может приводить к задержкам планирования, ненужному масштабированию и временному обходу квот. Новая функция позволяет пользователям управлять этим поведением с помощью поля .spec.podReplacementPolicy. Политика TerminatingOrFailed, используемая по умолчанию, воссоздает Pod, как только они начинают завершаться. Политика Failed, однако, создает новый Pod только после того, как старый полностью завершился и перешел в фазу Failed. Для заданий с политикой сбоя Pod политика замены Failed является обязательной. Состояние завершающихся Pod можно проверить с помощью kubectl get job myjob -o=jsonpath='{.status.terminating}'. Пример демонстрирует, как установка политики в Failed предотвращает запуск нового Pod до тех пор, пока завершающийся Pod полностью не завершится. Это улучшение направлено на обеспечение более надежного контроля над управлением жизненным циклом Pod заданий.
.spec.podReplacementPolicy. ПолитикаTerminatingOrFailed, используемая по умолчанию, воссоздает Pod, как только они начинают завершаться. ПолитикаFailed, однако, создает новый Pod только после того, как старый полностью завершился и перешел в фазуFailed. Для заданий с политикой сбоя Pod политика заменыFailedявляется обязательной. Состояние завершающихся Pod можно проверить с помощьюkubectl get job myjob -o=jsonpath='{.status.terminating}'. Пример демонстрирует, как установка политики вFailedпредотвращает запуск нового Pod до тех пор, пока завершающийся Pod полностью не завершится. Это улучшение направлено на обеспечение более надежного контроля над управлением жизненным циклом Pod заданий.