【问题标题】:Kubernetes List All Containers that are not runningKubernetes 列出所有未运行的容器
【发布时间】:2021-04-01 22:17:35
【问题描述】:

如何使用 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>

【问题讨论】:

    标签: kubernetes kubectl jsonpath customcolumn


    【解决方案1】:
    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,STATUS:.status.phase,NAMEDPACE:.metadata.namespace,CONTAINER_NAME:.spec.containers[*].name
    

    【讨论】:

    • 感谢您的回复。我已经创建了一个命令来打印 pod_name、容器名称和状态。 kubectl get po -A -o jsonpath='{range .items[]}{"pod: "}{.metadata.name}{"\n"}{range .status.containerStatuses[] }{"\tcontainer_name: "}{.name}{"\n\tcontainer_status: "}{.ready}{"\n"}{end}' 但我想要没有运行状态的容器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-08
    • 1970-01-01
    • 2021-07-10
    • 2016-02-28
    • 2019-12-10
    • 2021-08-26
    • 1970-01-01
    相关资源
    最近更新 更多