导出 Helm Chart 包
场景
Rainbond 提供的应用模板导出机制,主要用来解决面向最终用户的应用交付问题。无法满足通过 Helm 交付应用的场景
适用的场景包括:
- 交付环境提供 Helm 命令
 - 离线业务,或安全限制等交付场景。
 
前提要求
- Rainbond 平台版本不低于 v5.10.1-release 。
 - 参考文档,完成 应用发布 流程,将应用发布到内部组件库。
 - 仅支持治理模式为原生 Service 模式的应用包
 
导出 Helm Chart 包
在内部组件库中找到已经发布好的应用模板,在 导出应用模板 页面中,点击导出 Helm Chart 包 。导出完成后,即可下载导出的 Helm Chart 包。
得到的 Chart 包,命名格式为 {应用名称}-{应用模板版本号}-helm.tar.gz 。该包可以在任意 Linux 操作系统中解压,解压后的目录结构如下(这里以 pig 为例):
pig-0.1-helm
├── pig
│   ├── Chart.yaml
│   ├── templates
│   │   ├── Deployment.yaml
│   │   ├── Secret.yaml
│   │   ├── ...
│   │   ├── StatefulSet.yaml
│   │   └── Service.yaml
│   └── values.yaml
├── plugin-images.tar
└── component-images.tar
- 第一层目录存放的依次是 Helm 的 Chart 包,插件所使用的的镜像包,workloads 类型资源所使用的镜像包。
 - 应用中包含的所有资源都会存放在 Helm Chart 包的 templates 目录下(除 ingress 资源)。
 
Helm Chart 使用
Helm Chart 配置介绍
正如我们所熟知的, Helm Chart 包都是可配置的,下面将介绍, Rainbond 导出的 Helm Chart 包都有哪些参数可以配置,即对 values.yaml 的介绍。
mysql:
  MYSQL_HOST:127.0.0.1
  MYSQL_PASS:123456
redis:
  REDIS_HOST:127.0.0.1
  REDIS_PASS:123456
imageDomain: goodrain.me
storageClass: ""
mysql redis :配置组信息, MYSQL_HOST:127.0.0.1 REDIS_PASS:123456便是你的配置组详细的配置项,这里 对应的就是应用下的配置组, 将配置组的内容作为 values.yaml 里的配置项。
imageDomain : 存放镜像的仓库地址,镜像获取的来源。
storageClass : Rainbond 创建的pvc默认会使用 Rainbond 所创建的 storageClass ,可以通过配置来修改使用自己的 storageClass
第一步:上传压缩镜像
- 有私有镜像仓库