管理灰度规则(Java)

更新时间: 2023-11-10 10:40:29

对于部署在SAE的Spring Cloud或Dubbo微服务应用,为了确保升级操作的安全性,您可以通过启用灰度发布(即金丝雀发布)的灰度规则进行小规模验证,验证通过后再全量升级。本文介绍如何在SAE控制台设置灰度规则。

前提条件

背景信息

如果您的应用有多个应用实例且需要升级,可以按需通过灰度或分批发布方式升级应用实例版本。其中,针对Spring Cloud和Dubbo微服务的灰度发布需要启动灰度规则才能实现。更多信息,请参见灰度发布应用

创建灰度规则

  1. 登录SAE控制台
  2. 在左侧导航栏,选择应用管理 > 应用列表,在顶部菜单栏选择地域,然后单击具体应用名称。
  3. 进入灰度规则页面。

    • 存量应用:在左侧导航栏,单击灰度规则,然后在灰度规则页面,单击新建灰度规则

    • 新增应用:在左侧导航栏,选择微服务治理 > 灰度规则,然后在灰度规则页面,单击新建灰度规则

  4. 新建灰度规则面板,执行以下操作,然后单击确定

    SAE支持的灰度规则是按内容灰度,您所需配置的信息会因应用框架而异。

    说明

    如果您是第一次使用该功能,需要在该页面单击开启微服务治理并刷新页面,才能配置灰度规则。

    配置项

    说明

    规则类型

    • 七层流量灰度(K8s ingress):可以实现在灰度批次发布过程中,将特定标记的七层流量打到灰度批次的实例上。

    • 微服务流量灰度:可以实现在灰度批次发布过程中,将特定标记的流量打到灰度批次的实例上。

    规则名称

    设置灰度规则名称。

    规则描述

    对灰度规则的自定义描述。

    灰度类型

    根据内容灰度。

    网关实例(ALB ingress)

    规则类型七层流量灰度(K8s ingress)时需要配置。

    SAE基于ALB实现的网关路由(Ingress),具备根据域名、路径路由到不同应用的能力。您需要先为应用配置ALB实例,并创建路由规则。具体操作,请参见为应用设置路由规则(ALB)

    灰度的服务

    规则类型七层流量灰度(K8s ingress)时需要配置。

    选择需要灰度的应用及对应端口。

    框架类型

    规则类型微服务流量灰度时需要配置。

    配置灰度规则应用的框架类型。

    • Spring Cloud:需要设置Path

    • Dubbo:需要选择服务方法

    条件模式

    规则类型微服务流量灰度时需要配置。配置灰度规则应用的条件模式。

    选择同时满足下列条件满足下列任一条件

    条件列表

    单击+添加新的规则条件,可以添加多条规则。

    • 微服务灰度流量

      • Spring Cloud:根据参数类型CookieHeaderParameter,设置相应的参数条件以及

      • Dubbo:根据应用实际情况,设置参数参数值获取表达式条件以及

    • 七层流量灰度

      根据参数类型CookieHeader来源ip,设置对应的参数

    创建成功后,可以在灰度规则页面,查看刚创建的灰度规则。同时,新建灰度规则按钮已置灰。单击目标规则名称,可以在灰度规则详情面板,查看规则内容。灰度规则详情

编辑或删除灰度规则

  1. 登录SAE控制台
  2. 在左侧导航栏,选择应用管理 > 应用列表,在顶部菜单栏选择地域,然后单击具体应用名称。
  3. 在左侧导航栏,选择微服务治理 > 灰度规则或单击灰度规则,然后在灰度规则页面,找到目标灰度规则,在其操作列,按需选择编辑删除,并根据页面提示操作。

阿里云首页 Serverless应用引擎 相关技术圈