gpt4 book ai didi

kubernetes - 列出所有具有状态的 pod 中的所有容器

转载 作者:行者123 更新时间:2023-12-02 11:34:15 26 4
gpt4 key购买 nike

我正在尝试获取所有 Pod 中所有未就绪容器的列表,以调试集群中的网络问题。

是否可以使用 kubectl 获取所有 pod 中所有容器及其状态 (READY/..) 的干净列表?

我正在使用

$ kubectl get pods 

但是,输出可能会很大,并且很难知道哪些容器准备就绪,哪些容器有问题。

谢谢。

最佳答案

kubectl get pods -o=jsonpath='{range .items[*]}{"\n"}{.metadata.name}{":\t"}{range .status.containerStatuses[* ]}{.ready}{", "}{end}{end}'

改编自此文档:https://kubernetes.io/docs/tasks/access-application-cluster/list-all-running-container-images/#list-containers-by-pod

编辑以描述 jsonpath 正在做什么:

根据我对 jsonpath 的理解,range 迭代了通过获取 pod 返回的所有 .items[*]。添加\n 以将结果拆分为每行一个,否则结果将成为一行。要查看其余部分如何工作,您应该选择一个 pod 并运行:kubectl get pod podname -o yaml
.metadata.name对应

apiVersion: v1
kind: Pod
metadata:
name: podname

类似地,.status.containerStatuses[*] 对应于容器状态列表,应该放在底部。

关于kubernetes - 列出所有具有状态的 pod 中的所有容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54912453/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com