云原生KubeSphere实战多租户系统实战

Posted 爱上口袋的天空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了云原生KubeSphere实战多租户系统实战相关的知识,希望对你有一定的参考价值。

一、简介

        KubeSphere 的多租户系统分三个层级,即集群、企业空间和项目。KubeSphere 中的项目等同于 Kubernetes 的命名空间

        您需要创建一个新的企业空间进行操作,而不是使用系统企业空间,系统企业空间中运行着系统资源,绝大部分仅供查看。出于安全考虑,强烈建议给不同的租户授予不同的权限在企业空间中进行协作。

        您可以在一个 KubeSphere 集群中创建多个企业空间,每个企业空间下可以创建多个项目。KubeSphere 为每个级别默认设有多个内置角色。此外,您还可以创建拥有自定义权限的角色。KubeSphere 多层次结构适用于具有不同团队或组织以及每个团队中需要不同角色的企业用户。


二、KubeSphere之访问控制

1、简介

        首先使用平台默认的admin用户登录进入kubesphere服务主界面如下:

点击左上角的平台管理,然后选择访问控制

 这个访问控制,是用来对平台中的企业空间、账户、以及角色权限进行统一管理。

进入之后如下:


 2、账户角色,首先我们先看一下账户角色内容

 注意:内置角色由 KubeSphere 自动创建,无法编辑或删除。

可以看上分为如下4个角色:

  • workspaces-manager:企业空间管理员,管理平台所有企业空间。
  • users-manager:用户管理员,管理平台所有用户,类似于HR招人一样
  • platform-regular:平台普通用户,在被邀请加入企业空间或集群之前没有任何资源操作权限。
  • platform-admin:平台管理员,可以管理平台内的所有资源,admin就是这样的角色用户

三、账户管理-模拟公司的体系创建相关用户

1、创建一个HR,用来招人,管理公司所有人员录入

 

可以看到我们创建一个角色为 users-manager的用户管理员.


2、下面我们使用用户管理员的账户登录系统

并且我们可以看到如下,这个用户管理员只有访问控制的权限了:

 

 3、下面我们使用用户管理员的账户开始创建公司中所有其他角色的人员

  •   boss-li:workspaces-manager,企业空间管理员,管理平台所有企业空间,类似于公司的大老板、所有的分部公司企业都由他管理,专门创建企业空间的
  • wuhan-boss: platform-regular,平台普通用户,在被企业空间管理员邀请加入企业空间或集群之前没有任何资源操作权限
  • develop01: platform-regular,平台普通用户
  • develop02: platform-regular,平台普通用户

四、下面首先我们使用企业空间管理员用户创建一个企业空间 

 比如现在我们在合肥地区要建立公司分部了,那么我们就创建一个合肥分部企业空间,点击上面创建开始:

 点击创建:

 


五、进入创建的企业空间,开始招人

1、简介

        在合肥创建了分公司之后,那么我们需要一些人员,所以我们需要进入企业空间,邀请已经录入系统的用户进入这个分公司。

 

2、企业角色

   在邀请成员之前我们要搞清楚企业的角色,既然是一个分公司,那么肯定是存在一些不同角色的岗位的,主要岗位如下:

  •  viver: 企业空间的观察者,可以查看企业空间下所有的资源信息,类似于客户或者老板,不懂技术,但是可以查看所有的资源信息
  • self-provisioner: 企业空间普通成员,可以在企业空间下创建 DevOps 工程和项目,类似于合肥分公司下面的一个项目总监
  • hf-regular:企业空间普通成员,无法创建 DevOps 工程和项目,类似于项目下面的普通开发人员
  • hf-admin:企业空间管理员,可以管理企业空间下所有的资源,类似于合肥分公司的总负责人,

3、下面我们邀请一个人员来管理合肥企业空间

由上可以看出我们邀请了wuhan-boss用户来作为合肥分公司的企业空间管理员,再邀请

develop01和develop02作为项目开发人员

 

4、使用wuhan-boss用户登录系统,开始创建项目

 我们创建一个项目:

 

5、进入项目,查看项目角色

项目也是有角色的,主要如下:

  • viewer:项目观察者,可以查看项目下所有的资源。    
  • operator:项目维护者,可以管理项目下除用户和角色之外的资源,类似于项目开发人员
  • admin: 项目管理员,可以管理项目下所有的资源,类似于项目经理

6、开始为项目招人

 

develop01:类似于项目经理

develop02:类似于普通开发人员 


7、使用develop01项目经理用户登录系统

 

后面可以开始部署项目 

以上是关于云原生KubeSphere实战多租户系统实战的主要内容,如果未能解决你的问题,请参考以下文章

云原生Java架构实战 K8s+Docker+KubeSphere+DevOps(下)

云原生Meetup:基于 WeDataSphere Prophecis 与 KubeSphere 构建云原生机器学习平台

KubeSphere and Friends 2020 落幕 与开源社区伙伴零距离全方位解读云原生

使用 KubeSphere 快速部署 Chaos Mesh

一文说清 KubeSphere 容器平台的价值

KubeSphere排错实战