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

当前,我们共享集群之一面临的挑战。我们希望为每个团队分别部署分er。因此,他们可以访问自己的资源。默认的集群管理员角色将无济于事,我们也不想这么做。

假设我们为一个团队提供了多个命名空间。我想部署具有使用资源的权限的分till,或者需要在这些命名空间中创建分till。

团队>多个 namespace
使用具有与其关联的角色(具有对 namespace 的完全访问权限-并非全部)的服务帐户的分。

最佳答案



根据the fine manual的介绍,每个团队需要一个ClusterRole,以定义对各种资源的操作类型,然后使用 RoleBinding 将这些规则限定在特定的命名空间中。绑定(bind)目标的两端将是团队的分till的ServiceAccount和团队的ClusterRole,然后是每个RoleBinding的一个Namespace实例(即使它们在文本上相同,但namespace:部分除外)

我实际上希望您可以制作一个内部 Helm 图表,该图表将自动执行该关系的详细信息,然后生成helm install --name team-alpha --set team-namespaces=ns-alpha,ns-beta my-awesome-chart,然后授予您的分till cluster-admin或您想要的其他限制性更强的ClusterRole

08-03 12:48