You need to enable JavaScript to run this app.
导航
应用交付快速入门
最近更新时间:2023.06.09 10:52:45首次发布时间:2023.01.17 22:16:00

本文以在开发环境部署 Kubernetes YAML 应用为例,为您介绍应用交付的基本能力和使用流程,帮助您快速上手应用交付。

说明

如需了解更多进阶能力,请参见 最佳实践 章节。

背景信息

应用交付功能以应用为核心,提供应用编排、环境管理、配置管理、应用发布等一站式能力,帮助简化云原生场景下发布微服务的复杂性,提高应用交付效率,降低发布风险。

应用交付的基本使用流程如下图所示。
alt

  1. 应用初始化:包括创建应用、环境配置及应用编排。完成初始化后,应用基本可达到部署条件。
    1. 创建应用:选择要创建的应用类型,并完善应用的基本信息。
    2. 环境配置:环境是应用实际运行的载体。提前为应用预置至少一个环境实例,便于后续将应用编排记录生效至该环境。
    3. 应用编排:对应用的 YAML 描述文件进行编排,确保要部署的应用符合预期。
  2. 环境初始化:为前一步预置的环境实例关联待部署的集群。
  3. 部署应用:使用立即部署功能将应用部署至目标环境。

前提条件

准备工作 外,您还需要完成以下操作:

  • 已创建工作区,具体操作请参见 创建工作区

  • 已准备好要部署的镜像。

步骤一:应用初始化

应用初始化包括创建应用、环境配置及应用编排。完成初始化后,应用基本可达到部署条件。

1. 创建应用

创建一个可独立交付的对外提供服务的单元。

  1. 登录 持续交付控制台

  2. 在概览页面的工作区区域,选择目标工作区名称,进入该工作区。

  3. 在当前工作区页面,选择左侧导航栏的 应用交付 > 应用管理,单击 创建应用

  4. 在创建应用页面,按要求填写应用的相关配置信息。

    配置项说明

    应用显示名

    自定义应用的显示名称。本示例设置为App-demo

    注意

    该名称不是 YAML 文件中的资源名称。

    应用标识根据界面提示填写应用标识。应用标识是应用的唯一标识,创建后不可更改。应用编排 YAML 文件中预置占位符 appName 的值将采用您填写的应用标识。本示例设置为appdemo1201
    描述填写当前应用的备注信息,可以为空。
    应用类型选择 K8S YAML 应用

    成员管理

    快捷配置当前应用的组成成员,并为每个成员配置不同的权限,满足多角色协作进行应用交付的需求。

    • 添加成员:为当前应用添加成员,支持添加多个成员。

    • 权限:系统预置管理员、开发、测试、运维、只读共五种角色。每个成员支持配置一个或多个角色的权限。

    火山引擎账号(主账号)默认为应用的管理员,不可取消。本示例在火山引擎账号基础上,添加一名成员,并赋予开发权限。

    部署方式当前仅支持 预置 K8S YAML 部署,即通过 K8S YAML 描述文件对应用进行部署。
  5. 填写完成后,单击 确定,弹出 应用初始化配置 下一步指引框。

2. 环境配置

系统预置了 开发测试预发生产 共四个环境等级。每个环境等级可选择预置一个环境。建议至少预置一个环境,便于后续应用编排及配置管理使用。

  1. 根据界面引导,单击 初始化 2:环境管理。

  2. 在环境管理页面,勾选需要预置环境的环境等级。本示例选择预置一个开发环境和一个测试环境。

  3. 单击 确定,弹出 应用初始化配置 下一步指引框。

3. 应用编排

