对于部署在K8s集群中的多语言微服务应用,为了确保升级操作的安全性,可以使用金丝雀发布(即灰度发布)进行小规模验证,验证通过后再全量升级。
操作步骤
- 登录EDAS控制台。
- 在左侧导航栏单击应用列表,并在顶部菜单栏选择地域。
- 在应用列表页面选择微服务空间,在集群类型下拉列表中选择容器服务/Serverless K8s集群,然后单击目标应用名称。
- 在应用总览页面右上角选择部署 > 部署。
- 在选择部署模式页面的金丝雀发布(灰度)区域右上角单击开始部署。
- 在金丝雀发布(灰度)页面设置服务网格参数、发布策略和灰度规则,然后单击确定。
- 设置服务网格参数。
表 1. 服务网格参数说明 参数 描述 协议 选择服务协议,支持HTTP/HTTP2/gRPC/TCP协议。 服务名 输入应用提供的服务名称。 服务端口 输入应用提供的服务端口。 说明 服务名和服务端口要和应用代码中的服务端口一致,以保证服务能成功注册和被调用。 - 设置发布策略参数。
表 2. 发布策略参数说明 参数 说明 首批灰度数量 首批发布的应用实例数量。右侧会显示应用当前实例数,为了保证应用稳定性,灰度实例数不能超过应用实例总数的50%。 剩余批次 首批发布后,剩余的应用实例按照此处设定的批次完成分批发布。 说明 仅当剩余批次大于1时,才会显示分批间处理方式。批次内部署间隔 每一批次内,如果应用实例数大于1,则应用实例会按此时间间隔部署,单位为秒。 右侧的发布策略配置信息会根据配置显示金丝雀发布流程。
- 设置灰度规则。
EDAS支持的灰度规则包括按内容灰度和按比例灰度。
表 3. 灰度规则参数说明 页签 参数 说明 按内容灰度 协议类型 默认为服务网格,不可修改。 path 选择灰度多语言应用的HTTP相对路径。 条件列表 根据Header设置具体的参数。 按比例灰度 流量比例 流量会按配置的比例被转发到灰度的应用实例。 说明 单击创建流量规则,即可创建多个入口流量规则,多个规则可以同时生效。 - 可选:配置应用高级设置。
金丝雀发布启动后,EDAS将先在指定的灰度分组中部署新版本应用。变更记录页面将显示部署进度和状态。
说明 如需监控灰度流量是否符合预期,请参见监控灰度流量。 - 设置服务网格参数。
- 灰度流量验证完成后,在变更记录页面右侧单击开始下一批,完成后续分批发布。如果在验证过程中发现新版本应用有问题,可以在变更记录页面右上角单击回滚,并在弹出的确认对话框单击确认。
结果验证
金丝雀发布完成后,在应用总览页面顶部查看部署包是否为新部署的应用版本。