我有一个pod规范,它运行rm -rf /some/path
这样的命令
我使用kubectl apply -f ...
现在我要等到吊舱完成。
我可以看到广告连播已完成,kubectl get pod/<mypod>
显示STATUS Completed
如何等待这种情况?
我看过kubectl wait ...
,但这似乎对我没有帮助
kubectl wait --for=condition=complete pod/<my-pod>
似乎刚刚被阻止。
我尚未删除该广告连播,但它仍处于“已完成”状态
答案 0 :(得分:3)
您使用的命令:kubectl wait --for=condition=complete pod/<my-pod>
将不起作用,因为容器没有这种情况。 Pod Conditions如下:
PodScheduled
:已将Pod调度到一个节点。
ContainersReady
:窗格中的所有容器均已准备就绪。
Initialized
:所有初始化容器都已成功启动。
Ready
:该Pod能够处理请求,应将其添加到所有匹配服务的负载平衡池中。
成功完成的广告连播的phase称为succeeded
:
Pod中的所有容器已成功终止,并且不会 重新启动。
但是,如果您对Jobs使用kubectl wait
而不是裸Pod并执行kubectl wait --for=condition=complete job/myjob
,那就更好了。