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.

持久化存储配置说明

编辑

目前,Installer 支持以下类型的存储作为存储服务端,为 KubeSphere 提供持久化存储 (更多的存储类型持续更新中):

  • NFS
  • Ceph RBD
  • GlusterFS
  • QingCloud 云平台块存储
  • QingStor NeonSAN
  • 阿里云块存储
  • 腾讯云块存储
  • Local Volume (默认,仅部署测试使用)

Installer 对接的开源存储服务端和客户端,以及 CSI 插件,已测试过的版本信息如下:

名称 版本 参考
Ceph RBD Server v0.94.10 若用于测试部署可参考 部署 Ceph 存储服务端,如果是正式环境搭建请参考 Ceph 官方文档
Ceph RBD Client v12.2.5 在安装 KubeSphere 前仅需在 common.yaml 配置相应参数即可对接其存储服务端,参考 Ceph RBD
GlusterFS Server v3.7.6 若用于测试部署可参考 部署 GlusterFS 存储服务端, 如果是正式环境搭建请参考 Gluster 官方文档Gluster Docs ,并且需要安装 Heketi 管理端 (v3.0.0)
GlusterFS Client v3.12.10 在安装 KubeSphere 前仅需在 common.yaml 配置相应参数即可对接其存储服务端,配置详见 GlusterFS
NFS Client v3.1.0 在安装 KubeSphere 前仅需在 common.yaml 配置相应参数即可对接其存储服务端,详见 NFS Client
QingCloud-CSI v0.2.0.1 在安装 KubeSphere 前仅需在 common.yaml 配置相应参数,详见 QingCloud CSI
NeonSAN-CSI v0.3.0 在安装 KubeSphere 前仅需在 common.yaml 配置相应参数,详见 Neonsan-CSI
阿里云 CSI v1.14.5 在安装 KubeSphere 前仅需在 plugin-aliyun.yaml 配置相应参数,详见 Aliyun CSI
腾讯云 CSI v1.0.0 在安装 KubeSphere 前仅需在 plugin-tencentcloud.yaml 配置相应参数,详见 TencentCloud-CSI

说明: 集群中不可同时存在两个默认存储类型,若要指定默认存储类型前请先确保当前集群中无默认存储类型。

配置文件释义

准备了满足要求的存储服务端后,只需要参考以下表中的参数说明,在 conf/common.yaml 中,根据您存储服务端所支持的存储类型,在配置文件的相应部分参考示例或注释修改对应参数,即可完成集群存储类型的配置。以下对 common.yaml 存储相关的参数配置做简要说明 (参数详解请参考 storage classes )。

注意:集群仅允许存在 一个默认的 存储类型(StorageClass)。Local Volume 作为默认的存储类型,安装前在配置持久化存储相关参数时,需将 Local Volume 的两个参数设置为 false,再选择和配置其它存储类型。

Local Volume(仅限开发测试环境)


Local Volume 配置文件(点击展开)
local_volume_enabled: true
local_volume_is_default_class: true
local_volume_storage_class: local
    ···

Local Volume 表示挂载的本地存储设备,如磁盘、分区或目录,仅建议用于测试部署与开发环境,在 conf/common.yaml 配置的释义如下。

Local Volume Description
local_volume_provisioner_enabled 是否使用 local volume 作为持久化存储, 是:true;否:false
local_volume_provisioner_storage_class 存储类型的名称, 默认:local
local_volume_is_default_class 是否设定为默认存储类型, 是:true;否:false

NFS


NFS 配置文件(点击展开)
nfs_client_enabled: false
nfs_client_is_default_class: false

# Hostname of the NFS server(ip or hostname)
nfs_server: SHOULD_BE_REPLACED

# Basepath of the mount point
nfs_path: SHOULD_BE_REPLACED
nfs_vers3_enabled: false
nfs_archiveOnDelete: false
    ···

NFS 即网络文件系统,它允许网络中的计算机之间通过 TCP/IP 网络共享资源。需要预先准备 NFS 服务端,支持标准 NFS 协议的文件存储作为 NFS 服务端,例如:

conf/common.yaml 配置的释义如下。

关于在安装前如何配置 QingCloud vNas,本文档在 常见问题 - 安装前如何配置 QingCloud vNas 给出了一个详细的示例供参考,其它云平台的 NFS 存储可参考上述相关文档。

