You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Kubernetes metrics-server端口并适配kubectl指标查询?

问题根因

该报错和kubectl本地配置无关,请求链路是kubectl -> kube-apiserver(6443端口) -> 聚合层 -> metrics-server服务,你只修改了metrics-server服务本身的端口,但是kube-apiserver的聚合层注册的APIService资源里,仍然配置为访问metrics-server的443端口,导致apiserver无法正常转发指标请求。


临时修复(立即生效,可能被K3S默认的HelmChart管理逻辑重置)

  • 直接修改metrics-server对应的APIService资源的端口配置:
kubectl patch apiservice v1beta1.metrics.k8s.io --type='json' --patch='[{"op": "replace", "path": "/spec/service/port", "value":7443}]'
  • 等待10-30秒后验证请求是否恢复正常:
kubectl get --raw "/apis/metrics.k8s.io/v1beta1/nodes"

永久生效(适配K3S托管逻辑,避免配置被重置)

K3S默认通过内置的HelmChart控制器管理metrics-server,自定义配置需要写入指定目录的Manifest文件,避免控制器重置配置:

  1. 编辑配置文件/var/lib/rancher/k3s/server/manifests/metrics-server-config.yaml(文件不存在则新建),写入以下内容:
apiVersion: helm.cattle.io/v1
kind: HelmChartConfig
metadata:
  name: metrics-server
  namespace: kube-system
spec:
  valuesContent: |-
    service:
      port: 7443
  1. 保存后等待K3S自动同步配置即可,后续更新K3S版本也不会重置端口配置。

内容的提问来源于stack exchange,提问作者Marc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 11:54:04