v2.0
v1.0
  1. Release Notes
    1. Release Notes - 2.0.2最新
    1. Release Notes - 2.0.1
    1. Release Notes - 2.0.0
  1. 产品介绍
    1. 产品简介
    1. 产品功能
    1. 产品优势
    1. 架构说明
    1. 应用场景
    1. 名词解释
  1. 安装指南
    1. 安装说明
    1. 需开放的端口
    1. All-in-One 模式
    1. Multi-Node 模式
    1. 在 Kubernetes 在线部署 KubeSphere
    1. 在 Kubernetes 离线部署 KubeSphere
    1. Master 和 etcd 节点高可用
    1. 存储安装配置说明
    1. 集群组件配置说明
    1. 安装负载均衡器插件
    1. 安装内置 Harbor
    1. 安装内置 GitLab
    1. 升级
    1. 访问 SonarQube 和 Jenkins 服务端
    1. 集群节点扩容
    1. 卸载
  1. 快速入门
    1. 入门必读
    1. 示例一 - 多租户管理快速入门
    1. 示例二 - 应用路由与服务示例
    1. 示例三 - 部署 MySQL
    1. 示例四 - 部署 Wordpress
    1. 示例五 - 创建简单任务
    1. 示例六 - 一键部署应用
    1. 示例七 - 设置弹性伸缩 (HPA)
    1. 示例八 - Source-to-Image
    1. 示例九 - Bookinfo 微服务的灰度发布
    1. 示例十 - 基于Spring Boot项目构建流水线
    1. 示例十一 - 图形化构建流水线
    1. 示例十二 - CI/CD 流水线(离线版)
    1. 示例十三 - 使用 Ingress-Nginx 进行灰度发布
  1. 管理员指南
    1. 多租户管理
      1. 多租户管理概述
      2. 角色权限概览
    1. 平台管理
      1. 企业空间管理
      2. 账号管理
      3. 平台角色
    1. 基础设施
      1. 服务组件
      2. 主机管理
      3. 存储类型
    1. 监控中心
      1. 监控概述
      2. 如何利用监控定位问题
      3. 集群状态监控
      4. 应用资源监控
      5. 监控策略 - 节点级别
      6. 监控消息 - 节点级别
    1. 平台设置
      1. 应用仓库
      2. 基于本地仓库搭建应用仓库部署Redis
      3. 上传应用到 KubeSphere 官方仓库
      4. 基于 GitHub 搭建自有应用仓库
      5. 邮件服务器
      6. 日志收集
      7. 添加 Fluentd 作为日志接收者
      8. 添加 Kafka 作为日志接收者
    1. 工具箱
      1. Web Kubectl
      2. 日志收集
    1. 通用配置
      1. 系统配置修改
      2. 上传镜像至 Harbor
      3. Jenkins 系统设置
    1. FAQ
      1. DevOps 运维FAQ
  1. 用户指南
    1. 应用
      1. 应用模板
      2. 自制应用
      3. 流量治理
      4. 熔断
    1. 工作负载
      1. 工作负载概述
      2. 部署
      3. 有状态副本集
      4. 守护进程集
      5. 任务
      6. 定时任务
      7. 设置健康检查器
      8. 工作负载管理
      9. 自定义 S2i 模板
    1. 存储
      1. 存储概述
      2. 存储卷
      3. Local Volume 使用方法
    1. 网络与服务
      1. 服务管理
      2. 灰度发布
      3. 应用路由
    1. 监控告警
      1. 告警策略 - 工作负载级别
      2. 告警消息 - 工作负载级别
    1. 配置中心
      1. 密钥
      2. 配置
      3. 镜像仓库
    1. 项目设置
      1. 基本信息
      2. 成员角色
      3. 项目成员
      4. 外网访问
    1. DevOps 工程
      1. DevOps 工程概述
      2. 管理 DevOps 工程
      3. 流水线
      4. 凭证管理
      5. 添加代码仓库
      6. 访问 SonarQube 并创建 Token
      7. 设置自动触发扫描
      8. Jenkins Agent 说明
      9. 流水线常见问题
  1. API 文档
    1. API 文档
    1. 如何调用 API
    1. API 常用术语对照
    1. 监控指标说明
  1. 常见问题
    1. 安装常见问题
    1. 存储常见问题
    1. 控制台使用常见问题
    1. DevOps 常见问题
  1. 附录
    1. 部署 Ceph 存储服务端
    1. 部署 GlusterFS 存储服务端
    1. 云平台配置端口转发和防火墙
KubeSphere®️ 2020 All Rights Reserved.

多租户管理快速入门

目的

本文档面向初次使用 KubeSphere 的集群管理员用户,引导新手用户创建企业空间、创建新的角色和账户,然后邀请新用户进入企业空间后,创建项目和 DevOps 工程,帮助用户熟悉多租户下的用户和角色管理,快速上手 KubeSphere。