NFS Description
nfs_client_enable 是否使用 NFS 作为持久化存储,是:true;否:false
nfs_client_is_default_class 是否设定为默认存储类型,是:true;否:false
注:系统中存在多种存储类型时,只能设定一种为默认存储类型
nfs_server 允许其访问的 NFS 服务端地址,可以是 IP 或 Hostname
nfs_path NFS 共享目录,即服务器上共享出去的文件目录,可参考 Kubernetes 官方文档
nfs_vers3_enabled 指定要使用的 NFS 协议版本,默认 false 表示 v4,设置 true 则为 v3
nfs_archiveOnDelete 指定 archiveOnDelete 为 false 时,则会自动删除 oldPath 下的所有数据,即 Pod 对应的数据持久化存储数据

Ceph RBD


Ceph RBD 配置文件(点击展开)
ceph_rbd_enabled: false
ceph_rbd_is_default_class: false
ceph_rbd_storage_class: rbd

# Ceph rbd monitor endpoints, for example
#
# ceph_rbd_monitors:
#   - 172.24.0.1:6789
#   - 172.24.0.2:6789
#   - 172.24.0.3:6789
ceph_rbd_monitors:
  - SHOULD_BE_REPLACED

# ceph admin account name
ceph_rbd_admin_id: admin

# ceph admin secret, for example,
# ceph_rbd_admin_secret: AQAnwihbXo+uDxAAD0HmWziVgTaAdai90IzZ6Q==
ceph_rbd_admin_secret: TYPE_ADMIN_ACCOUNT_HERE
ceph_rbd_pool: rbd
ceph_rbd_user_id: admin
# e.g. ceph_rbd_user_secret: AQAnwihbXo+uDxAAD0HmWziVgTaAdai90IzZ6Q==
ceph_rbd_user_secret: TYPE_ADMIN_SECRET_HERE
ceph_rbd_fsType: ext4
ceph_rbd_imageFormat: 1
# Additional ceph configurations
# ceph_rbd_imageFeatures: layering
    ···

Ceph RBD 是一个分布式存储系统,在 conf/common.yaml 配置的释义如下。

Ceph_RBD Description
ceph_rbd_enabled 是否使用 Ceph RBD 作为持久化存储,是:true;否:false
ceph_rbd_storage_class 存储类型名称
ceph_rbd_is_default_class 是否设定为默认存储类型, 是:true;否:false
注:系统中存在多种存储类型时,只能设定一种为默认存储类型
ceph_rbd_monitors 根据 Ceph RBD 服务端配置填写,可参考 Kubernetes 官方文档
ceph_rbd_admin_id 能够在存储池中创建的客户端 ID ,默认: admin
ceph_rbd_admin_secret Admin_id 的 secret,安装程序将会自动在 kube-system 项目内创建此 secret
ceph_rbd_pool 可使用的 Ceph RBD 存储池
ceph_rbd_user_id 用于映射 RBD 的 ceph 客户端 ID 默认: admin
ceph_rbd_user_secret User_id 的 secret,需注意在所使用 rbd image 的项目内都需创建此 Secret
ceph_rbd_fsType 存储卷的文件系统,kubernetes 支持 fsType,默认:ext4
ceph_rbd_imageFormat Ceph RBD 格式,默认:"1"
ceph_rbd_imageFeatures ceph_rbd_imageFormat 字段不为 1 时需填写此字段

注: 存储类型中创建 secret 所需 ceph secret 如 ceph_rbd_admin_secretceph_rbd_user_secret 可在 ceph 服务端通过以下命令获得:

$ ceph auth get-key client.admin

GlusterFS


GlusterFS 配置文件(点击展开)
glusterfs_provisioner_enabled: false
glusterfs_provisioner_is_default_class: false
glusterfs_provisioner_storage_class: glusterfs
glusterfs_provisioner_restauthenabled: true
# e.g. glusterfs_provisioner_resturl: http://192.168.0.4:8080
glusterfs_provisioner_resturl: SHOULD_BE_REPLACED
# e.g. glusterfs_provisioner_clusterid: 6a6792ed25405eaa6302da99f2f5e24b
glusterfs_provisioner_clusterid: SHOULD_BE_REPLACED
glusterfs_provisioner_restuser: admin
glusterfs_provisioner_secretName: heketi-secret
glusterfs_provisioner_gidMin: 40000
glusterfs_provisioner_gidMax: 50000
glusterfs_provisioner_volumetype: replicate:2
# e.g. jwt_admin_key: 123456
jwt_admin_key: SHOULD_BE_REPLACED
    ···

