我们有多个开发团队在kuberenetes上工作和部署他们的应用程序。我们使用helm在kubernetes上部署我们的应用程序。
目前我们面临的挑战是我们的共享群集之一。我们希望为每个团队分配分蘖。所以他们可以访问他们的资源。默认的群集管理员角色对我们没有帮助,我们也不希望这样。
假设我们为一个团队拥有多个名称空间。我想部署tiller,它有权使用资源,或者需要在这些命名空间中创建。
团队>多个名称空间 使用具有该角色(具有对命名空间的完全访问权限的服务帐户的服务帐户)的分蘖。(/ p>)
答案 0 :(得分:1)
我想部署具有在这些命名空间中存在的资源或需要在这些命名空间中创建的权限的分till
根据the fine manual,每个团队需要一个ClusterRole
,定义针对各种资源的操作类型,然后使用 RoleBinding
将这些规则限定在特定的名称空间中。绑定目标的两端将是团队的分till ServiceAccount
和团队的ClusterRole
,然后是每个RoleBinding
的一个Namespace
实例(即使它们在文本上是相同的,除了namespace:
部分)
我实际上希望您可以制作一个内部头盔图表,以自动执行该关系的详细信息,然后helm install --name team-alpha --set team-namespaces=ns-alpha,ns-beta my-awesome-chart
,然后再授予您的分till cluster-admin
或其他任何东西限制性ClusterRole
。