应用规模较大或服务架构比较复杂,可以按批次进行部署。每次仅对应用的一部分实例进行升级,直至全量升级完成。本文介绍如何使用EDAS控制台分批发布应用。
分批发布简介
分批发布是按照一定的批次,每次只对应用的一部分实例进行升级的发布过程。分批发布过程中如果出现故障,您可以终止变更过程并进行回滚,待问题修复后重新发布。
在K8s集群中,当一个应用进行分批发布时,是将该应用内的应用实例数均分到每一个批次进行部署,如果不能均分则批次靠前数量较小,批次靠后数量较大。
场景示意
现有一个应用包含10个应用实例,每个应用实例的部署版本为Ver.1版本,现需将每个应用实例升级为Ver.2版本。
假设将所有应用实例分3批进行部署,根据分批发布的策略,该发布的流程示意图如下:

使用须知
在K8s集群中,应用使用分批发布时会新建Deployment进行部署。
操作步骤
结果验证
在应用中查看应用变更记录,查看分批发布的状态,待所有批次都执行成功则说明分批发布成功。
在应用详情页查看实例部署信息,当实例的版本已变为Ver.2并且所有实例运行状态均为Running时,则说明发布成功。
回滚应用
在分批发布期间,只要至少有一个应用实例未升级为新版本,就认为发布处于执行中状态。在应用升级时,如果您注意到第一批升级的应用实例停止响应,您可以进入实例变更详情页面单击回滚,将已发布的实例回滚到以前的服务包和配置。
在分批发布时,可能会遇到异常。如何排查并解决异常,请参见变更流程问题排查指南。
- 部署包不可用、健康检查失败等异常报错会导致应用升级失败,当前应用变更会自动终止并回滚。
- 升级时单批次最大超时时间为30分钟,如果是超时导致变更流程暂停,您需进入变更详情页面手动终止发布流程并回滚。