欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

安装metric-server,运行kubectl top nodes报错 Error from server (ServiceUnavailable)

程序员文章站 2022-07-13 21:12:23
...

安装metric-server,运行kubectl top nodes报错 Error from server (ServiceUnavailable): the server is currently unable to handle the request

安装metric-server,pod可以正常运行,但是运行kubectl top nodes会报错 :Error from server (ServiceUnavailable): the server is currently unable to handle the request
查了很多博客,解决方案基本雷同,最终都不能解决此问题。好在锲而不舍,找到了问题的根源,是个容易被忽略的小问题。排查与解决方法如下:

运行:

kubectl top node

发现失败:
安装metric-server,运行kubectl top nodes报错 Error from server (ServiceUnavailable)
第一个提示是版本的更新问题,意思是下一个版本将切换到协议缓冲区,通过传递–use protocol buffers标志提前切换。

第二个提示说明服务异常。排查问题:

kubectl get --raw "/apis/metrics.k8s.io/v1beta1"

输出为:

Error from server (ServiceUnavailable): the server is currently unable to handle the request

再执行:

kubectl get apiservice | grep metrics.k8s.io

输出为:

安装metric-server,运行kubectl top nodes报错 Error from server (ServiceUnavailable)
执行:

 kubectl describe apiservice v1beta1.metrics.k8s.io

可以看到:
安装metric-server,运行kubectl top nodes报错 Error from server (ServiceUnavailable)
https请求无法访问,是不是和代理有关系?打开/etc/kubernetes/manifests/kube-apiserver.yaml,原来是之前添加了代理,添加no_proxy(黄色标出,metric server的pod ip):安装metric-server,运行kubectl top nodes报错 Error from server (ServiceUnavailable)
问题解决!kubectl top XXX已可以正常使用:
安装metric-server,运行kubectl top nodes报错 Error from server (ServiceUnavailable)