为什么我不能列出所有 helm 版本,如果我没有其他实例的权限,比如秘密?

问题描述 投票:0回答:1

我正在使用 helm cli v3.11.0 并尝试执行

helm list
。出于某种原因,我收到以下错误消息:

Error: list: failed to list: secrets is forbidden: User "developer" cannot list resource "secrets" in API group "" in the namespace

虽然我没有问任何秘密:)

有没有办法在不询问我没有权限的实例的情况下列出 helm 版本?

kubernetes-helm helm3
1个回答
0
投票

Helm 通常 将其状态存储在 Secret 对象中,因此已安装的历史记录和值存在于 Secrets 中。在正常设置下,运行

helm
命令的用户需要 RBAC 权限才能在目标命名空间中读取和写入 Secrets。这通常不是问题,因为 chart 会经常包含一个 Secret,而安装 chart 的行为必然会在集群中创建新资源。

helm list
可能只需要对 Secrets 的“获取”和“列出”权限,但您将需要一些权限。未经许可,您无法读取存储在集群中的状态。

链接的文档指出,可以将状态存储在其他地方,例如 ConfigMap 或 SQL 数据库。您仍然需要权限才能读取数据库中的 ConfigMap 或凭据。该文档还指出,Helm 状态包含 Helm 图表的全部输入——有足够的信息来

helm get values
——这可能包括密码和其他凭据等内容;因此,如果您故意没有权限读回 Secrets,您可能也不应该有权限读取 Helm 值,因此也没有权限读取 Helm 状态。

© www.soinside.com 2019 - 2024. All rights reserved.