JobConditions
аналогично PodConditions
. Вы можете прочитать о PodConditions
в официальных документах .
В любом случае, чтобы определить успешный модуль, я иду по другому пути. Давайте посмотрим на это.
В спецификации задания есть два поля.
Один - это spec.completion
(значение по умолчанию 1), что говорит:
Указывает желаемое количество успешно завершенных контейнеров.
задание должно выполняться с.
Другим является spec.backoffLimit
(значение по умолчанию 6), которое говорит:
Указывает количество повторных попыток, прежде чем пометить это задание не удалось.
Сейчас в JobStatus
В JobStatus также есть два поля. Succeeded
и Failed
. Succeeded
означает, сколько раз стручок завершил успешно, а Failed
обозначает, сколько стручков достигло фазы Failed.
- Как только
Success
станет равным или больше spec.completion
, задание станет completed
.
- Если
Failed
равно или больше spec.backOffLimit
, задание станет failed
.
Итак, логика будет здесь,
if job.Status.Succeeded >= *job.Spec.Completion {
return "completed"
} else if job.Status.Failed >= *job.Spec.BackoffLimit {
return "failed"
}