我正在写一个shell脚本,我需要等待所有的pod都在2/2中,并且在继续之前处于运行阶段。命名空间中大约有七个pod。我如何才能做到这一点?
我尝试运行一个while
循环,检查每个pod是否处于运行状态,并使用以下命令执行2/2:
kubectl get pods -n iit-oratst15 | grep 'Running' | awk 'NR >= 1 && NR < 2{print $2}'
但这似乎不是个好主意
我希望我的脚本等到所有的pod都处于2/2和运行阶段,然后再继续。
我正在写一个shell脚本,我需要等待所有的pod都在2/2中,并且在继续之前处于运行阶段。命名空间中大约有七个pod。我如何才能做到这一点?
我尝试运行一个while
循环,检查每个pod是否处于运行状态,并使用以下命令执行2/2:
kubectl get pods -n iit-oratst15 | grep 'Running' | awk 'NR >= 1 && NR < 2{print $2}'
但这似乎不是个好主意
我希望我的脚本等到所有的pod都处于2/2和运行阶段,然后再继续。
1条答案
按热度按时间abithluo1#
您应该能够使用
kubectl wait
命令。如果你的所有pod都可以通过一个特定的标签来识别,你可以这样做(假设你的pod的标签
app
等于example
):如果你想等待所有的Pod而不考虑标签,你可以运行:
第二个
kubectl
命令(kubectl get pod -o name
)生成一个pod列表,如下所示:它为
kubectl wait
命令提供适当的参数。