Как узнать, не удалось ли выполнить задание K8s с помощью kubectl?

У меня есть задание Kubernetes, которое выполняется в течение некоторого времени, и мне нужно проверить, провалилось ли оно или было успешно.

Я проверяю это периодически:

kubectl describe job/myjob | grep "1 Succeeded"

Это работает, но я обеспокоен тем, что изменение в kubernetes может сломать это; скажем, сообщение изменено на "1 выполнено успешно" (глупый текст, но вы понимаете, что я имею в виду), и теперь мой grep не найдет то, что ищет.

Какие-либо предложения? это делается в скрипте bash.

1 ответ

Решение

Вы можете получить эту информацию из задания, используя фильтрацию jsonpath, чтобы выбрать поле.status.succeeded интересующего вас задания. Оно вернет только интересующее вас значение.

от kubectl explain job.status.succeeded:

Количество стручков, достигших фазы Успешно.

Эта команда получит вам это поле для конкретной указанной работы:

kubectl get job <jobname> -o jsonpath={.status.succeeded}
Другие вопросы по тегам