前提条件

已安装 KubeSphere,并使用默认的 admin 用户名和密码登录了 KubeSphere。

预估时间

约 15 分钟。

操作示例

目前,平台的资源一共有三个层级,包括集群 (Cluster)、 企业空间 (Workspace)、 项目 (Project) 和 DevOps Project (DevOps 工程),层级关系如下图所示,在每个层级中,每个组织中都有多个不同的内置角色。

resource-hierarchy

集群管理员

第一步:创建角色和账号

平台中的 cluster-admin 角色可以为其他用户创建账号并分配平台角色,平台内置了集群层级的以下三个常用的角色,同时支持自定义新的角色。

内置角色 描述
cluster-admin 集群管理员,可以管理集群中所有的资源。
workspaces-manager 集群中企业空间管理员,可以管理集群中所有的企业空间及其下面的项目和工程资源。
cluster-regular 集群中的普通用户,在被邀请加入企业空间之前没有任何资源操作权限。

本示例首先新建一个角色 (users-manager),为该角色授予账号管理和角色管理的权限,然后新建一个账号并给这个账号授予 users-manager 角色。

账号名 集群角色 职责
user-manager users-manager 管理集群的账户和角色

1.1. 点击控制台左上角 平台管理 → 平台角色,可以看到当前的角色列表,点击 创建,创建一个角色用于管理所有账户和角色。

创建角色

1.2. 填写角色的基本信息和权限设置。

  • 名称:起一个简洁明了的名称,便于用户浏览和搜索,如 users-manager
  • 描述信息:简单介绍该角色的职责,如 管理账户和角色

基本信息

1.3. 权限设置中,勾选账户管理和角色管理的所有权限,点击 创建

权限列表

1.4. 点击控制台左上角 平台管理 → 账号管理,可以看到当前集群中所有用户的列表,点击 创建 按钮。

创建账号

1.5. 填写新用户的基本信息,如用户名设置为 user-manager,角色选择 users-manager,其它信息可自定义,点击 确定

说明:上述步骤仅简单地说明创建流程,关于账号管理与角色权限管理的详细说明,请参考 角色权限概览账号管理

账号管理

1.6. 然后用 user-manager 来创建下表中的四个账号,ws-manager 将用于创建一个企业空间,并指定其中一个用户名为 ws-admin 作为企业空间管理员。切换成上一步创建的 user-manager 账号登录 KubeSphere,在 账号管理 下,新建四个账号,创建步骤同上,参考如下信息创建。

账号名 集群角色 职责
ws-manager workspaces-manager 创建和管理企业空间
ws-admin cluster-regular 管理企业空间下所有的资源
(本示例用于邀请新成员加入企业空间)
project-admin cluster-regular 创建和管理项目、DevOps 工程,邀请新成员加入
project-regular cluster-regular 将被 project-admin 邀请加入项目和 DevOps 工程,
用于创建项目和工程下的工作负载、Pipeline 等资源

1.7. 查看新建的四个账号信息。

查看账号列表

企业空间管理员

第二步:创建企业空间

企业空间 (workspace) 是 KubeSphere 实现多租户模式的基础,是用户管理项目、DevOps 工程和企业成员的基本单位。

2.1. 切换为 ws-manager 登录 KubeSphere,ws-manager 有权限查看和管理平台的所有企业空间。

点击左上角的 平台管理企业空间,可见新安装的环境只有一个系统默认的企业空间 system-workspace,用于运行 KubeSphere 平台相关组件和服务,禁止删除该企业空间。

在企业空间列表点击 创建

企业空间列表

2.2. 参考如下提示填写企业空间的基本信息,然后点击 确定。企业空间的创建者同时默认为该企业空间的管理员 (workspace-admin),拥有企业空间的最高管理权限。

  • 企业空间名称:请尽量保持企业名称简短,便于用户浏览和搜索,本示例是 demo-workspace
  • 企业空间管理员:可从当前的集群成员中指定,这里指定上一步创建的 ws-admin 用户为管理员,相当于同时邀请了 ws-admin 用户进入该企业空间
  • 描述信息:简单介绍该企业空间

填写基本信息

说明:企业空间管理的详细说明请参考 企业空间管理

2.3. 企业空间 demo-workspace 创建完成后,切换为 ws-admin 登录 KubeSphere,可看到该企业空间下的项目和 DevOps 工程列表,点击左侧「进入企业空间」进入企业空间详情页。

ws-admin 可以从集群成员中邀请新成员加入当前企业空间,然后创建项目和 DevOps 工程。在左侧菜单栏选择 企业空间管理 进入企业空间概览页,然后选择 企业空间管理成员管理,点击 邀请成员

