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

无Secrets权限无法执行helm list?如何无需该权限列出Helm Releases

问题解答

Helm 3默认将Release元数据存储在Secrets中(命名格式为sh.helm.release.v1.<release-name>.v<version>),执行helm list时,CLI需要读取这些Secrets来获取Release列表——这就是为什么你会收到Secrets权限不足的报错,哪怕你没显式请求查看Secrets,Helm底层也依赖它来获取Release信息。

无需Secrets权限列出Release的可行方法:

1. 切换Helm存储后端到ConfigMaps

将Helm的Release元数据存储改为ConfigMaps,这样helm list只需要ConfigMaps的读取权限,无需Secrets权限。

  • 临时生效:执行helm list时指定存储后端:
    helm list --storage=configmap
    
  • 永久生效:修改Helm全局配置文件(~/.config/helm/helm.yaml),添加以下配置:
    storage: configmap
    

注意:该设置仅对新安装的Release生效,已存在的Release仍存储在Secrets中,若要查看这些旧Release,仍需对应Secrets权限,或手动迁移元数据。

2. 授予最小化Secrets权限(不切换存储的情况下)

如果无法切换存储后端,可以给developer用户授予仅查看Helm相关Secrets的权限,而非所有Secrets的权限。创建以下Role和RoleBinding:

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  namespace: <你的命名空间>
  name: helm-release-reader
rules:
- apiGroups: [""]
  resources: ["secrets"]
  verbs: ["list", "get"]
  resourceNames:
  - "sh.helm.release.v1.*"
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  namespace: <你的命名空间>
  name: helm-release-reader-binding
subjects:
- kind: User
  name: developer
  apiGroup: rbac.authorization.k8s.io
roleRef:
  kind: Role
  name: helm-release-reader
  apiGroup: rbac.authorization.k8s.io

应用该配置后,developer用户只能访问Helm生成的Release Secrets,无法查看其他Secrets。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 14:24:30