跳到主要内容

K3s 配置 metrics-server

在 K3s 中,默认情况下 metrics-server 是自动部署的,并且它的配置是由 K3s 自身来管理的。如果你需要修改 metrics-server 的设置,你可能需要先禁用 K3s 的内置 metrics-server,然后手动部署你自己版本的 metrics-server

禁用 K3s 的内置 metrics-server

你可以在安装 K3s 时通过使用 --disable metrics-server 选项来禁用内置的 metrics-server,或者你可以在已经安装的系统上禁用它。

要在已安装的系统上禁用 metrics-server,你可以编辑 K3s 服务文件:

1、打开 K3s 服务文件:

sudo nano /etc/systemd/system/k3s.service

或者对于 K3s agent:

sudo nano /etc/systemd/system/k3s-agent.service

2、在 ExecStart 行中添加 --disable metrics-server。例如:

ExecStart=/usr/local/bin/k3s server --disable metrics-server

3、保存文件并退出编辑器。

4、重新加载 systemd 配置并重启 K3s:

sudo systemctl daemon-reload
sudo systemctl restart k3s

部署你自己的 metrics-server

现在你可以部署你自己版本的 metrics-server 并根据你的需求进行配置。

1、下载 metrics-server 的部署文件:

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

2、编辑 components.yaml 文件,找到 metrics-server 的部署部分,并在 args 下添加你需要的任何参数。例如,为了禁用 TLS 证书验证,你可以添加 --kubelet-insecure-tls 参数:

- --kubelet-insecure-tls

3、应用这个配置:

kubectl apply -f components.yaml

通过这些步骤,你应该能够在 K3s 中禁用内置的 metrics-server 并部署你自己配置的版本。确保你了解通过这种方式进行修改可能会带来的安全风险,尤其是当你禁用 TLS 证书验证时。

使用镜像拉取 Image

报错

Failed to pull image "k8s.gcr.io/metrics-server/metrics-server:v0.4.1": rpc error: code = Unknown desc = Error response from daemon: Get https://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

说明是网络问题,k8s.gcr.io/metrics-server/metrics-server:v0.4.1 这个源的镜像无法拉取

换成国内的镜像

registry.cn-hangzhou.aliyuncs.com/google_containers/metrics-server:v0.6.3

IP 超时

dial tcp 10.43.0.1:443: i/o timeout

把这个 IP 解析到本机

sudo ip route add 10.43.0.1 via 192.168.1.1

参考 https://weseek.co.jp/tech/282/