问题描述
kube_pod_container_resource_requests_cpu_cores指标与实际占用不符
原因分析:
kubectl get po -A 发现存在大量Completed和Evicted状态的pod
查询grafana指标会发现当前指标查询出的数据包含已经退出的pod信息
既然数据是由kube-state-metrics提供的,那么我们去看一下kube-state-metrics获取数据的逻辑
查看源码进行分析
kube-metrics是获取apiserver的数据然后进行转换,虽然pod进入到退出状态,但是pod仍然存在在etcd的数据当中,所以遍历获取pod信息的时候还是拿到了相关数据
解决方案
不影响调度,因为节点可分配没有问题
可以手动进行清理操作,释放requests指标