生成 Chart 并发布到应用商店

本文档的目的在于指导如何生成 Chart,并将该 Chart 在应用商店内创建为模板,最后上架并发布。

应用场景

应用已在当前项目下部署和验证,多个应用作为某个产品的组件,需要打包成固定版本用于之后的部署。即 Chart 生成将根据任务中所选的应用配置的容器资源,自动打包成 Helm Chart 格式(更多关于 Helm Chart 格式详细信息,参考 Helm 文档_Charts),并将资源名称,namespace 等属性抽象成变量,自动生成 Chart 中的 values.yaml 文件。

主要步骤

你将:

  1. 创建产品、关联应用
  2. 在流水线中生成 Chart
  3. 通过应用商店创建模板
  4. 提交上架到需要发布的集群

单元一:创建产品、关联应用

在单元一中,将完成创建产品与应用,并将应用关联至产品。

新建产品

项目负责人可通过以下步骤新建产品:

  1. 登录 EnOS 管理门户,在左侧导航栏中选择 企业容器平台

  2. 从左侧导航的 组织 菜单中,选择组织名称。

  3. 从左侧导航的 项目 菜单中,选择项目名称,打开项目概览。

  4. 从左侧导航栏中选择 产品,点击 新建产品,输入产品名称和描述,点击 完成。本文章以创建 Common 类型的产品为例。

    注解

    Chart 仅支持 Common 类型的产品,且产品下需关联至少一个应用。

    ../_images/new_product_11.png
  5. 创建完成产品后,在产品详情页中,点击应用模块中的 新增 > 创建新应用,创建关联至改产品下的应用。

    ../_images/add_app.png

新建应用

应用开发和部署的项目负责人,可通过以下步骤新建应用,本文章以创建 Normal 类型的应用为例。

  1. 输入应用名称,选择应用开发语言。

  2. 输入或选择应用代码仓库地址,并输入 Git 项目的路径。代码仓库地址可先不填,在仓库地址生成后再编辑应用信息。

  3. 输入对应用的描述,然后点击 下一步

    ../_images/create_app1.png
  4. 选择应用成员和成员角色,点击 添加成员,然后点击 下一步

    ../_images/add_member1.png
  5. 为应用配置详细的容器部署信息。可点击 跳过 按钮,后续由应用开发者分布完成应用的部署配置。详细信息,参考 管理容器配置

应用创建完成后,可在应用列表中,点击应用名称,查看应用的基本信息。

单元二:在流水线中生成 Chart

在单元二中,将新建产品流水线并运行生成 Chart。产品级流水线用于一个产品下多个应用打包成一个 Chart 用于之后通过 Helm 部署。支持的任务类型:Chart 生成。

配置流水线基础信息

通过以下步骤为产品新建流水线:

  1. 在项目列表中,点击项目名称,进入项目空间。

  2. 在左侧导航栏中,选择 研发 > 流水线

  3. 点击 新建流水线,并在 基础信息 一栏中,完成流水线的基础配置信息:

    • 应用/产品:从已创建产品列表中,选择为目标产品创建流水线

    • 流水线名称:输入流水线的名称

      ../_images/create_pipeline_product1.png
  4. 完成基础信息配置后,在 Stage 一栏中,点击 添加 Stage,配置流水线的阶段和任务。

配置阶段和任务

通过以下步骤配置流水线的阶段和任务:

  1. 阶段名称:输入 Stage 的名称。

  2. 点击 添加任务 按钮,选择任务类型,并输入相应的参数。

    • Chart 生成
      • 集群:选择流水线所使用环境与集群。
      • Chart 名称:输入Chart名称,默认为应用/产品名。
      • Chart 版本号:输入Chart版本号。
      • 应用版本号:输入应用版本号。
  3. 点击 +SubChart 按钮,添加子 Chart。

    • SubChart
      • 应用名称:选择产品关联的应用。
      • SubChart 名称:输入 SubChart 的应用,默认为应用名称。
      • SubChart 版本号:输入 SubChart 版本号,默认为 Chart 版本号。
      • SubChart 应用版本号:输入 SubChart 应用版本号,默认为应用版本号。

    注解

    需至少包括一个 SubChart。

    ../_images/add_stage_chart1.png
  4. 可点击 +SubChart 按钮,重复以上步骤,添加多个子 Chart。

  5. 配置完成之后,点击 新建流水线 按钮,保存流水线配置。

  6. 返回流水线列表界面后,选择 产品,点击上一步所创建的流水线。

  7. 在流水线详情页中,点击 运行, 运行该流水线。

  8. 运行成功后,Chart 打包成功,点击 创建应用商店模板,将此 Chart 创建为应用模板。

    ../_images/create_apptemplate.png

单元三:通过应用商店创建模板

在单元三中,将把已生成的 Chart 创建为应用模板。

  1. 输入应用模板的基本信息:

    • 名称:输入应用模板的名称。
    • 图标:上传应用模板的图标。
    • 分类:选择应用模板的应用领域分类。
    • 开发者:默认当前用户用户名。
    • 开发者组织:必填,默认当前用户组织名。
    • 联系方式:非必填。
    • 简介:输入对应用模板的介绍。
    ../_images/app_template_basics1.png
  2. 点击 下一步,在 版本信息 页中,输入应用模板的版本号和版本说明。

    ../_images/app_template_version1.png
  3. 点击 下一步,在 上传Chart 页中,镜像仓库 会自动带入 Chart 地址,点击 完成,即可完成新增应用模板。

    ../_images/app_template_chart1.png


新增应用模板后,其初始状态为 研发中

单元四:提交上架到需要发布的集群

在单元四中,将把已创建的应用模板进行部署。

  1. 在应用模板详情页, 版本 一栏中,点击具体版本查看应用模板的版本详情,点击 提交 ,在弹窗中选择需要上架的集群后,点击 确定,上架应用模板版本。

  2. 经系统管理员审核后,其状态会变为 已上架

  3. 在左侧导航栏中,选择 应用商店 > 目录

  4. 使用 AppId 查找已上架的应用模板,点击该应用模板。查看应用模板的详细信息,选择需要部署的模板版本,点击 部署

    ../_images/deploying_app_instance1.png
  5. 选择部署应用实例的项目、环境、和集群,输入应用的名称,点击 确定,完成应用实例的部署。

    ../_images/deploying_app_instance_11.png