本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
对于部署在SAE的Spring Cloud或Dubbo微服务应用,为了确保升级操作的安全性,您可以通过启用灰度发布(即金丝雀发布)的灰度规则进行小规模验证,验证通过后再全量升级。
前提条件
已部署Spring Cloud或Dubbo微服务应用。具体操作,请参见以下文档:
根据应用类型判断是否需要开通微服务引擎 MSE(Microservices Engine)微服务治理专业版。具体操作,请参见开通MSE微服务治理。
存量应用:2023年11月08日00:00前创建的应用,无需开通MSE服务治理专业版或企业版,后续部署应用也不会产生MSE计费。
新增应用:2023年11月08日00:00起新建的应用,使用无损上下线与灰度规则功能需要开通MSE微服务治理专业版,使用限流降级功能需要开通MSE微服务治理企业版。用户升级MSE企业版后,未开启限流降级功能的应用依然按照专业版进行计费,只有开启限流降级功能的应用才会按照企业版计费。
关于MSE微服务治理计费的更多信息,请参见计费概述和【产品变更】SAE集成的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控制台。
在左侧导航栏,选择 ,在顶部菜单栏选择地域,然后单击具体应用名称。
在左侧导航栏,选择 或单击灰度规则,然后在灰度规则页面,找到目标灰度规则,在其操作列,按需选择编辑或删除,并根据页面提示操作。
针对新增应用,开通MSE微服务治理功能后,即使您已删除灰度规则,MSE仍然在持续计费。您可以参考以下信息,决定是否关闭微服务治理功能。
如果您无需使用微服务治理功能,为避免产生不必要的MSE费用,可以在应用基本信息页面右上角,选择 ,根据页面提示信息,关闭微服务治理功能。
关闭微服务治理功能后,除服务列表外,其他微服务治理功能(包括无损上下线、灰度规则和限流降级)将无法使用,且关闭过程中会触发一次应用重启,请自行判断业务风险后再进行操作。