.. _list_container_image: ========================== 列出集群的容器镜像 ========================== 列错所有namespaces中的容器镜像 =============================== 以下命令可以列出集群所有namespace中容器镜像: .. literalinclude:: list_container_image/get_pods_images :caption: 列出集群中所有pod的容器镜像 输出类似: .. literalinclude:: list_container_image/get_pods_images_output :caption: 列出集群中所有pod的容器镜像的输出 上面的命令中: - ``kubectl get pods --all-namespaces`` 获取所有pods列表 - ``-o jsonpath={.items[*].spec['initContainers', 'containers'][*].image}`` 获取json格式的实例镜像,此时输出是堆叠在一行里面 - 通过 ``tr`` 将空格替换成换行 - 通过 ``sort`` 排序 - 通过 ``uniq`` 聚合 不过,上述命令没有列出每个镜像的大小,有一个改进命令如下: .. literalinclude:: list_container_image/get_pods_images_size :caption: 获取集群中容器镜像以及大小 输出类似 .. literalinclude:: list_container_image/get_pods_images_size_output :caption: 获取集群中容器镜像以及大小输出案例,数字的单位是字节(也可以转换成MB) 列出指定pod中所有container ============================= 列粗一个pod中所有容器:: kubectl get pods [pod-name-here] -n [namespace] -o jsonpath='{.spec.containers[*].name}' 举例:: kubectl --kubeconfig admin.kubeconfig -n kube-system get pods apiserver-56c6db8b58-8l4dn -o jsonpath='{.spec.containers[*].name}' .. note:: 其他案例以后补充 参考 ======= - `List All Container Images Running in a Cluster `_ - `How to List All Containers in a Pod in Kubernetes Cluster `_ - `List container images in Kubernetes cluster with SIZE (like docker image ls) `_