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

如何获取Kubernetes Controller Manager指标?kubeadm集群遇403权限问题

解决Kubernetes Controller Manager指标403权限错误的方法

针对kubeadm部署的集群,出现system:anonymous用户无法访问/metrics的403错误,可通过以下两种方式解决:

方法一:临时认证访问(无需修改集群配置)

适合临时调试场景,利用集群的认证凭据访问:

  • 方式1:通过kubectl proxy转发
    先启动kubectl代理:
    kubectl proxy --port=8080
    
    另开终端执行curl访问:
    curl http://localhost:8080/api/v1/namespaces/kube-system/services/kube-controller-manager:https/proxy/metrics
    
  • 方式2:直接使用集群证书访问
    利用kubeadm生成的客户端证书进行认证:
    curl -k --cert /etc/kubernetes/pki/apiserver-kubelet-client.crt --key /etc/kubernetes/pki/apiserver-kubelet-client.key https://localhost:10257/metrics
    

方法二:修改Controller Manager配置允许匿名访问(长期适用)

如果需要长期开放metrics供监控系统采集,可修改Controller Manager的静态Pod配置:

  1. 编辑静态Pod配置文件:
    vi /etc/kubernetes/manifests/kube-controller-manager.yaml
    
  2. 在spec.containers[0].command列表中添加或修改参数:
    添加--anonymous-auth=true(若已有该参数且值为false,改为true)
  3. 保存文件后,kubelet会自动重启Controller Manager Pod,等待约1分钟后,执行原命令即可获取指标:
    curl -k https://localhost:10257/metrics
    

注意:开放匿名访问会降低安全性,若集群处于生产环境,建议优先使用方法一的认证方式,或配置RBAC权限允许特定用户访问metrics端点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 01:50:25