GlusterFS 是一个开源的分布式文件系统,配置时需提供 heketi 所管理的 glusterfs 集群,在 conf/common.yaml 配置的释义如下。

GlusterFS Description
glusterfs_provisioner_enabled 是否使用 GlusterFS 作为持久化存储,是:true;否:false
glusterfs_provisioner_storage_class 存储类型的名称
glusterfs_is_default_class 是否设定为默认存储类型,是:true;否:false
注:系统中存在多种存储类型时,只能设定一种为默认存储类型
glusterfs_provisioner_restauthenabled Gluster 启用对 REST 服务器的认证
glusterfs_provisioner_resturl Heketi 服务端 url
glusterfs_provisioner_clusterid Gluster 集群 id,登录 heketi 服务端输入 heketi-cli cluster list 得到 Gluster 集群 id
glusterfs_provisioner_restuser 能够在 Gluster pool 中创建 volume 的 Heketi 用户
glusterfs_provisioner_secretName Secret 名称,安装程序将会在 kube-system 项目内自动创建此 Secret
glusterfs_provisioner_gidMin glusterfs_provisioner_storage_class 中 GID 的最小值,参数配置请参考 Kubernetes 官方文档
glusterfs_provisioner_gidMax glusterfs_provisioner_storage_class 中 GID 的最大值,参数配置请参考 Kubernetes 官方文档
glusterfs_provisioner_volumetype Volume 类型,参数配置请参考 Kubernetes 官方文档
jwt_admin_key heketi 服务器中 /etc/heketi/heketi.json 的 jwt.admin.key 字段

注: Glusterfs 存储类型中所需的 glusterfs_provisioner_clusterid 可在 glusterfs 服务端通过以下命令获得:

$ export HEKETI_CLI_SERVER=http://localhost:8080
$ heketi-cli cluster list

QingCloud 云平台块存储

KubeSphere 支持使用 QingCloud 云平台块存储作为平台的存储服务,如果希望体验动态分配 (Dynamic Provisioning) 方式创建存储卷,推荐使用 QingCloud 云平台块存储,平台已集成 QingCloud-CSI 块存储插件支持对接块存储,仅需简单配置即可使用 QingCloud 云平台各种性能的块存储服务,并且支持扩容、拓扑、创建/删除快照以及基于快照创建 PVC

QingCloud-CSI 块存储插件实现了 CSI 接口,并且支持 KubeSphere 使用 QingCloud 云平台的存储资源。块存储插件部署后,用户在 QingCloud 云平台可创建访问模式 (Access Mode) 为 单节点读写(ReadWriteOnce) 的存储卷并挂载至工作负载,包括以下几种类型:

  • 容量型
  • 基础型
  • SSD 企业型
  • 超高性能型
  • 企业级分布式块存储 NeonSAN

注意:在 KubeSphere 集群内使用到性能型、超高性能型、企业型或基础型硬盘时,集群的主机类型也应与硬盘的类型保持一致。

在安装 KubeSphere 时配置 QingCloud-CSI 插件的参数说明如下三个表所示,安装配置 QingCloud-CSI 插件和 QingCloud 负载均衡器插件都需要下载 API 密钥来对接 QingCloud API。

QingCloud-API Description
qingcloud_access_key_id ,
qingcloud_secret_access_key
通过QingCloud 云平台控制台 的右上角账户图标选择 API 密钥 创建密钥获得
qingcloud_zone zone 应与 Kubernetes 集群所在区相同,CSI 插件将会操作此区的存储卷资源。例如:zone 可以设置为 sh1a(上海一区-A)、sh1b(上海1区-B)、 pek2(北京2区)、pek3a(北京3区-A)、gd1(广东1区)、gd2a(广东2区-A)、ap1(亚太1区)、ap2a(亚太2区-A)
qingcloud_host QingCloud 云平台 api 地址,例如 api.qingcloud.com (若对接私有云则以下值都需要根据实际情况填写)
qingcloud_port API 请求的端口,默认 https 端口 (443)
qingcloud_protocol 网络协议,默认 https 协议
qingcloud_uri URI 路径,默认值 iaas
qingcloud_connection_retries API 连接重试时间 (默认 3 秒)
qingcloud_connection_timeout API 连接超时时间 (默认 30 秒)

