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