Как очистить не удалось CronJob породил Джобса, как только более поздняя работа проходит - PullRequest
0 голосов
/ 20 октября 2019

Я выполняю задачи управления с помощью Kubernetes CronJobs и Prometheus оповещает о сбое одного из порожденных заданий, используя kube-state-metrics :

kube_job_status_failed{job="kube-state-metrics"}  > 0

Я хочу его получитьтак, чтобы при прохождении более поздних заданий сбойные очищались, и предупреждение перестало срабатывать.

Поддерживает ли ресурс CronJob это поведение самостоятельно?

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

Kubernetes version: v1.15.1

Ответы [ 2 ]

0 голосов
/ 21 октября 2019

Существует большое руководство Kubernetes по очистке заданий.

В частности, ttlSecondsAfterFinished определено в JobSpec API .

Thisдолжен делать то, что вы спрашиваете, IE. Если несколько неудачных заданий возникают, когда одно из них выполняется, время до их удаления.

0 голосов
/ 20 октября 2019

В качестве обходного пути следующий запрос покажет CronJobs, где последнее завершенное задание не удалось

(max by(owner_name, namespace) (kube_job_status_start_time * on(job_name) group_left(owner_name) ((kube_job_status_succeeded / kube_job_status_succeeded == 1) + on(job_name) group_left(owner_name) (0 * kube_job_owner{owner_is_controller="true",owner_kind="CronJob"}))))
< bool
(max by(owner_name, namespace) (kube_job_status_start_time * on(job_name) group_left(owner_name) ((kube_job_status_failed / kube_job_status_failed == 1) + on(job_name) group_left(owner_name) (0 * kube_job_owner{owner_is_controller="true",owner_kind="CronJob"})))) == 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...