plugin-qingcloud.yaml 中完成上表中的 API 相关配置后,再修改 QingCloud-CSI 配置安装 QingCloud 块存储插件。

QingCloud-CSI Description
qingcloud_csi_enabled 是否使用 QingCloud-CSI 作为持久化存储,是:true; 否:false
qingcloud_csi_is_default_class 是否设定为默认的存储类型, 是:true;否:false
注:系统中存在多种存储类型时,只能设定一种为默认的存储类型
qingcloud_type QingCloud 云平台硬盘的类型
* 性能型是 0
* 容量型是 2
* 超高性能型是 3
* 企业级分布式块存储 NeonSAN 是 5
* 基础型是 100
* SSD 企业型是 200
详情见 QingCloud 官方文档
qingcloud_minSize, qingcloud_maxSize 即单块硬盘的最小容量和最大容量,限制存储卷类型的存储卷容量范围,单位为 GiB
qingcloud_stepSize 设置用户所创建存储卷容量的增量,单位为 GiB
qingcloud_fsType 存储卷的文件系统,支持 ext3, ext4, xfs. 默认为 ext4
disk_replica 硬盘的副本策略,支持单副本和多副本,1 表示单副本,2 表示多副本

硬盘类型与主机适配性

性能型硬盘 容量型硬盘 超高性能型硬盘 NeonSAN 硬盘 基础型硬盘 SSD 企业型硬盘
性能型主机 - - -
超高性能型主机 - - -
基础型主机 - - -
企业型主机 - - -

各区应设置的 minSize, maxSize 和 stepSize 参数

下表中的值对应的格式为:qingcloud_minSize - qingcloud_maxSize,qingcloud_stepSize。

性能型硬盘 容量型硬盘 超高性能型硬盘 NeonSAN 硬盘 基础型硬盘 SSD 企业型硬盘
北京2区 10 - 1000, 10 100 - 5000, 50 10 - 1000,10 - - -
北京3区-A 10 - 2000, 10 100 - 5000, 50 10 - 2000,10 - - -
广东1区 10 - 1000, 10 100 - 5000, 50 10 - 1000,10 - - -
上海1区-A - 100 - 5000, 50 - 100 - 50000, 100 10 - 2000, 10 10 - 2000, 10
亚太1区 10 - 1000, 10 100 - 5000, 50 - - - -
亚太2区-A - 100 - 5000, 50 - - 10 - 2000, 10 10 - 2000, 10

QingCloud 各类型块存储的最低配额

注意,使用 QingCloud 云平台块存储作为存储服务,安装前需要确保用户账号在当前 Zone 资源配额满足最低要求。在没有配置安装 GitLab 和 Harbor 的前提下,Multi-node 安装最少需要 14 块硬盘,请参考以下的最低配额表核对您账号的存储配额,若硬盘数量和容量配额不够请提工单申请配额。

注意,GitLab 和 Harbor 作为可选安装项,若安装前需要配置则需要考虑硬盘数量和容量的配额是否满足要求:Harbor 安装需要额外挂载 5 块硬盘,GitLab 安装需要额外挂载 4 块硬盘,若 KubeSphere 部署在云平台则需要考虑硬盘数量是否满足配额要求。

最低配额 \ 硬盘类型 性能型硬盘 容量型硬盘 超高性能型硬盘 NeonSAN 硬盘 基础型硬盘 SSD 企业型硬盘
块数 (块) / 容量 (GB) 14 / 230 14 / 1400 14 / 230 14 / 1400 14 / 230 14 / 230

QingStor NeonSAN

NeonSAN-CSI 插件支持对接青云自研的企业级分布式存储 QingStor NeonSAN 作为存储服务,若您准备好 NeonSAN 物理服务端后,即可在 conf/plugin-qingcloud.yaml 配置 NeonSAN-CSI 插件对接其存储服务端。详见 NeonSAN-CSI 参数释义

NeonSAN Description
neonsan_csi_enabled 是否使用 NeonSAN 作为持久化存储,是:true;否:false
neonsan_csi_is_default_class 是否设定为默认存储类型,是:true;否:false
注:系统中存在多种存储类型时,只能设定一种为默认存储类型
neonsan_csi_protocol NeonSAN 服务端传输协议,如 TCP 或 RDMA
neonsan_server_address NeonSAN 服务端地址
neonsan_cluster_name NeonSAN 服务端集群名称
neonsan_server_pool Kubernetes 插件从哪个 pool 内创建存储卷,默认值为 kube
neonsan_server_replicas NeonSAN image 的副本个数,默认为 1
neonsan_server_stepSize 用户所创建存储卷容量的增量,单位为 GiB,默认为 1
neonsan_server_fsType 存储卷的文件系统格式,默认为 ext4

