关于Metrics_server在自托管环境下无法使用的问题

修复kubernetes的metrics server在自托管环境下因缺少CA证书而无法运行的问题。
关于Metrics_server在自托管环境下无法使用的问题
Photo by Growtika / Unsplash

未安装metrics_server

在使用涉及查看pod资源使用情况的top命令,如kubectl top pods,kubectl top nodes时出现metrics API not available等的错误。

修复

同过官方配置文件运行metrics_server容器解决

kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

缺少CA证书导致403错误

在自托管的环境下,由于缺少CA证书导致TLS认证失败,因此虽然metrics server能够运行,但无法提供服务。

解决方法

修改kubernetes组件配置。

首先下载配置

wget https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml

修改部分yaml配置: 在第134行的args列表中,添加一个参数:、

--kubelet-insecure-tls

该参数允许用户在不安全的环境下使用metrics server

应用配置

kubectl apply -f components.yaml 

然后应该可以看到metrics server是running且ready状态