管理灰度规则(Java)
对于部署在SAE的Spring Cloud或Dubbo微服务应用,为了确保升级操作的安全性,您可以通过启用灰度发布(即金丝雀发布)的灰度规则进行小规模验证,验证通过后再全量升级。本文介绍如何在SAE控制台设置灰度规则。
前提条件
已部署Spring Cloud或Dubbo微服务应用。具体操作,请参见以下文档:
已开通MSE微服务治理专业版。具体操作,请参见开通MSE微服务治理。
背景信息
如果您的应用有多个应用实例且需要升级,可以按需通过灰度或分批发布方式升级应用实例版本。其中,针对Spring Cloud和Dubbo微服务的灰度发布需要启动灰度规则才能实现。更多信息,请参见灰度发布应用。
创建灰度规则
- 登录SAE控制台。
- 在左侧导航栏,选择 ,在顶部菜单栏选择地域,然后单击具体应用名称。
进入灰度规则页面。
存量应用:在左侧导航栏,单击灰度规则,然后在灰度规则页面,单击新建灰度规则。
新增应用:在左侧导航栏,选择
,然后在灰度规则页面,单击新建灰度规则。
在新建灰度规则面板,执行以下操作,然后单击确定。
SAE支持的灰度规则是按内容灰度,您所需配置的信息会因应用框架而异。
说明如果您是第一次使用该功能,需要在该页面单击开启微服务治理并刷新页面,才能配置灰度规则。
配置项
说明
规则类型
七层流量灰度(K8s ingress):可以实现在灰度批次发布过程中,将特定标记的七层流量打到灰度批次的实例上。
微服务流量灰度:可以实现在灰度批次发布过程中,将特定标记的流量打到灰度批次的实例上。
规则名称
设置灰度规则名称。
规则描述
对灰度规则的自定义描述。
灰度类型
根据内容灰度。
网关实例(ALB ingress)
当规则类型为七层流量灰度(K8s ingress)时需要配置。
SAE基于ALB实现的网关路由(Ingress),具备根据域名、路径路由到不同应用的能力。您需要先为应用配置ALB实例,并创建路由规则。具体操作,请参见为应用设置路由规则(ALB)。
灰度的服务
当规则类型为七层流量灰度(K8s ingress)时需要配置。
选择需要灰度的应用及对应端口。
框架类型
当规则类型为微服务流量灰度时需要配置。
配置灰度规则应用的框架类型。
Spring Cloud:需要设置Path。
Dubbo:需要选择服务方法。
条件模式
当规则类型为微服务流量灰度时需要配置。配置灰度规则应用的条件模式。
选择同时满足下列条件或满足下列任一条件。
条件列表
单击+添加新的规则条件,可以添加多条规则。
微服务灰度流量
Spring Cloud:根据参数类型Cookie、Header或Parameter,设置相应的参数、条件以及值。
Dubbo:根据应用实际情况,设置参数、参数值获取表达式、条件以及值。
七层流量灰度
根据参数类型Cookie、Header或来源ip,设置对应的参数与值。
创建成功后,可以在灰度规则页面,查看刚创建的灰度规则。同时,新建灰度规则按钮已置灰。单击目标规则名称,可以在灰度规则详情面板,查看规则内容。
编辑或删除灰度规则
- 登录SAE控制台。
- 在左侧导航栏,选择 ,在顶部菜单栏选择地域,然后单击具体应用名称。
在左侧导航栏,选择 或单击灰度规则,然后在灰度规则页面,找到目标灰度规则,在其操作列,按需选择编辑或删除,并根据页面提示操作。