kubectl等待容器完成

时间:2020-08-28 10:33:24

标签: kubernetes

我有一个pod规范,它运行rm -rf /some/path这样的命令

我使用kubectl apply -f ...

创建广告连播

现在我要等到吊舱完成。 我可以看到广告连播已完成,kubectl get pod/<mypod>显示STATUS Completed

如何等待这种情况?

我看过kubectl wait ...,但这似乎对我没有帮助

kubectl wait --for=condition=complete pod/<my-pod>似乎刚刚被阻止。 我尚未删除该广告连播,但它仍处于“已完成”状态

1 个答案:

答案 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,那就更好了。