应用服务网格 ASM-Bookinfo应用的灰度发布实践:为服务添加灰度版本

时间:2024-06-24 17:16:32

为服务添加灰度版本

本步骤将为Bookinfo应用的“reviews”服务添加新的灰度版本,并配置相应的灰度策略,将原有生产环境的默认版本的流量引流一部分到新版本中。

下面将以为“reviews”服务添加一个v3新版本,且v3新版本接收Bookinfo应用的30%流量为例进行配置。

部署灰度版本

  1. 在左侧导航中选择“灰度发布”,在金丝雀发布下,单击“立即发布”
  2. 配置灰度发布基本信息。

    • 灰度任务名称:用户自定义,此处设置为reviews-v3。
    • 命名空间:选择服务所在命名空间。
    • 灰度发布服务:在下拉框中选择reviews。
    • 工作负载:选择服务所属的工作负载。

  3. 配置灰度版本信息。

    • 部署集群:选择服务所属的集群。
    • 版本号:配置为v3。
    • 实例数量:使用默认。
    • 实例配置:镜像版本选择1.17.2,其他参数保持默认。

  4. 单击“发布”,待启动进度为100%,表明灰度版本部署成功。

    图8 查看启动进度

配置流量策略

为灰度版本设置流量策略,灰度版本会根据配置的流量配比引流老版本中的部分或全部流量。

  1. 灰度版本部署成功后,单击“配置流量策略”
  2. 设置流量策略。

    策略类型分为“基于流量比例”“基于请求内容”,通过页签选择确定。

    • 基于流量比例:根据流量比例配置规则,将从原版本中切分指定比例的流量到灰度版本。例如80%的流量走原版本,20%的流量走灰度版本。
    • 基于请求内容:根据请求内容配置规则,只有请求内容中满足特定条件的流量会切分到灰度版本上。例如只有在Windows操作系统上的用户可以访问灰度版本。

    “基于流量比例”为例,且v3版本流量配比为20%。

    图9 流量策略

  3. 单击“策略下发”

    灰度策略的生效需要几秒的时间,您需要在“监测与处理”页面开通 免费体验 APM,或者购买 APM 套餐包,否则无法观测到原版本和灰度版本的流量监控数据。

  4. “服务列表”页面,单击productpage服务中的“访问地址”。不断刷新页面,页面在v1和v3版本之间来回切换,并且比例大致接近4:1。

    图10 v1版本页面
    图11 v3版本页面

  5. 您也可以在一台已连接公网的机器上执行如下命令,持续访问productpage服务。

    while true;do wget -q -O- http://ip:port/productpage; done

    返回控制台的“监测与处理”页面查看v1和v3版本的实时流量监控情况。

    图12 流量监控详情

  6. 在“流量监控”页面,您可以查看Bookinfo应用各服务之间的实时拓扑。ASM提供的流量监控功能,可监控服务之间的拓扑、会话请求调用链、各环节耗时和RPS、RT等性能状态。

    图13 流量监控拓扑

    从拓扑图可以看出,reviews-v1和reviews-v3服务的调用次数分别为706和167,比例大致接近4:1,符合设定的流量比例策略。成功实现了灰度发布。

support.huaweicloud.com/qs-asm/asm_qs_0001.html