更新时间:2024-07-31 GMT+08:00
分享

Istio灰度发布

Istio为您提供基于微服务的流量治理能力。Istio允许您按照标准制定一套流量分发规则,并且无侵入的下发到实例中,平滑稳定的实现灰度发布功能。

前置条件

  • 已有CCE集群,若无集群请创建CCE集群
  • 已有当前版本的工作负载并创建服务(service),若无工作负载请创建工作负载
  • 已开通ASM服务,并保持“服务管理”页签中对应服务的“配置诊断”为正常状态,若未开通请开通ASM服务
  • 已有灰度版本的工作负载并关联当前版本的服务(service)。

步骤详情

表1 发布方式为自定义发布的参数说明

参数

说明

步骤显示名称

步骤添加后在部署步骤显示的名称。仅支持汉字、英文字母、数字、空格、或-_,;:./()()符号,其中空格不可在名称开头或结尾使用,长度为1-128。

集群名称

选择目标集群。

命名空间名称

填写命名空间名称。

发布方式

支持自定义发布、快速发布两种方式。

yml文件来源

  • 制品仓库

    选择yml文件:选择目标yml文件。

  • 代码仓库

    选择代码仓库:选择目标代码仓库。

    选择分支:选择目标分支。

    yml文件路径:目标yml文件所在的路径。

控制选项

当前步骤部署失败后,应用是否继续部署后续的步骤。

表2 发布方式为快速发布的参数说明

参数

说明

步骤显示名称

步骤添加后在部署步骤显示的名称。仅支持汉字、英文字母、数字、空格、或-_,;:./()()符号,其中空格不可在名称开头或结尾使用,长度为1-128。

集群名称

选择目标集群。

命名空间名称

填写命名空间名称。

发布方式

支持自定义发布、快速发布两种方式。

流量接管

灰度发布

VirtualService名称:可选择目标VirtualService,位置在“ASM服务>>网格配置>>istio资源管理”中,筛选目标命名空间及istio资源。

DestinationRule名称:可选择目标DestinationRule,位置在“ASM服务>>网格配置>>istio资源管理”中,筛选目标命名空间及istio资源。

当前版本:规定version为关键字在label中标记版本号,用于区分正式版本和灰度版本,并与DestinationRule中subsets对象name保持一致,作为灰度引流的标识。

灰度版本号:规定version为关键字在label中标记版本号,用于区分正式版本和灰度版本,并与DestinationRule中subsets对象name保持一致,作为灰度引流的标识。

灰度策略:

  • 基于流量比例

    灰度版本流量配比:支持流量自定义配置。

  • 基于请求内容-Cookie

    Cookie内容:支持输入自定义Cookie内容。

  • 基于请求内容-Header

    自定义Header:支持添加并自定义Header。

正式发布

VirtualService名称:可选择目标VirtualService,位置在“ASM服务>>网格配置>>istio资源管理”中,筛选目标命名空间及istio资源。

DestinationRule名称:可选择目标DestinationRule,位置在“ASM服务>>网格配置>>istio资源管理”中,筛选目标命名空间及istio资源。

发布正式版本:填写正式接管流量的版本。

控制选项

当前步骤部署失败后,应用是否继续部署后续的步骤。

相关文档