Как установить крайний срок/тайм-аут для каждой попытки (backoffLimit) в задании Kubernetes?

Как установить крайний срок/тайм-аут для каждой попытки (backoffLimit) в задании Kubernetes?

У меня есть задание, которое я хотел бы повторить несколько раз в Kubernetes. Задание может иметь backoffLimitи activeDeadlineSecondsнабор. Пока все круто.

Однако, к сожалению, последний параметр имеет приоритет над первым. Моя работа блокируется на долгое время, пока не даст сбой, поэтому я хотел бы иметь возможность повторить задачу в новом поде скаждыйпопробуйте еще раз, установив крайний срок.

Например, попробуйте пять раз, давая на каждую попытку 30 секунд.

Возможно ли это в Kubernetes?

решение1

Как установить крайний срок/тайм-аут для каждой попытки (backoffLimit) в задании Kubernetes?

...

Возможно ли это в Kubernetes?

В K8s этого сделать нельзя, придется внедрять логику в скрипт или изображение, которые вы используете внутри pod.

Как мы можем прочитать в документацииЗавершение работы и очистка о чем Вы упомянули.

Обратите внимание, что Job .spec.activeDeadlineSecondsимеет приоритет над своим .spec.backoffLimit. Таким образом, Job, который повторно пытается запустить один или несколько отказавших Pod, не будет развертывать дополнительные Pod после достижения временного предела, указанного в activeDeadlineSeconds, даже если backoffLimitеще не достигнут.

Связанный контент