Kubernetes集群安装kube-prometheus后无法执行kubectl|Kubernetes集群安装kube-prometheus后无法执行kubectl top node

背景: 【Kubernetes集群安装kube-prometheus后无法执行kubectl|Kubernetes集群安装kube-prometheus后无法执行kubectl top node】Kubernetes 1.20.5 安装Prometheus-Oprator嗯,我的集群是1.21.3了虽然是......
执行kubectl top nodes如下:
Kubernetes集群安装kube-prometheus后无法执行kubectl|Kubernetes集群安装kube-prometheus后无法执行kubectl top node
文章图片

解决问题过程: 网上一堆各种说法的,但是没有一个是适用于我的。把monitoring下所有的pod的日志看了一个遍,然后在prometheus-adapter中发现日志如下:
Kubernetes集群安装kube-prometheus后无法执行kubectl|Kubernetes集群安装kube-prometheus后无法执行kubectl top node
文章图片

嗯想起来了我的集群都不是默认的cluster.local!如果有跟我一样自定义命名集群的需要注意修改这个这个配置!
然后找一下配置文件中哪个文件有此项配置:
比较笨的方式:

grep -A2 -B2cluster.local

Kubernetes集群安装kube-prometheus后无法执行kubectl|Kubernetes集群安装kube-prometheus后无法执行kubectl top node
文章图片

Kubernetes集群安装kube-prometheus后无法执行kubectl|Kubernetes集群安装kube-prometheus后无法执行kubectl top node
文章图片
一个一个前缀的排除。最后确认是prometheus-adapter-deployment.yaml配置文件,修改一下:
Kubernetes集群安装kube-prometheus后无法执行kubectl|Kubernetes集群安装kube-prometheus后无法执行kubectl top node
文章图片

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 NAMECPU(cores)CPU%MEMORY(bytes)MEMORY% k8s-master-01231m5%2497Mi31% k8s-master-02227m5%1989Mi25% k8s-master-03235m5%2071Mi26% k8s-node-01490m3%4023Mi12% k8s-node-02221m1%4854Mi15% k8s-node-03616m3%10671Mi33% k8s-node-04644m4%6238Mi19% k8s-node-05620m3%9058Mi28% k8s-node-06196m4%5436Mi69

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

    推荐阅读