v2.1
v2.0
v1.0
  1. Release Notes
    1. Release Notes - 2.1.1最新
    1. Release Notes - 2.1.0
    1. Release Notes - 2.0.2
    1. Release Notes - 2.0.1
    1. Release Notes - 2.0.0
  1. 产品介绍
    1. 什么是 KubeSphere
    1. 平台功能
    1. 为什么选择 KubeSphere
    1. 架构说明
    1. 应用场景
    1. 名词解释
  1. 安装指南
    1. 安装说明
      1. 概览
      2. 网络防火墙配置
      3. 集群其它参数配置
    1. 在 Linux 快速安装 KubeSphere
      1. All-in-One 模式
      2. Multi-Node 模式
      3. 完整安装(开启所有功能组件)
    1. 在 Kubernetes 安装 KubeSphere
      1. 准备工作
      2. 在 Kubernetes 安装 KubeSphere
    1. 安装可插拔的功能组件
      1. 可插拔功能组件概览
      2. 安装应用商店
      3. 安装内置的 DevOps 系统
      4. 安装内置的日志系统
      5. 安装微服务治理组件(Service Mesh)
      6. 安装告警通知系统
      7. 安装 Metrics-server 开启 HPA
      8. 验证可插拔功能组件的安装
    1. 集群高可用配置安装
      1. 在青云安装 HA 集群
      2. 在华为云安装 HA 集群
      3. 持久化存储配置说明
    1. 相关工具与插件
      1. 安装内置 Grafana
      2. 访问 SonarQube 和 Jenkins 服务端
      3. 安装 Porter 负载均衡器插件
      4. 安装 QingCloud 负载均衡器插件
    1. 认证配置
      1. 接入 LDAP / AD 域账号(Beta)
    1. 集群运维
      1. 安装后添加新的存储类型
      2. 集群节点扩容
      3. 卸载
  1. 升级指南
    1. 升级必读
    1. All-in-One 升级
    1. Multi-node 升级
  1. 快速入门
    1. 入门必读
    1. 1. 多租户管理快速入门
    1. 2. 应用路由与服务示例
    1. 3. 创建 Wordpress 应用并发布至 K8s
    1. 4. 一键部署应用
    1. 5. 创建简单任务
    1. 6. 设置弹性伸缩 (HPA)
    1. 7. Source-to-Image
    1. 8. Binary-to-Image
    1. 9. 基于Spring Boot项目构建流水线
    1. 10. 图形化构建流水线
    1. 11. Bookinfo 微服务的灰度发布
    1. 12. 使用 Ingress-Nginx 进行灰度发布
    1. 13. 应用商店
  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. DevOps 配置
      1. 系统配置修改
      2. 上传镜像至 Harbor
      3. 流水线配置邮件服务器
      4. Jenkins 系统设置
    1. FAQ
      1. DevOps 运维FAQ
  1. 用户指南
    1. 应用
      1. 应用模板
      2. 自制应用
      3. 流量治理
      4. 熔断
    1. 工作负载
      1. 工作负载概述
      2. 部署
      3. 有状态副本集
      4. 守护进程集
      5. 任务
      6. 定时任务
      7. 设置健康检查器
      8. 工作负载管理
      9. 落盘日志收集
    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. 开发者指南
    1. Helm 应用开发
      1. 开发模板规范
      2. Helm 应用开发入门
    1. Source to Image(S2I) 自定义模版开发
      1. S2I 原理及流程介绍
      2. 自定义 S2I 模版
  1. API 文档
    1. API 文档
    1. 如何调用 API
    1. API 常用术语对照
    1. 监控指标说明
  1. 常见问题
    1. 安装常见问题
    1. 存储常见问题
    1. 控制台使用常见问题
    1. DevOps 常见问题
  1. 附录
    1. 部署 Ceph 存储服务端
    1. 部署 GlusterFS 存储服务端
    1. 安装 OpenEBS 创建 LocalPV 存储类型
    1. 云平台配置端口转发和防火墙
KubeSphere®️ 2020 All Rights Reserved.

多租户管理快速入门

编辑

目的

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

前提条件

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

预估时间

约 15 分钟。

操作示例

视频演示

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

集群管理员

第一步:创建角色和账号

平台中的 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 账号登录后在 账号管理 下,新建四个账号,创建步骤同上,参考如下信息创建。

用户名 集群角色 职责
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,点击左侧「进入企业空间」进入企业空间详情页。

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-project
  • 别名:帮助您更好的区分资源,并支持中文名称,比如 示例项目
  • 描述信息:简单介绍该项目

高级设置

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

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

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

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

邀请成员

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

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

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

设置外网访问

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

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

3.8. 在弹窗中,默认 NodePort 即可,然后点击 「保存」。

提示:若希望开启 LoadBalancer 类型暴露集群内部服务,则需要安装云厂商支持 LoadBalancer 插件,例如 QingCloud 负载均衡器插件;若 KubeSphere 部署在阿里云或其它云平台,则需要手动安装其支持的 LB 插件;若 KubeSphere 部署在物理机环境,可安装配置 Porter - 面向物理环境的 K8s LB 插件

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

第四步:创建 DevOps 工程(可选)

说明:DevOps 功能组件作为可选安装项,提供 CI/CD 流水线、B2i/S2i 等丰富的企业级功能,若还未安装可参考 自定义组件安装(安装后) 开启 DevOps 组件安装,然后参考以下步骤。

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

创建 DevOps 工程

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

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

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

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

至此,本文档为您演示了如何在多租户的基础上,使用账户管理和角色管理的功能,以示例的方式介绍了常用内置角色的用法,以及创建项目和 DevOps 工程。请继续参考 快速入门 系列的第二篇文档。