要列出 Kubernetes 集群中所有运行容器的镜像,你可以使用以下几种方法:

方法一:使用 kubectl 命令

使用 kubectl 命令可以列出运行在集群中所有 Pod 中的容器镜像。执行以下命令:
kubectl get pods --all-namespaces -o=jsonpath='{range .items[*].spec.containers[*]}{.image}{"\n"}{end}' | sort -u

这个命令的含义是在所有命名空间中获取所有 Pod,并通过 JSONPath 提取每个容器的镜像,最后通过 sort -u 命令去重并排序。

方法二:使用 kubectl 插件

有一些 kubectl 插件可以简化这个过程。例如,krew 是一个 kubectl 插件管理器,你可以使用它安装 kubectl-image 插件,然后运行以下命令:
kubectl krew install images
kubectl images

这将显示所有正在运行的 Pod 中使用的唯一容器镜像列表。

方法三:使用 Helm Chart

如果你在集群中使用 Helm 进行应用程序部署,你可以使用 Helm Chart 的 values.yaml 文件中的 image.repository 字段来查看正在使用的镜像。例如,运行以下命令:
helm list --all-namespaces --short | xargs -I{} helm get values {} --all | grep 'image.repository' | awk '{print $2}' | sort -u

这个命令列出了所有 Helm 部署中使用的镜像仓库。

选择其中一种方法根据你的需求,以获取正在运行的容器镜像的清单。


转载请注明出处:http://www.zyzy.cn/article/detail/9938/Kubernetes