2.4. 这一步需要邀请在 步骤 1.6. 创建的两个用户 project-adminproject-regular 进入企业空间,且分别授予 workspace-regularworkspace-viewer 的角色,此时该企业空间一共有如下三个用户:

账号名 企业空间角色 职责
ws-admin workspace-admin 管理企业空间下所有的资源
(本示例用于邀请新成员加入企业空间)
project-admin workspace-regular 创建和管理项目、DevOps 工程,邀请新成员加入
project-regular workspace-viewer 将被 project-admin 邀请加入项目和 DevOps 工程,
用于创建工作负载、流水线等业务资源

项目和 DevOps 工程管理员

第三步:创建项目

创建工作负载、服务和 CI/CD 流水线等资源,需要先创建好项目和 DevOps 工程。

3.1. 上一步将用户项目管理员 project-admin 邀请进入企业空间后,可切换为 project-admin 账号登录 KubeSphere,默认进入 demo-workspace 企业空间下,点击 创建,选择 创建资源型项目

创建项目

3.2. 填写项目的基本信息和高级设置,完成后点击 下一步

基本信息

  • 名称:为项目起一个简洁明了的名称,便于用户浏览和搜索,比如 demo-namespace
  • 别名:帮助您更好的区分资源,并支持中文名称,比如 示例项目
  • 描述信息:简单介绍该项目

基本信息

高级设置

3.3. 此处将默认的最大 CPU 和内存分别设置 2 Core2 Gi,后续的示例都需要在这个示例项目中完成,在项目使用过程中可根据实际情况再次编辑资源默认请求。

完成高级设置后,点击 创建

说明:高级设置是在当前项目中配置容器默认的 CPU 和内存的请求与限额,相当于是给项目创建了一个 Kubernetes 的 LimitRange 对象,在项目中创建工作负载后填写容器组模板时,若不填写容器 CPU 和内存的请求与限额,则容器会被分配在高级设置的默认 CPU 和内存请求与限额值。

设置配额

提示:项目管理和设置的详细说明,请参考用户指南下的项目设置系列文档。

邀请成员

3.4. 示例项目 demo-namespace 创建成功后,点击进入示例项目。在 步骤 2.4. 已邀请用户 project-regular 加入了当前企业空间 demo-workspace,下一步则需要邀请 project-regular 进入该企业空间下的项目 demo-namespace。点击项目列表中的 demo-namespace 进入该项目。

3.5. 在项目的左侧菜单栏选择 项目设置 → 项目成员,点击 邀请成员

3.6. 在弹窗中的 project-regular 点击 "+",在项目的内置角色中选择 operator 角色。因此,后续在项目中创建和管理资源,都可以由 project-regular 用户登录后进行操作。

设置外网访问

在创建应用路由之前,需要先启用外网访问入口,即网关。这一步是创建对应的应用路由控制器,负责接收项目外部进入的流量,并将请求转发到对应的后端服务。

3.7. 请使用项目管理员 project-admin 设置外网访问,选择 「项目设置」 → 「外网访问」,点击 「设置网关」。

3.8. 在弹窗中,选择默认的 NodePort,然后点击 「保存」。

3.9. 当前可以看到网关地址、http/https 端口号都已经开启。

第四步:创建 DevOps 工程

4.1. 继续使用 project-admin 用户创建 DevOps 工程。点击 工作台,在当前企业空间下,点击 创建,在弹窗中选择 创建一个 DevOps 工程。DevOps 工程的创建者 project-admin 将默认为该工程的 Owner,拥有 DevOps 工程的最高权限。

创建 DevOps 工程

4.2. 输入 DevOps 工程的名称和描述信息,比如名称为 demo-devops。点击 创建,注意创建一个 DevOps 有一个初始化环境的过程需要几秒钟。

devops_create_project

说明:DevOps 工程管理的详细说明请参考 管理 DevOps 工程

4.3. 点击 DevOps 工程列表中的 demo-devops 进入该工程的详情页。

4.4. 同上,这一步需要在 demo-devops 工程中邀请用户 project-regular,并设置角色为 maintainer,用于对工程内的 Pipeline、凭证等创建和配置等操作。菜单栏选择 工程管理 → 工程成员,然后点击 邀请成员,为用户 project-regular 设置角色为 maintainer。后续在 DevOps 工程中创建 Pipeline 和凭证等资源,都可以由 project-regular 用户登录后进行操作。

邀请成员进入工程 设置角色

至此,本文档为您演示了如何在多租户的基础上,使用账户管理和角色管理的功能,以示例的方式介绍了常用内置角色的用法,以及创建项目和 DevOps 工程。请继续参考 快速入门 系列文档的其他示例比如 应用路由与服务示例,使用项目普通用户 project-regular 登录 KubeSphere 动手实践操作一遍,创建具体的工作负载、服务和 CI/CD 流水线。