从 k8s 集群上的所有 pod 规范中大规模拉取镜像 uri 的更好方法

从 k8s 集群上的所有 pod 规范中大规模拉取镜像 uri 的更好方法

团队,我看到了这个 [list-all-running-container-image]https://kubernetes.io/docs/tasks/access-application-cluster/list-all-running-container-images/。但是,我无法对此进行操作,因为这是非常繁重的操作,因为我的集群上有 25K 个 pod。

那么,从 pod 的所有规范中获取所有图像 uri 的更好的性能方法是什么?或者在拉取容器时从 pod 日志中获取。

目标是计算拉取的图像数量及其频率。除了使用 kubectl 命令之外,还有什么更好的解决方案吗?

如果此门户不适用于此类问题,请帮助重新路由。一旦我有解决方案,我将计划稍后存储它以及如何存储。

答案1

我想到的一个方法是,不查询 pod,而是查询节点状态本身,它会显示所有被拉取的图像,但它仍然没有显示被拉取的时间。如果有人有更好的解决方案,请告诉我们。

Kubectl 获取节点 node1 -o json | jq .status.images

[
  {
    "names": [
      "nbt.io/tb/gpu-tests@sha256:df989f2a6418bb5fb8af67b20facbd503b92e538489f50ba0a",
      "nbt.io/tb/gpu-tests:20210616-1706"
    ],
    "sizeBytes": 11701534918
  },

相关内容