应用服务网格 ASM-为服务添加灰度版本:创建金丝雀发布
创建金丝雀发布
- 登录应用服务网格控制台,在左侧导航栏中选择“灰度发布”。在金丝雀发布下,单击“创建”。
- 配置灰度版本基本信息。
- 灰度发布服务
单击“选择服务”,选择添加灰度版本的服务。
- 部署集群
灰度发布服务所属的集群。
- 发布任务名称
系统自动生成,可根据实际需求进行修改。
- 版本号
新增服务中灰度版本号。
- 版本描述
灰度版本描述信息。
- 灰度发布服务
- 根据界面提示的流程图,熟悉灰度发布版本流程,单击“创建”。
- 部署灰度版本。
- 实例数量
灰度版本的实例数量。灰度版本可以有一个或多个实例,用户可根据实际需求进行修改。每个灰度版本的实例都由相同的容器部署而成。
- 镜像名称
默认为该服务的镜像。
- 镜像版本
请选择需要添加灰度的镜像版本。
- 实例数量
- 单击“部署灰度版本”,灰度版本开始创建。
请确保灰度版本的实例状态为正常时,再开始下一步进行灰度策略的配置。
- 单击“配置灰度策略”,进行灰度策略配置(可选)。
策略类型:分为“基于请求内容发布”和“基于流量比例发布”两种类型,通过页签选择确定。
- 基于请求内容发布
对当前版本配置相应的请求内容规则,服务流量在满足此规则的情况下,会走此版本。例如http请求,请求头cookie必须满足“访问条件”走版本A。
- 基于流量比例发布
- 如果当前服务已有灰度版本并配置了灰度策略,则策略类型不可选(灰度版本只能配置一种策略类型),默认为已经配置的策略类型。
- 基于请求内容发布策略只对直接访问的入口服务有效。如果希望对所有服务有效,需要业务代码对HTTP请求的header信息进行传播。
例如:如果您基于review组件,配置了基于请求内容的灰度发布策略,通过访问productpage组件的界面,是无法看到效果的。
原因为,您的客户端访问productpage组件携带了HTTP请求的header信息,而productpage组件请求reviews组件时,将这些header信息丢失了(详情可参考如何使用Istio调用链埋点),从而失去了基于请求内容的灰度发布效果。
- 基于请求内容发布
- 设置完成后,单击“策略下发”。
灰度策略的生效需要几秒时间,您可以在监测灰度运行状态页面,观察灰度版本的运行状态。