我有很多用户。每个用户都应该能够在*-stage
之类的命名空间中创建/更改/删除物质。可以动态添加或删除命名空间。我可以在每个命名空间中创建ServiceAccount并授予特权。
我在k8s中创建了pod,并将kubectl和ssh安装到其中。因此,每个用户都可以访问此pod并可以使用kubectl。我知道我可以将ServiceAccount机密安装到Pod。就每个命名空间而言,我有不同的ServiceAccounts,我不知道如何为每个用户授予所有*-stage
命名空间的特权。我不想为ServiceAccount创建cluster-admin
ClusterRoleBinding,因为用户应该只能修改*-stage
命名空间。你能帮我吗?
答案 0 :(得分:1)
我正在发布基于OP解决方案的社区Wiki答案,以提高可见度:
实际上,我已经解决了问题。我在每个角色中创建
["*"]
个角色*-stage
名称空间,并将其绑定到ServiceAccount。然后我将ServiceAccount挂载到可通过ssh使用的kubectl pod。所以每个 用户可以不受限制地访问*-stage
命名空间。
我还将添加有关ServiceAccount和role-based access control的官方文档链接作为补充。