更新时间:2022-09-22 GMT+08:00
分享

灰度版本基本操作

您可以对现有的服务进行多个版本的管理,针对不同版本配置不同的策略,从而达到流量管理的目的。

使用说明

对灰度版本的相关基本操作,其原理是修改Istio的destinationrule和virtualservice两个资源的配置信息,修改完成后,需要等待10秒左右,新的策略规则才会生效。

为灰度版本添加灰度策略

如果您在添加灰度版本时,未配置灰度策略,可以基于以下步骤创建策略。

  1. 登录应用服务网格控制台,在左侧导航栏中选择“灰度发布”
  2. 单击已创建灰度任务的名称,进入查看灰度版本状态页面。
  3. 单击“查看/配置灰度策略”。在灰度策略配置中,单击策略类型下的“基于请求内容”策略或“基于流量比例”策略。

    • 基于请求内容发布
      对当前版本配置相应的请求内容规则,服务流量在满足此规则的情况下,会走此版本。例如http请求,请求头cookie必须满足“访问条件”走版本A。
      • Cookie内容:
        • 完全匹配:当且仅当表达式完全符合此情况时,流量才会走到这个版本
        • 正则匹配:此处需要您使用正则表达式来匹配相应的规则
      • 自定义Header:
        • 完全匹配:当且仅当表达式完全符合此情况时,流量才会走到这个版本
        • 正则匹配:此处需要您使用正则表达式来匹配相应的规则

          可以自定义请求头的key和value,value支持完全匹配和正则匹配。

      • 允许访问的操作系统:请选择允许访问的操作系统。
      • 允许访问的浏览器:请选择允许访问的浏览器。
      • 灰度策略规则描述:当前服务的流量转发的规则描述信息及Yaml的查看。
    • 基于流量比例发布
      对当前版本配置相应的流量权重,服务流量将会按照权重比率以对应的概率分发当前版本。例如10%的流量走版本A,90%的流量走版本B。
      • 流量配比:根据输入的流量配比来确定流量分发的比重。

        范围限制为[0,默认版本权重w],例如,当您配置为10,则10%的服务流量会走向此版本,(w-10)%的流量会走向默认版本,即从默认版本分走一部分流量。

      • 灰度策略规则描述:当前服务的流量转发的规则描述信息及Yaml的查看。

  4. 单击“策略下发”,灰度策略会自动生效。

修改版本的灰度策略

  • 修改基于流量比例的策略

    基于流量比例的策略(又称为AB TEST策略)所有版本的权重之和为100,即:假设默认版本的权重为x,当前待修改版本的权重为y,则x+y=100。

    当您此时将待修改版本的权重从y改成y1,则默认版本的权重会自动改为x-y1+y,即待修改版本的权重会影响到默认版本的权重。

  • 修改基于请求内容的策略

    基于请求内容的策略(又称为金丝雀策略)会遍历除默认版本外的全部金丝雀规则,如果满足某个版本的规则,则流量走向此版本,如果全部不满足,则流量会走到默认版本,即:假设当您此时将待修改版本的匹配策略为x。

    当您此时将待修改版本的匹配策略从x改成x1,则原本满足x规则的流量将会走到默认版本,而满足新规则x1的流量将会走到当前的待修改版本。

切换灰度策略类型

您可以在“基于请求内容”的策略和“基于流量比例”的策略之间切换。策略完成切换后,原本配置的规则将全部失效,所有的流量,会根据配置的新策略重新分配。

只有发布中的任务才支持灰度策略变更,版本发布完成后(即新版本完全接管旧版本流量,且旧版本已下线),将不支持重新配置灰度策略。

  1. 登录应用服务网格控制台,在左侧导航栏中选择“灰度发布”
  2. 单击已创建灰度版本的名称。
  3. 在监测灰度运行状态页面,单击“查看/配置灰度策略”。
  4. 参照配置灰度策略重新配置灰度策略。
  5. 配置完成后,单击“策略下发”。

切为默认流量版本

执行某个版本(如V2版本)后的“接管所有流量”,V2版本将获取到原默认版本的全部流量。原默认版本流量将变为0。

下线灰度版本

如果下线了原默认版本,则该版本的流量会被新创建的灰度版本完全接管。

  1. 登录应用服务网格控制台,在左侧导航栏中选择“灰度发布”
  2. 单击已创建灰度任务的名称。
  3. 单击待下线版本后的“版本下线”,下线该版本。

相关文档