Как узнать, не удалось ли выполнить задание 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}