helm 部署所需的 RBAC 权限

RBAC permissions required for helm deployment

我正在为我们的集群设置 RBAC,并且正在设置两个角色:

管理员我很满意,他们基本上可以完全访问所有内容,但我不确定我需要向 developer 用户提供什么权限才能执行部署。

我们正在使用 Helm (3) 进行部署,我希望开发人员能够重新部署应用程序(而不是初始部署),但我不确定这需要什么权限。我不确定的是 Helm 如何管理实际部署。例如 pods 之类的东西。用户是否需要 pod 创建权限,还是不需要,因为 pods 通常由部署资源本身处理?

如果您的图表只创建部署对象,pods 生命周期由部署控制器管理。 Helm3 需要稍微提升到 运行 的权限,因为安装元数据(版本历史记录等)在 Secrets 中进行管理,因此执行安装命令的用户 运行 肯定需要对 Secrets 对象的完全访问权限。 此外,权限策略还取决于安装将创建哪些对象。用户将需要对将由 helm 安装管理的那些 API 对象的所有访问权限。 一个好的策略是使用 Helm Operator https://github.com/fluxcd/helm-operator 来管理 helm 版本。这样,您只需授予对 HelmRelease CR 的完全访问权限,就可以保护命名空间中的其他敏感机密和对象。