kubectl wait
не включает в себя функцию ожидания на несуществующем ресурсе еще .
Для чего-либо сложного попробуйте и используйте клиент kube API . Запустите watch
для группы ресурсов, и вы получите поток событий для нее, и продолжите, когда критерии события будут выполнены.
Если вы застряли в земле оболочки, kubectl
, похоже, не учитывает сигналы SIGPIPE при обработке вывода kubectl get x --watch
, так что, может быть, простой l oop ...
timeout=$(( $(date +%s) + 60 ))
while ! kubectl get job whatever 2>/dev/null; do
[ $(date +%s) -gt $timeout ] && exit 1
sleep 5
done