注意:
本篇文档仅适用于云开发中的云托管。
云托管目前支持两种更新和回滚方式:
对比项 | 新建版本 | 编辑原版本配置并重新部署(不推荐) |
更新前后内网 IP 不变 | 否,每个版本 IP 不同 | 是,版本不变则 IP 不变 |
调用方式 | 通过域名调用 | 通过域名调用或通过内网 IP 调用(限同一 VPC 内) |
回滚 | 支持,流量导回旧版本即可回滚 | 支持,用历史配置重新部署实现回滚 |
灰度发布 | 支持,详情请参见 流量配置 | 不支持 |
多版本并行 | 支持 | 不支持 |
方式一:新建版本(推荐)
每次更新服务都新建一个版本,部署成功后逐步将流量从旧版本切换到新版本。通过域名调用不强依赖固定 IP,更符合云原生理念。
步骤1:进入服务详情页面
步骤2:新建版本
灰度发布/蓝绿发布:流量策略选择部署完成后保持流量为 0,稍后手动配置流量,待发布完成后,手动配置流量到新版本上。详情可参见 流量配置。
全量发布:流量策略选择部署完成后自动开启100%流量,待发布完成后,即自动切换全部流量到新版本上。
步骤3:开始更新
单击开始部署。
步骤4:回滚服务
通过流量配置,将希望回滚的旧版本流量设置为100%,新版本流量设置为0。
方式二:原版本编辑配置并重新部署
不新建版本,在已有版本中编辑配置信息,然后重新部署。此方式下不支持灰度。
步骤1:进入服务详情页面
步骤2:编辑配置
选择需要更新的版本,在操作 > 更多下拉菜单中,选择编辑配置并重新部署。或单击目标版本进入版本详情页面,单击版本配置选项卡,在配置信息卡片右上角单击编辑配置并重新部署。
填写更新所需更新的版本配置信息,详情可参见 版本配置说明。
说明:
重新部署不支持重新选择流量策略,将沿用版本当前流量配置。如有需要,请在重新部署成功后手动配置流量。
若需更新镜像/代码,请单击更新镜像信息,并填写表单。提交新的镜像信息并不会立刻开始部署,需要等其余配置信息也编辑完毕后触发。
步骤3:重新部署
单击保存并重新部署,版本状态变为更新中。部署成功则状态变为正常,流量保持不变。若有报错,会变为具体的错误状态。
部署成功后,版本历史中会生成一个新的快照,记录此次部署前版本的详情,用于回滚。
步骤4:回滚
在版本历史中选择需要回滚的快照,单击查看详情对比当前版本和快照的差异,确认后单击回滚。
版本状态变为更新中。回滚成功则状态变为正常,流量保持不变。若有报错,会变为具体的错误状态。
风险说明
重新部署过程中,为保证业务持续运行,将采取滚动更新实例的方式进行升级。滚动更新可能带来以下风险:
重新部署需要所有实例更新成功才算成功,任意实例更新失败会自动回滚整个版本,导致版本更新不成功。
重新部署过程中,版本同时存在已更新的实例和尚未更新的实例,有一定概率不同请求访问同一版本时现象不一致。
重新部署过程中,因正在更新的实例无法提供服务,可能导致剩余实例无法承受当前业务流量而触发扩容条件,产生额外的实例及资源消耗。