阿里云平台块存储

KubeSphere 支持使用阿里云平台块存储作为平台的存储服务,KubeSphere Installer 已集成 Alibaba Cloud-CSI 块存储插件支持对接阿里云块存储,若您准备在阿里云上搭建具备存储持久化的集群,建议配置此插件使用阿里云块存储进行安装。

Alibaba Cloud-CSI Description
alicloud_disk_csi_enabled 是否使用 Alibaba Cloud-CSI 作为持久化存储,是:true; 否:false
alicloud_disk_csi_is_default_class
ali_access_key_id ,
ali_access_key_secret
通过阿里云平台控制台 的右上角账户图标选择 AccessKey管理 创建密钥获得
ali_disk_zoneId zone id 应与 Kubernetes 集群所在区相同,CSI 插件将会操作此区的存储卷资源。
ali_disk_regionId region id 同上与Kubernetes 集群所在区相同
ali_disk_fsType 存储卷的文件系统格式,默认为ext4
ali_disk_type 云盘类型

安装前请注意:

  1. openldap_volume_sizeredis_volume_size 的默认值为 2Gi, 若使用阿里云平台块存储作为默认存储类型,安装前需要在 conf/common.yaml 更改至最低 10 Gi,否则 PVC 会创建失败。
  2. KubeSphere 2.1.1 在 conf/common.yaml 新增的 elasticsearch_master_volume_size 字段来指定 ES master 节点的挂盘大小,默认值为 4 Gi,同理需要在 conf/common.yaml 更改至最低 10 Gi,否则 PVC 会创建失败。
  3. 如果还开启了其他插件比如 DevOps,配置方法类似,把相应的 Volume 大小(这里对应就是 jenkins_volume_size)在 conf/common.yaml 设置为最低 10 Gi。

安装完成后,通过执行以下命令来检查存储卷的挂载状态,若 STATUS 均为 Bound,则说明安装正常。

kubectl get pvc -A

腾讯云平台块存储

KubeSphere 支持使用腾讯云平台块存储作为平台的存储服务,平台已集成Tencent Cloud-CSI块存储插件支持对接块存储。

Tencent Cloud-CSI Description
tencentcloud_cbs_csi_enabled 是否使用 Tencent Cloud-CSI 作为持久化存储,是:true; 否:false
tencentcloud_cbs_csi_is_default_class 是否设定为默认的存储类型, 是:true;否:false
tecentcloud_cbs_api_secret_id ,
tecentcloud_cbs_api_secret_key
通过腾讯云平台控制台 的个人账户页面选择 访问密钥 创建密钥获得,需要base64编码
ali_disk_zoneId zone id 应与 Kubernetes 集群所在区相同,CSI 插件将会操作此区的存储卷资源。
tencentcloud_disk_type 云盘类型

其中,tecentcloud_cbs_api_secret_id ,tecentcloud_cbs_api_secret_key为平台密钥的 base64 编码:

# get tecentcloud_cbs_api_secret_id
echo -n <SecretId> | base64

# get tecentcloud_cbs_api_secret_key
echo -n <SecretKey> | base64

说明:

  1. openldap_volume_sizeredis_volume_size 的默认值为2Gi, 若使用腾讯云平台块存储作为默认存储类型,安装前需要在 conf/common.yaml 更改至最低 10 Gi,否则 PVC 会创建失败。
  2. KubeSphere 2.1.1 在 conf/common.yaml 新增的 elasticsearch_master_volume_size 字段来指定 ES master 节点的挂盘大小,默认值为 4Gi,同理需要在 conf/common.yaml 更改至最低 10 Gi,否则 PVC 会创建失败。
  3. 如果还开启了其他插件比如 DevOps,配置方法类似,把相应的 volume 大小(这里对应就是jenkins_volume_size)在 conf/common.yaml 设置为最低 10 Gi。

安装完成后,通过执行kubectl get pvc -A来检查CSI插件运行状态,若 STATUS 均为 Bound,则说明安装正常。

kubectl get pvc -A