我的命名空间中有许多部署对象。我想同时为他们全部运行kubectl rollout status
。因此,我希望仅在所有推出均已完成或发生错误时退出该命令。我该如何实现?
到目前为止,我唯一得到的是:
kubectl get deploy -o name | xargs -n1 -t kubectl rollout status
但是我希望有一些更聪明的东西。
答案 0 :(得分:1)
所以我想我想到的是最好的。
kubectl get deploy --output name | \
timeout -t 300 \
xargs -n1 -t \
kubectl rollout status
答案 1 :(得分:0)
您可以使用以下简单检查:
#!/bin/bash
deploy=$(kubectl get deploy -o name)
for i in $deploy; do kubectl rollout status $i -w --timeout=30s; done
您还可以使用此post中的线索来构建更高级的脚本。