gpt4 book ai didi

kubernetes - 如何计算kube状态指标中pod的cpu使用率?

转载 作者:行者123 更新时间:2023-12-02 11:39:29 29 4
gpt4 key购买 nike

我使用prometheus远程使用kubernetes api和kube状态度量来监视eks集群。
在Kubernetes api中,我们有一个指标 container_cpu_usage_seconds_total ,它提供了pod的CPU使用率。
在kube-state-metrics中是否有类似的指标可以提供cpu的使用。
实际上我正在尝试获取与kubernetes api和kube-state-metrics完全不同的集群cpu使用率
以下是计算。

kube-state-metrics:
sum(kube_pod_container_resource_requests_cpu_cores) / sum(kube_node_status_allocatable_cpu_cores) * 100-这产生101%

而kube-state-metrics提供的12%对我来说很准确。

kubernetes-api:
sum (rate (container_cpu_usage_seconds_total{id="/",kubernetes_io_hostname=~"^$Node$", job=~"$job$"}[5m])) / sum (machine_cpu_cores{kubernetes_io_hostname=~"^$Node$", job=~"$job$"}) * 100
我认为与kubernetes-api相比,kube-state-metric中没有任何指标可以提供cpu使用率

提前致谢。

最佳答案

kube_state_metric中,没有针对每个容器的cpu使用率的特定指标(一个)。

您获得的值(value):sum(kube_pod_container_resource_requests_cpu_cores) / sum(kube_node_status_allocatable_cpu_cores) * 100 = 101可能是错误的,因为诸如 kube_node_status_allocatable_cpu_cores kube_pod_container_resource_requests_cpu_cores 之类的指标被标记为 DEPRECIATED

同时请注意,存在类似 kube_pod_container_resource_limits_cpu_cores 的度量。
您的容器可能设置了资源限制,这就是为什么您的结果可能超过 100%的原因。如果为每个容器设置了限制,请检查资源限制是否低于该资源请求,然后您的计算应如下所示:[sum(kube_pod_container_resource_requests_cpu_cores) - sum(kube_pod_container_resource_limits_cpu_cores)]/ sum(kube_node_status_allocatable_cpu_cores) * 100

查看 kube_state_metrics 中容器和节点的每个资源指标:
node_metricspod_container_metrics

关于kubernetes - 如何计算kube状态指标中pod的cpu使用率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56617815/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com