我的命名空间中有许多部署对象。我想同时kubectl rollout status
为所有人竞选。所以,我希望命令退出,只有在所有部署完成或发生错误时。我怎样才能做到这一点?
到目前为止,我唯一得到的是:
kubectl get deploy -o name | xargs -n1 -t kubectl rollout status
但我希望有更聪明的东西。
我的命名空间中有许多部署对象。我想同时kubectl rollout status
为所有人竞选。所以,我希望命令退出,只有在所有部署完成或发生错误时。我怎样才能做到这一点?
到目前为止,我唯一得到的是:
kubectl get deploy -o name | xargs -n1 -t kubectl rollout status
但我希望有更聪明的东西。
您可以使用这个简单的检查:
#!/bin/bash
deploy=$(kubectl get deploy -o name)
for i in $deploy; do kubectl rollout status $i -w --timeout=30s; done
您还可以使用本文中的线索构建更高级的脚本。
所以我想我想出的是最好的。
kubectl get deploy --output name | \
timeout -t 300 \
xargs -n1 -t \
kubectl rollout status