知行学院总结:如何解决 Kubernetes 的多租户难题( 六 )

namespace 作为权限管理的最小单位,如果我们继续沿用之前的方案,就是一个租户一个 namespace, 租户下再很难划分出组织机构、部门等权限管理层级,但在大企业多租环境下往往一个部门、一个小组会被分配到一个 namespace 中,那么一个租户则需要跨好几个 namespace 进行协同。

为此我们在高级版中重新对租户进行了抽象,在 K8S 原有的 RBAC 基础之上,新增了一层企业空间(workspace)作为租户的权限边界,租户下可以有多个 namespace,namespace 下再设管理员,这就意味着每个租户都可以拥有多个层级的资源。

我们重新定义了租户,还需要考虑如何对租户的权限进行控制。

KubeSphere 多租户权限控制

这张图是 KubeSphere 中多租户管理的一个概览,可以看到对整个集群的管理分为了三级。

这里是集群层面的资源,包括用户、企业空间也就是租户、还有平台的管理,所有集群中的资源访问都需要相应的授权。

这里是租户层面的权限管理,包括成员管理、组织机构管理、项目管理、devops 工程管理,以及针对租户的配额设置

推荐阅读