%20%D0%B2%20%D0%B7%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D0%B8%20Kubernetes%3F.png)
У меня есть задание, которое я хотел бы повторить несколько раз в Kubernetes. Задание может иметь backoffLimit
и activeDeadlineSeconds
набор. Пока все круто.
Однако, к сожалению, последний параметр имеет приоритет над первым. Моя работа блокируется на долгое время, пока не даст сбой, поэтому я хотел бы иметь возможность повторить задачу в новом поде скаждыйпопробуйте еще раз, установив крайний срок.
Например, попробуйте пять раз, давая на каждую попытку 30 секунд.
Возможно ли это в Kubernetes?
решение1
Как установить крайний срок/тайм-аут для каждой попытки (backoffLimit) в задании Kubernetes?
...
Возможно ли это в Kubernetes?
В K8s этого сделать нельзя, придется внедрять логику в скрипт или изображение, которые вы используете внутри pod
.
Как мы можем прочитать в документацииЗавершение работы и очистка о чем Вы упомянули.
Обратите внимание, что Job
.spec.activeDeadlineSeconds
имеет приоритет над своим.spec.backoffLimit
. Таким образом, Job, который повторно пытается запустить один или несколько отказавших Pod, не будет развертывать дополнительные Pod после достижения временного предела, указанного вactiveDeadlineSeconds
, даже еслиbackoffLimit
еще не достигнут.