我想计算Kubernetes中单个Pod的CPU和内存利用率百分比。为此,我正在使用指标服务器API
kubectl顶部窗格--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总数)* 100
MEM% =((6 + 7 + 53 + 257)/ AllocatableMemory)* 100
请告诉我我是对还是错。因为我没有在Kubernetes文档中看到任何用于计算Pod利用率的标准公式
答案 0 :(得分:1)
很遗憾,kubectl top pods
仅提供了quantity values,而没有百分比。
Here是如何解释这些值的很好的解释。
当前无法使用kubectl top
命令以百分比形式列出pod资源的使用情况。
您仍然可以选择Grafana with Prometheus,但已经有人说您不想使用它(但是,社区中另一个有类似问题的成员可能会这样做,所以我在这里提到它)。
编辑:
您的公式是正确的。他们将计算所有Pod消耗的CPU / Mem相对于您获得的CPU / Mem总数。
我希望它会有所帮助。