helm 部署所需的 RBAC 权限

PaR*_*Nos 5 rbac kubernetes

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

  • 管理员
  • 开发商

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

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

小智 2

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