Состояние развертывания kubectl для ВСЕХ развертываний в пространстве имен - PullRequest
2 голосов
/ 20 сентября 2019

У меня есть несколько объектов развертывания в моем пространстве имен.Я хотел бы запустить kubectl rollout status для всех них одновременно.Итак, я бы хотел, чтобы команда выходила, только когда все развертывания завершены или произошла ошибка.Как мне этого добиться?

Единственное, что я получил до сих пор, это:

kubectl get deploy -o name | xargs -n1 -t kubectl rollout status

Но я надеюсь, что есть что-то умнее.

Ответы [ 2 ]

1 голос
/ 23 сентября 2019

Так что я думаю, что я придумал, лучшее, что есть.

kubectl get deploy --output name | \
  timeout -t 300 \
    xargs -n1 -t \
      kubectl rollout status
0 голосов
/ 20 сентября 2019

Вы можете использовать эту простую проверку:

#!/bin/bash
deploy=$(kubectl get deploy -o name)
for i in $deploy; do kubectl rollout status $i -w --timeout=30s; done

Вы также можете создать более продвинутый скрипт, используя подсказки в этом посте .

...