我想计算 Kubernetes 中单个 pod 的 CPU 和内存资源利用率的百分比。为此,我正在使用指标服务器 API
kubectl 顶部 pods --all-namespaces
kube-system coredns-5644d7b6d9-9whxx 2m 6Mi
kube-system coredns-5644d7b6d9-hzgjc 2m 7Mi
kube-system etcd-manhattan-master 10m 53Mi
kube-system kube-apiserver-manhattan-master 23m 257Mi
但我想要单个 pod 的百分比利用率 CPU % 和 MEM%
从 top 命令的这个输出中,不清楚它消耗了多少 cpu 和内存量?
我不想使用 Prometheus 运算符,我看到了一个公式
sum (rate (container_cpu_usage_seconds_total{image!=""}[1m])) by (pod_name)
我可以用 MetricsServer 来计算吗? API?
我想这样计算
CPU% = ((2+2+10+23)/总 CPU MILLICORES)*100
MEM% = ((6+7+53+257)/可分配内存)* 100
请告诉我我是对还是错。因为我在Kubernetes文档中没有看到任何计算pod利用率的标准公式
最佳答案
不幸的是kubectl top pods
仅提供 quantity values而不是百分比。
Here很好地解释了如何解释这些值。
当前无法使用 kubectl top
以百分比形式列出 pod 资源使用情况。命令。
您仍然可以选择Grafana with Prometheus但是已经声明您不想使用它(但是,也许社区中的另一个有类似问题的成员会这样做,所以我在这里提到它)。
编辑:
你的公式是正确的。他们将计算所有 Pod 相对于您获得的总 CPU/Mem 消耗了多少 CPU/Mem。
我希望它有帮助。
关于kubernetes - 如何使用度量服务器计算 kubernetes 中特定 pod 的百分比利用率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59044856/