概述
当微服务应用再次部署时,MSAP提供了三种部署方式,即:单批发布、分批发布和金丝雀发布。可以根据自己的发布需求,选择不同的部署方式。如果应用pod数量少且架构简单,可以直接选择单批发布;如果应用pod数量较多且架构复杂,可以分批次发布,直到全量更新完成;如果应用是Java Spring Cloud框架或者Dubbo框架的微服务,为了验证应用的正确性,可使用金丝雀发布先进行小规模测试,然后再全量更新。
微服务应用部署
在MSAP上,微服务应用创建时,不仅仅会创建静态应用,也会部署应用。当需要再次部署该微服务应用到相同环境或者其他环境时,需要从应用管理菜单的应用列表处,点击“容器部署”。
微服务应用部署模式分为三种,即:单批发布、分批发布和金丝雀发布(灰度发布)。
如果应用pod数量少且架构简单,可以直接选择单批发布;
如果应用pod数量较多且架构复杂,可以分批次发布,直到全量更新完成;
如果应用是Java Spring Cloud框架或者Dubbo框架的微服务,为了验证应用的正确性、确保升级操作的安全性,可使用金丝雀发布先进行小规模测试,然后再全量更新。
注意需要注意的是部署环境中已存在2个及2个以上实例时,才可以选择分批发布和金丝雀发布。
微服务应用单批发布
微服务单批发布时,和新建微服务应用时所填写的信息基本没有差别,这里就不再赘述了。
微服务应用分批发布
微服务分批发布时,和新建微服务应用填写内容基本没有差别,最大区别在于增加了发布策略,需要选择分批间处理方式和每批Pod数量。分批间处理方式分为手动和自动,手动指手动触发下一批次的发布,而自动指根据配置批次内部署间隔,MSAP自动触发下一批次的发布。
微服务应用金丝雀发布
微服务应用金丝雀发布时,和单批发布时所填写的信息一样,最大的区别在于需要填写发布策略。发布策略包括:
● 批次信息。分批间处理方式和批次及该批发布的实例个数。
● 灰度规则。灰度规则分为内容灰度、流量灰度和泳道灰度。
内容灰度参数名称 | 内容灰度参数含义 |
---|---|
协议类型 | Spring Cloud:需要设置path。 Dubbo:需要选择服务和方法。 |
条件模式 | 选择同时满足下列条件或满足下列任一条件。 |
条件列表 | Spring Cloud:可根据Cookie、Header或Parameter类型设置具体的参数。 Dubbo:根据应用实际的参数、参数值获取表达式设置。 |
流量灰度参数名称 | 流量灰度参数含义 |
---|---|
流量比例 | 流量会按配置的比例被转发到当前的灰度版本的实例。 |
泳道灰度参数名称 | 泳道灰度参数含义 |
---|---|
泳道名称 | 自定义泳道灰度策略名称。 |
泳道组 | 选择已创建的泳道组。 |
泳道 | 选择已创建的泳道。 |
金丝雀完成第一批部署后,验证业务没有问题后,可以在该次变更记录中点击“执行下一批”,直至完成整个金丝雀发布。