了解KubeSphere的多租户管理(权限控制)
0.多租户层级关系
目前,KubeSphere平台的资源一共有三个层级,包括 集群 (Cluster)、 企业空间 (Workspace)、 项目 (Project) 和 DevOps Project (DevOps 工程),层级关系如下图所示,即一个集群中可以创建多个企业空间,而每个企业空间,可以创建多个项目和 DevOps工程,而集群、企业空间、项目和 DevOps工程中,默认有多个不同的内置角色。
多租户层级层级1.KubeSphere默认创建admin用户,属于platform-admin 角色!
系统默认角色说明:
workspaces-manager :企业空间管理员,管理平台所有企业空间。
users-manager:用户管理员,管理平台所有用户。
platform-regular:平台普通用户,在被邀请加入企业空间或集群之前没有任何资源操作权限。
platform-admin:平台管理员,可以管理平台内的所有资源
备注:内置角色由 KubeSphere 自动创建,无法编辑或删除。
2.通过账号及角色创建、企业空间创建、项目创建了解KubeSphere平台访问控制
1)创建一个educloud账号,角色是users-manager(用户管理员,管理平台所有用户)
educloud创建账号2)登录edulcoud,创建如下4个账号,分别对用平台4个角色
ws-manager ------> workspaces-manager --------->创建和管理所有企业空间。
ws-admin -----> platform-regular ----->管理指定企业空间中的所有资源(在此示例中,此帐户用于邀请新成员加入该企业空间)。
project-admin ----->platform-regular -------->创建和管理项目以及 DevOps 工程,并邀请新成员加入项目。
project-regular ----> platform-regular ------>project-regular 将由 project-admin 邀请至项目或 DevOps 工程。该帐户将用于在指定项目中创建工作负载、流水线和其他资源。
创建如上账号信息3)企业空间创建
KubeSphere作为管理项目、DevOps 工程和组织成员的基本逻辑单元,企业空间是 KubeSphere 多租户系统的基础。
A.以 ws-manager 身份登录 KubeSphere,它具有管理平台上所有企业空间的权限。在企业空间中,可以看到仅列出了一个默认企业空间 system-workspace,即系统企业空间,其中运行着与系统相关的组件和服务,您无法删除该企业空间.
B.创建自定义企业空间oneedu:
企业空间创建C.邀请新成员
在企业空间设置中,选择企业成员,然后点击邀请成员。
邀请 project-admin 和 project-regular 进入企业空间,分别授予 workspace-self-provisioner 和 workspace-viewer 角色,点击确定。
角色说明:
oneedu-viewer 企业空间的观察者,可以查看企业空间下所有的资源信息。
oneedu-self-provisioner 企业空间普通成员,可以在企业空间下创建 DevOps 工程和项目。
oneedu-regular 企业空间普通成员,无法创建 DevOps 工程和项目
oneedu-admin 企业空间管理员,可以管理企业空间下所有的资源。
邀请成员备注:实际角色名称的格式:<workspace name>-<role name>。例如,在名为 oneedu 的企业空间中,角色 viewer 的实际角色名称为 oneedu-workspace-viewer。
4)创建项目(使用project-admin账号,创建项目educloud):
创建educloud项目A.将project-regular分配operator角色!
项目角色说明:
viewer 项目观察者,可以查看项目下所有的资源。
operator 项目维护者,可以管理项目下除用户和角色之外的资源。
admin 项目管理员,可以管理项目下所有的资源。
B.在创建应用路由之前,需要启用该项目的网关。网关是在项目中运行的 NGINX Ingress 控制器
此步骤中仍使用帐户 project-admin。
在外网访问下,可以在页面上看到网关地址以及 http/https 的端口
开放端口5)删除企业空间中创建的项目,需要登录ws-admin账号,查看到项目后,就可以删除该项目
删除项目