"kubectl wait" ждет вечно - PullRequest
       11

"kubectl wait" ждет вечно

1 голос
/ 22 марта 2019

Я пытаюсь написать небольшой сценарий оболочки, который проверяет вывод журнала долго работающего модуля Kubernetes, когда модуль готов.

Сценарий должен ожидать состояния «Завершено», но следующая команда не завершается при переключении состояния с «Выполнено» на «Завершено»:

$ kubectl wait --for = условие = выполнено - timeout = 24 часа в паре / longrunningpodname

^ C

$ kubectl get pods

ИМЯ ГОТОВЫЙ СТАТУС ВОЗРАСТАЕТ ВОЗРАСТ

longrunningpodname 0/1 Завершено 0 18h

Я также ожидал бы, что команда немедленно вернется, если Pod уже находится в статусе. Но этого не происходит.

kubectl wait - это не команда, которую я ищу?

1 Ответ

1 голос
/ 22 марта 2019

Использование пустых модулей - не лучший подход к выполнению команд, которые должны завершиться. Рассмотрите возможность использования Job Controller :

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

Затем можно дождаться условия работы:
kubectl wait --for=condition=complete --timeout=24h job/longrunningjobname

...