对于部署在K8s集群中的Spring Cloud或Dubbo微服务应用,为确保升级操作的安全性,可使用金丝雀发布(即灰度发布)进行小规模验证,验证通过后再全量升级。本文介绍如何使用EDAS控制台进行金丝雀发布K8s应用。
使用限制
HSF应用:不支持金丝雀发布。
Dubbo应用:无使用限制。
Spring Cloud应用:如果应用依赖Deployment.Metadata.Name或Deployment.Metadata.Uid的功能与配置,请勿使用金丝雀发布,否则该原生功能将出现异常。
入口类型应用:如果当前应用为入口类型应用,流量从SLB直接转发到当前应用,那么SLB流量转发策略不会遵循此金丝雀发布策略。
说明若您想体验金丝雀灰度发布,可以使用示例Demo:先创建一个客户端应用,再创建多副本的服务端应用,对服务端应用进行灰度发布,并为客户端应用绑定SLB,通过SLB访问服务。
操作步骤
登录EDAS控制台。
在左侧导航栏,单击 ,在顶部菜单栏选择地域,并在页面上方选择微服务空间。
在应用列表页面的集群类型下拉列表,选择K8s集群,然后单击目标应用名称。
在应用总览页面右上角,选择 ,在选择部署模式页面,单击金丝雀发布(灰度)区域右上角的开始部署。
在金丝雀发布(灰度)页面设置新版本应用的部署参数、发布策略和灰度规则,然后单击确定。
金丝雀发布启动后,EDAS将先在指定的灰度分组中部署新版本应用。您可在变更记录页面查看部署进度和状态。
灰度流量验证完成后,在变更记录页面右侧,单击开始下一批,完成后续分批发布。
如果在验证过程中发现新版本应用有问题,可在变更记录页面右上角,单击立即回滚,在弹出的确认对话框,单击确定。
金丝雀发布完成后,在应用总览页面的部署规格区域,查看部署包是否为新部署的应用版本。