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

如何在GKE集群中为Metrics Server设置--metric-resolution=15s参数?

在GKE集群中自定义Metrics Server的metric-resolution参数

GKE默认的Metrics Server由集群插件管理器(addon manager)管控,任何直接修改Deployment的操作都会被自动 reconcile 回默认配置,包括删除相关标签/注解也会被插件控制器重新添加。要设置--metric-resolution=15s,需要绕过默认插件管理,手动部署自定义的Metrics Server:

步骤1:禁用GKE自带的Metrics Server插件

通过gcloud命令禁用集群的Metrics Server插件:

gcloud container clusters update <你的集群名称> --region <集群区域> --update-addons=MetricsServer=DISABLED

也可以通过GKE控制台操作:进入集群详情页 → 「添加组件」→ 找到Metrics Server → 设置为「已禁用」。

步骤2:部署自定义配置的Metrics Server

  1. 下载对应版本(v0.5.2)的官方部署yaml:
wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.5.2/components.yaml
  1. 编辑yaml文件,找到kube-system命名空间下的metrics-server Deployment,修改容器的args部分,添加--metric-resolution=15s参数(替换原有的30s配置):
containers:
- name: metrics-server
  image: k8s.gcr.io/metrics-server/metrics-server:v0.5.2
  args:
    - --cert-dir=/tmp
    - --secure-port=4443
    - --kubelet-preferred-address-types=InternalIP,ExternalIP,Hostname
    - --kubelet-use-node-status-port
    - --metric-resolution=15s  # 新增/修改此参数
  1. 应用修改后的yaml:
kubectl apply -f components.yaml

步骤3:验证配置生效

  1. 查看Metrics Server Pod的日志,确认参数已加载:
kubectl logs -n kube-system -l k8s-app=metrics-server | grep "metric-resolution"

输出中应该能看到--metric-resolution=15s的记录。
2. 等待2-3分钟后,通过kubectl top nodes或kubectl top pods多次查询指标,观察数据更新频率是否变为15秒左右。

注意事项

  • 禁用GKE自带插件后,Metrics Server的版本更新、故障排查需要自行维护,集群升级不会自动同步该组件。
  • 确保手动部署的Metrics Server版本与GKE集群版本兼容:v0.5.2支持Kubernetes 1.24-1.27,与你的集群版本(v1.26.12-gke)匹配。
  • 如果遇到kubelet连接问题,可尝试添加--kubelet-insecure-tls参数到args中,但仅在测试环境使用,生产环境建议配置正确的证书信任。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 16:00:18