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.

基于 GitHub 搭建自有应用仓库

编辑

GitHub 是流行的代码仓库,可以直接托管静态文件,利用这个特性可以搭建应用仓库。

基于 GitHub 搭建自有应用仓库

根据 Helm 官方指南 编写应用,同时可浏览 Kubesphere 应用仓库已有的应用作为参考:官方应用位于 src/qingcloud 目录下,测试应用位于 src/experimental 目录下。

前提条件

创建一个 GitHub 仓库,比如创建一个示例仓库 https://github.com/FeynmanZhou/helm-repo-example,所有的应用包都可以存放在此处。

第一步:开发应用

1、参考 官方文档 安装 Helm 客户端。

2、打开命令行工具,初始化 Helm 客户端:

helm init --client-only

3、根据 Helm 官方文档 创建应用。下面我们创建一个名为 mychart 的示例应用。

在命令行窗口初始化一个应用:

cd helm-repo-example
helm create mychart

此时会看到 Helm 工具帮我们生成了一个基于 Nginx 的应用(以模板文件组织):

│ helm-repo-example/
│ └── mychart/
│     ├── Chart.yaml
│     ├── values.yaml
│     ├── templates/
│         ├── Notes.txt       # 用户执行 helm install 安装应用时显示的文字
│         ├── deployment.yaml # 对应 k8s deployment(部署)的模板文件
│         └── service.yaml    # 对应 k8s service(服务)的模板文件
│     └── ...

4、然后根据实际需要进行修改和开发。

第二步:打包应用

1、开发完成后,在目录 helm-repo-example 下把应用打包(准备上传):

helm package mychart

2、打包完成后的目录结构如下:

│ helm-repo-example/
│ └── mychart-0.1.0.tgz       # 可部署的应用包
│ ├── mychart/
│     ├── Chart.yaml
│     ├── templates/
│         └── service.yaml    # 对应 k8s service(服务)的模板文件
│     └── ...

第三步:上传应用

1、在目录 helm-repo-example 下利用 helm 命令生成索引文件 index.yaml:

helm repo index .

2、最后的目录结构如下:

│ helm-repo-example/
│ ├── index.yaml              # 可部署的应用包
│ ├── mychart-0.1.0.tgz       # 可部署的应用包
│ ├── mychart/
│     ├── Chart.yaml
│     ├── templates/
│         └── service.yaml    # 对应 k8s service(服务)的模板文件
│     └── ...

第四步:上传应用

上传应用到 KubeSphere 支持两种方式,第一种方法是直接将上述生成的 tgz 文件上传到企业空间下的应用模板,请参考 应用商店

第二种方法将上述的 Github 仓库作为应用仓库导入到 KubeSphere 中。以下介绍第二种方法。

第五步:添加应用仓库

以下简单说明如何将该 GitHub 仓库作为应用仓库添加至 KubeSphere,详见 添加应用仓库

1、使用企业空间管理员的账号,进入企业空间,进入 企业空间管理 → 应用仓库,点击 创建应用仓库

然后输入示例仓库 https://raw.githubusercontent.com/FeynmanZhou/helm-repo-example/master 点击验证通过后再点击确定。

提示:获取 GitHub 仓库中文件的 Raw 地址可参考如下截图。

2、使用普通用户的账号,进入企业空间下的任意一个项目中,进入 「应用负载」 → 「应用」,点击 部署新应用 → 来自应用模板,然后选择上一步添加的 GitHub repo,即可看到该仓库中的应用。

3、以下已成功将 mychart 应用部署至项目中,关于如何部署应用可参考 一键部署应用

自动化上传

上述第二〜三步可以自动化,解放手工操作并减少人工错误。大体流程如下:

# 下载代码
git clone https://github.com/FeynmanZhou/helm-repo-example

# 拉取分支
git fetch
git checkout app/mychart

# 初始化
helm init --client-only

# 打包
helm package mychart

# 更新索引
helm repo index .

# 提交
git commit -a -m "[CI Build] Upload App"
git push origin HEAD:app/mychart

# Merge PR(人工或自动)