应用编排及环境配置完毕/更新后,将应用快速部署至开发/测试/预发环境,从而对应用进行敏捷验证。本文为您介绍如何将 OAM 应用部署至目标环境。
前提条件
操作步骤
- 登录当前应用。
- 登录 持续交付控制台。
- 在左侧导航栏选择 工作区。
- 单击目标工作区名称,进入当前工作区。
- 在左侧导航栏选择 应用交付 > 应用管理。
- 单击目标应用卡片,进入当前应用。
- 单击 环境,切换至环境页签。
- 在当前应用的环境页面,选择目标环境卡片,单击 立即部署。
- 在立即部署页面,按要求填写应用的部署配置信息。
配置项 | 说明 |
---|
应用编排 | 显示应用编排的版本。支持单击查看当前版本的应用编排是否符合预期。 |
组件列表 | OAM 应用包含多个组件。请勾选本次需要部署的组件,指定组件的实例数自适应策略,以及要使用的容器镜像。 - 组件:显示当前 OAM 应用包含的所有组件名称。请勾选本次需要部署的组件,支持一键全选。
- 实例数自适应:部署该组件时,是否自适应当前组件在环境中的实际副本数。适用于非首次部署场景。
- 启用开关,表示适应环境中组件的实际副本数,部署时将不会修改当前环境中组件的实际副本数。不会造成扩缩容,较为安全。
- 关闭开关,表示不适应环境中组件的实际副本数,将按照应用编排中定义的组件副本数进行环境部署。会修改环境中组件的副本数,可能会造成缩容,进而影响业务。请慎重选择该开关。
说明 - 实例数自适应开关仅对组件中的工作负载(Deployment/StatefulSet/Job/CronJob 等)生效。
- 首次部署场景下,建议关闭实例数自适应开关,平台会按照应用编排中定义的组件副本数进行环境部署。如果打开该开关,则默认部署的副本数为 1。
示例:
某组件存在 HPA(Horizontal Pod Autoscaler)配置,组件副本数会随负载情况自动扩缩容。触发部署时,该组件在环境中的实际副本数是 10,而应用编排中定义的组件副本数是 3。
- 若启用 实例数自适应 开关,则部署时,环境中组件副本数保持不变,仍为 10 个,不影响业务性能。
- 若关闭 实例数自适应 开关,则部署时,环境中组件副本数将减少为 3 个。该操作造成组件缩容,可能影响业务性能。
- 制品:显示该组件所用模板 YAML 中设置的镜像占位符名称。
- 备注:显示该镜像占位符的描述信息。
- 镜像:表示镜像占位符实际对应的镜像。请输入要使用的镜像地址,镜像地址格式为
host/namespace/repo:tag 。部署时会替换镜像占位符,传入具体镜像。
说明 非首次部署场景下,平台将默认填入前一次部署记录使用的镜像地址,您可根据需要修改。 |
部署策略 | 配置应用的部署策略。支持 原生部署 和 分批发布 两种部署策略。 - 原生部署:基于 Kubernetes 原生的滚动升级能力。无分批发布诉求或存在 HPA(Horizontal Pod Autoscaler)等场景可以使用该策略。
- 分批发布(推荐):支持分批、暂停、继续的精细化部署能力,更加可控。
- 滚动批次:设置分批发布策略的批次。每个批次发布完成后流程进入等待状态,需人工确认是否继续部署。 默认为 2 次,可选范围:2 ~ 10 次。
- 每批比例:设置每批发布的比例。最后一个批次比例由前序批次调整后自动算出,不允许修改。比例之和必须为 100%。
实例数量 * 每批比例 = 一次升级的数量(第 1 批 ≤ 1 时,向上取 1;其余批次,不为整数时向下取整)。例如: 10 个实例分 3 批部署,批次比例为 30%、30%、40%,则每批部署数量为 3、3、4。
说明 OAM 应用的所有组件采用统一的部署策略。示例如下:
某 OAM 应用分两个部署阶段,部署阶段一包含 3 个组件,部署阶段二包含 2 个组件。该应用采取分批发布策略:分两批,第一批 20%,第二批 80%。
结合 OAM 应用不同部署阶段串行部署,同一部署阶段内组件并行部署的特点,实际部署过程如下:阶段一的 3 个组件同时进行第一批部署,均达到 20% 后,启动第二批部署。阶段一的 3 个组件均完成两批部署后,启动阶段二的部署。 |
环境配置 | - 单击 查看详情,检查配置是否符合环境诉求:启用的配置项是否正确、配置项的值是否正确。如果不正确支持快速修改。
- 若本次部署版本相对上次部署存在配置变更,界面将展示 查看变更详情 链接,单击可了解配置的变更详情。
|
自动进入下一阶段 | 选择 OAM 应用多阶段部署时是否自动进入下一阶段。 - 勾选后,上一阶段部署完成后,将自动进入下一部署阶段,无需手动操作。
- 未勾选,上一阶段部署完成后,需手动单击 继续部署,方可进入下一部署阶段。
|
- 单击 确定,跳转至当前环境的 变更记录 页签,展示本次部署详情。详细介绍请参见 观测部署过程。
后续操作
如果希望对外开放应用,需在应用部署成功后,为应用创建 Service(NodePort 或 LoadBalancer 类型) 和 Ingress 资源。若应用部署在容器服务 VKE 集群,相关操作可参见 服务(Service) 和 路由(Ingress)。