k8s-Metrics Serverv0.5.2安装以及报错解决
在查看k8s 环境中,使用top命令查看Pod的CPU、内存使用过程中,遇到以下问题:
如上看到ERROR信息“Metrics API not available”,这是由于该Kuernetes环境没有安装metric-server组件导致的。
安装metric-server组件可以参考Github上的安装参考资料:https://github.com/kubernetes-sigs/metrics-server,如下所示:
在正常可以科学上网的情况下,可以拉取到镜像k8s.gcr.io/metrics-server/metrics-server:v0.5.2
,即可安装完成。
但是呢公司服务器就是不行!只能通过:
然后查看Pod是否OK,等待一段时间查看哈:
该metric-server Pod尚未准备运行完成,describe查看其详细信息:
可以看到在描述中的事件信息中直接:Readiness probe failed: HTTP probe failed with statuscode: 500
然后日志全是这种错:
针对这个报错,仔细查阅Github上的安装参考资料:https://github.com/kubernetes-sigs/metrics-server (全英文-日了狗)
1.安装要求,如下红框中说明,Kubelet证书需要由群集证书颁发机构签名(或可以禁用证书验证,通过对Metrics Server配置参数–Kubelet-insecure-tls不安全)
2.配置,如下红框中说明,添加了--Kubelet-insecure-tls
这个配置,就不会去验证Kubelets提供的服务证书的CA。只能在测试环境哦-不安全
修改之前的apply的components.yaml
文件,添加--Kubelet-insecure-tls
参数,
–kubelet-insecure-tls
:kubelet 的10250端口使用的是https协议,连接需要验证tls证书。–kubelet-insecure-tls
不验证客户端证书
如下所示
重新apply components.yaml
文件,以及查看Pod
验证top: