部署头盔需要RBAC权限

问题描述

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

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

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

解决方法

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