背景:
Kubernetes 1.20.5 装置 Prometheus-Oprator 嗯,我的集群是 1.21.3 了尽管是 ……
执行 kubectl top nodes 如下:
解决问题过程:
网上一堆各种说法的,然而没有一个是实用于我的。把 monitoring 下所有的 pod 的日志看了一个遍,而后在 prometheus-adapter 中发现日志如下:
嗯想起来了我的集群都不是默认的 cluster.local!如果有跟我一样自定义命名集群的须要留神批改这个这个配置!
而后找一下配置文件中哪个文件有此项配置:
比拟笨的形式:
grep -A2 -B2 cluster.local
一个一个前缀的排除。最初确认是 prometheus-adapter-deployment.yaml 配置文件,批改一下:
kubectl apply -f prometheus-adapter-deployment.yaml
kubectl get pods -n monitoring
期待 pod 更新重新启动验证:
[root@k8s-master-01 manifests]# kubectl top nodes
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
NAME CPU(cores) CPU% MEMORY(bytes) MEMORY%
k8s-master-01 231m 5% 2497Mi 31%
k8s-master-02 227m 5% 1989Mi 25%
k8s-master-03 235m 5% 2071Mi 26%
k8s-node-01 490m 3% 4023Mi 12%
k8s-node-02 221m 1% 4854Mi 15%
k8s-node-03 616m 3% 10671Mi 33%
k8s-node-04 644m 4% 6238Mi 19%
k8s-node-05 620m 3% 9058Mi 28%
k8s-node-06 196m 4% 5436Mi 69
尽信书则不如无书。还是多看一下集体环境的日志。而后标注一下集体集群的批改中央。更快的定位问题,并解决问题!