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

Lens/OpenLens报failed to get /version错误,kubectl正常求助解决方案

问题根因分析
  • Lens/OpenLens在建立集群连接时,会调用Kubernetes核心API的GET /version端点获取集群版本信息,这个操作需要明确的RBAC权限授权。
  • 你的账号现有权限仅覆盖了kubectl日常操作所需的资源,但未包含访问/version这个集群级基础端点的权限,导致Lens的请求被Kubernetes API Server拒绝,触发Forbidden类错误。
  • InfraHQ提供的cluster-admin是集群级全权限角色,默认包含所有API端点的访问权限,因此分配后Lens能正常完成/version请求,问题得以解决。
合规处理方案(最小权限原则)

不要直接使用cluster-admin这种过度授权的角色,建议创建仅满足Lens基础连接需求的自定义权限:

  1. 创建自定义ClusterRole
    编写YAML文件定义仅允许访问/version端点的权限(可选补充API组发现权限):

    apiVersion: rbac.authorization.k8s.io/v1
    kind: ClusterRole
    metadata:
      name: lens-minimal-access
    rules:
    # 允许访问/version端点
    - apiGroups: [""]
      resources: ["version"]
      verbs: ["get"]
    # 可选:若Lens需要自动发现API组,添加以下规则
    - apiGroups: [""]
      resources: ["api"]
      verbs: ["get"]
    - apiGroups: [""]
      resources: ["apis"]
      verbs: ["get"]
    

    执行命令创建该ClusterRole:

    kubectl apply -f <文件名>.yaml
    
  2. 通过InfraHQ绑定权限
    在InfraHQ的RBAC管理界面中,找到目标账号,将上述自定义lens-minimal-access ClusterRole绑定到该账号,同时移除cluster-admin角色。

  3. 验证效果
    重新在Lens/OpenLens中连接目标集群,确认不再出现failed to get /version的权限错误,同时保持账号权限符合最小授权原则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 05:02:24