Tiller 的 Kubernetes RBAC 角色

Kubernetes RBAC role for tiller

我们有多个开发团队在 kuberenetes 上工作和部署他们的应用程序。我们使用 helm 在 kubernetes 上部署我们的应用程序。

目前我们面临的挑战之一是我们的共享集群。我们想为每个团队单独部署舵柄。所以他们可以访问他们的资源。默认的 Cluster-admin 角色对我们没有帮助,我们不希望这样。

假设一个团队有多个命名空间。我想部署有权使用这些命名空间中存在或需要创建的资源的 tiller。

团队 > 多个命名空间 tiller 使用具有与其关联的角色(具有对名称空间的完全访问权限 - 不是全部)的服务帐户。

I would want to deploy tiller which has permission to work with resources exist or need to be created in these namespaces

根据 the fine manual,每个团队需要 ClusterRole,定义对资源种类的操作种类,然后使用 RoleBinding 将这些规则的范围限定到特定的命名空间。绑定目标的两端将是团队的 ServiceAccount 和团队的 ClusterRole,然后每个 Namespace 一个 RoleBinding 实例(尽管它们在文本上是相同的,除了对于 namespace: 部分)

我实际上希望你可以制作一个内部掌舵图来自动化该关系的细节,然后 helm install --name team-alpha --set team-namespaces=ns-alpha,ns-beta my-awesome-chart 然后授予 你的 舵柄 cluster-admin 或您希望的任何更严格的 ClusterRole