对应用的 YAML 描述文件进行编排。当前支持编排 Deployment、Service、Configmap 三种资源类型的 YAML 文件。系统为您提供了 Deployment、Service、Configmap 模板文件,模板中每个参数的值均使用占位符表示,并且每个占位符已填充常用的默认值,方便您快速进行应用编排。
本示例使用默认的 Deployment 和 Service 模板文件,仅调整副本数。

  1. 根据界面引导,单击 初始化 3:应用编排

  2. 在应用编排页面,左侧展示 Deployment 和 Service 的 YAML模板,右侧展示各占位符信息。
    本示例将 replicas 副本数的值调整为 3。

    alt

  3. 单击 确定,弹出对话框,设置当前编排记录的生效环境。本示例选择生效至上一步预置的 开发环境 1测试环境 1

  4. 单击 创建,弹出 恭喜完成应用初始化配置 的引导框,单击 我知道了,返回当前应用的应用编排页面。

步骤二:环境初始化

对预置环境完成初始化操作,主要是为预置环境关联待部署的集群。本示例对预置的 开发环境 1 进行初始化。

  1. 切换至 环境 页签,找到 开发环境 1,单击 环境初始化

  2. 在编辑环境页面,按要求配置参数。

    配置项说明
    环境等级显示所选环境的环境等级,本示例为 开发
    环境显示名默认为 开发环境 1,支持修改。本示例不修改。
    环境标识环境标识是环境的唯一标识,不支持修改。本示例为dev1。环境标识对应应用编排 YAML 文件中预置占位符 envName 的值。
    部署资源选择应用实际部署的位置,例如 Kubernetes 集群、云服务器、虚拟机、物理机等。当前仅支持 Kubernetes 集群类型的部署资源。此处选择前提条件中准备好的火山引擎容器服务集群Demo-Deploy-Resource

    Namespace 覆盖

    勾选后,须填写 Namespace 名称。部署当前环境时,此处的 Namespace 名称将覆盖 YAML 中定义的 Namespace。如果待部署集群中不存在该 Namespace,将在部署时新建。本示例不勾选。

    关联配置检查配置是否符合环境诉求。此处主要进行环境初始化,可跳过。
    关联工作流v1 版本可查看已关联的发布工作流。此处主要进行环境初始化,可跳过。
  3. 单击 确定,完成环境初始化操作。

步骤三:立即部署应用

将应用快速部署至目标环境。

  1. 切换至 环境 页签,找到 开发环境 1,单击 立即部署

  2. 在立即部署页面,按要求填写部署配置信息。

    配置项说明
    应用版本显示应用编排的版本。支持单击查看当前版本的应用编排是否符合预期。

    镜像

    输入要部署镜像的完整地址,此处的镜像即对应 Deployment. yaml 文件中的镜像占位符 image.backend 的值。
    本示例使用公网的 Nginx 镜像,镜像地址为 nginx:latest

    部署策略

    支持 原生部署分批发布 两种部署策略。推荐使用分批发布策略,支持分批、暂停、继续的精细化部署能力,更加可控。
    本示例使用分批发布:分 2 批,第 1 批比例为 30%,第 2 批比例为 70%。结合副本数 Replicas 为 3,则第一批发布 1 个实例,第二批发布 2 个实例(第 1 批 ≤ 1 时,向上取 1;其余批次,不为整数时向下取整)。

    环境配置

    单击 查看详情,检查配置是否符合环境诉求:启用的配置项是否正确、配置项的值是否正确。如果不正确支持快速修改。
    本示例未启用环境配置。

    部署 YAML

    直观展示最终要部署的 YAML 文件。单击 查看详情,检查要部署的 YAML 文件是否符合预期。
    本示例部署 1 个 Deployment 和 1 个 Service,各参数值符合预期。

  3. 单击 确定,跳转至 运行流程 页签,开始部署。

  4. 第一批部署成功后,系统展示 继续部署 按钮,单击后开始部署下一批。直至所有批次部署完毕。
    alt

    alt

检查结果

登录容器服务控制台,找到命名空间 default,检查部署的 Deployment 应用是否符合预期。
如图所示,Deployment 名称为appdemo0530-dev1,标签为appdemo0530-dev1,实例数量为3;关联的服务为 appdemo0530-dev1,均符合预期。
alt

alt
至此,您已体验完成应用交付快速入门。