检查Kubernetes Pod状态以了解完成状态

lee*_*n24 7 kubernetes

有没有办法检查广告连播状态是否处于完成状态?我有一个Pod,我只想使用一次(init容器不能完全满足我的目的),并且想写一张支票以等待Completed状态。

我能够获得“运行中”,“待处理”,但无法获取“已完成”。

运行:

[user @ sandbox gcp_kubernetes_installation] $ kubectl get pods --field-selector = status.phase =正在运行-n mynamespace
名称就绪状态重启年龄
mssql-deployment-795dfcf9f7-l2b44 1/1运行0 6m
data-load-pod 1/1运行0 5m

待处理:

[user @ sandbox gcp_kubernetes_installation] $ kubectl get pods --field-selector = status.phase =待定-n mynamespace
名称就绪状态重启年龄
app-deployment-0 0/1待定0 5m

已完成:

[user @ sandbox gcp_kubernetes_installation] $ kubectl获取pod -n名称空间
名称就绪状态重启年龄
mssql-deployment-795dfcf9f7-l2b44 1/1运行中0 11m
data-load-data-load-pod 0/1完成0 10m
app-deployment-0 0/1待定0 10m
[user @ sandbox gcp_kubernetes_installation] $ kubectl get pods --field-selector = status.phase =已完成-n名称空间
找不到资源。

我相信字段选择器中可能存在错误,但是只是想知道是否有任何解决方法或细节。

Edu*_*llo 6

成功完成的Pod 的正确status.phase成功

因此,要仅过滤完成的容器,应使用以下命令:
kubectl get pod --field-selector=status.phase=Succeeded

虽然,不建议使用裸豆荚。考虑使用作业控制器

作业创建一个或多个Pod,并确保指定数量的Pod成功终止。吊舱成功完成后,工作将跟踪成功完成的情况。

您可以使用以下方法检查工作条件并等待它们:
kubectl wait --for=condition=complete job/myjob