Kubernetes 列出所有未运行的容器

问题描述

如何使用 Kubectl 命令列出所有未运行的容器。我想要像

这样的输出
CONTAINER_NAME   STATUS        POD_NAME       NAMESPACE <br>
container_1      Running       pod_1          ns1       <br>
container_2      Not Running   pod_2          ns2       <br>
container_3      Running       pod_2          ns2       <br>

解决方法

kubectl get pods --field-selector status.phase!=Running

上面的命令将列出所有 pod,而不是默认命名空间的运行状态。

如果你想在所有命名空间中运行一个命令并列出所有 PODS

kubectl get pods --field-selector status.phase!=Running --all-namespaces

如果您想打印命名空间

,您还可以根据需要打印自定义列
kubectl get pod --field-selector status.phase!=Running -o=custom-columns=NAME:.metadata.name,STATUS:.status.phase,NAMEDPACE:.metadata.namespace

最后用列命令你期待的方式

kubectl get pod --field-selector status.phase!=Running -o=custom-columns=POD_NAME:.metadata.name,NAMEDPACE:.metadata.namespace,CONTAINER_NAME:.spec.containers[*].name