Какой вариант использования для работы kubernetes?
Я ищу, чтобы полностью понять работу в kubernetes.
Я успешно создал и выполнил задание, но не вижу варианта использования.
Из-за того, что я не могу повторно выполнить работу или не могу активно слушать ее завершение, мне кажется, что это немного сложно.
Кто-нибудь их использует? Какой вариант использования?
Спасибо.
2 ответа
Задание повторяет попытки до тех пор, пока они не завершат работу, так что вы можете допустить ошибки, которые вызывают их удаление.
Если вы хотите запускать задание многократно и периодически, вы можете использовать CronJob alpha или cronetes.
В некоторых схемах управления шлемами задания используются для запуска команд установки, настройки или тестирования в кластерах в рамках установки служб. ( Пример).
Если вы сохраняете YAML для задания, вы можете перезапустить его, удалив старое задание, снова создав его, или отредактировав YAML, чтобы изменить имя (или использовать, например, sed
в сценарии).
Вы можете посмотреть статус задания с помощью этой команды:
kubectl get jobs myjob -w
-w
Вариант следит за изменениями. Вы ищете SUCCESSFUL
столбец для отображения 1
,
Вот командный цикл оболочки для ожидания завершения задания (например, в скрипте):
until kubectl get jobs myjob -o jsonpath='{.status.conditions[?(@.type=="Complete")].status}' | grep True ; do sleep 1 ; done
Одним из вариантов использования может быть создание резервной копии БД. Но, как уже упоминалось, это некоторые накладные расходы для запуска задания, например, когда задание завершается, блоки не удаляются. поэтому вам нужно вручную удалить задание (которое также удалит модули, созданные заданием). поэтому рекомендуемый вариант будет использовать Cron вместо Jobs