背景:

Kubernetes 1.20.5 安装Prometheus-Oprator嗯,我的集群是1.21.3了虽然是……
执行kubectl top nodes如下:
image.png

解决问题过程:

网上一堆各种说法的,但是没有一个是适用于我的。把monitoring下所有的pod的日志看了一个遍,然后在prometheus-adapter中发现日志如下:
fcf7a1291d2455a34d1eb367f091b14.png
嗯想起来了我的集群都不是默认的cluster.local!如果有跟我一样自定义命名集群的需要注意修改这个这个配置!
然后找一下配置文件中哪个文件有此项配置:
比较笨的方式:

  1. grep -A2 -B2 cluster.local

4c2ee3cf74d31cd4272131fd40a3490.png
4c2ee3cf74d31cd4272131fd40a3490.png一个一个前缀的排除。最后确认是prometheus-adapter-deployment.yaml配置文件,修改一下:
51b4332b5746f35763dda994a86f64b.png

  1. kubectl apply -f prometheus-adapter-deployment.yaml
  2. kubectl get pods -n monitoring

等待pod更新重新启动验证:

  1. [root@k8s-master-01 manifests]# kubectl top nodes
  2. W0731 11:24:57.758043 1760118 top_node.go:119] Using json format to get metrics. Next release will switch to protocol-buffers, switch early by passing --use-protocol-buffers flag
  3. NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
  4. k8s-master-01 231m 5% 2497Mi 31%
  5. k8s-master-02 227m 5% 1989Mi 25%
  6. k8s-master-03 235m 5% 2071Mi 26%
  7. k8s-node-01 490m 3% 4023Mi 12%
  8. k8s-node-02 221m 1% 4854Mi 15%
  9. k8s-node-03 616m 3% 10671Mi 33%
  10. k8s-node-04 644m 4% 6238Mi 19%
  11. k8s-node-05 620m 3% 9058Mi 28%
  12. k8s-node-06 196m 4% 5436Mi 69

尽信书则不如无书。还是多看一下个人环境的日志。然后标注一下个人集群的修改地方。更快的定位问题,并解决问题!