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

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

Периодически проверяю:

kubectl describe job/myjob | grep "1 Succeeded"

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

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


person Greg Balajewicz    schedule 10.01.2019    source источник


Ответы (1)


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

с 1_:

Количество модулей, достигших фазы Succeeded.

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

kubectl get job <jobname> -o jsonpath={.status.succeeded}
person Marcus    schedule 10.01.2019