金丝雀发布
通过定制路由规则将特定的流量(如指定特征的用户)导入新版本服务中,在生产环境下进行测试,同时通过渐进受控地导入生产流量,可以最小化升级中出现的故障对用户的影响。并且在同时存在新老版本服务时,还可根据应用压力对不同版本的服务进行独立的缩扩容。
前提条件
切换到项目视角。
创建应用时开启服务治理,并且设置版本号、容器端口。
应用创建了对应的service。
如果需要做流量治理,需要创建外部域名访问,访问时需要配置hosts文件,IP配置为应用部署的kubernetes集群istio-ingressgateway-xxx所在的节点IP。
创建步骤
单击需要创建灰度发布应用后的
。
下拉框中选择灰度发布。
灰度发布创建页面,选择
,点击下一项。
进入灰度发布基础信息设置页面,设置任务名称。
选择工作负载。
设置发布版本。
设置描述信息,点击下一项。
设置副本数和新版本的镜像,点击下一项。
可以通过选择镜像,选择项目镜像仓库内部的镜像,也可以拉取公有镜像仓库的镜像。
高级设置:对新版本的工作负载进行设置,也可增加对应的配置文件。
选择策略类型。
按流量比例发布,按照流量比例负载请求,通过手动拖动光标来调节版本流量比例。
按照请求内容发布,按照请求内容负载请求,满足设置内容时,请求负载到新版本。
参数 设置说明 设置示例 COOKIE内容 根据COOKIE内容进行匹配,匹配条件分为:完全匹配、前缀匹配、正则匹配,内容已键值对形式。 key=value URI 根据URI内容进行匹配,匹配条件分为:完全匹配、前缀匹配、正则匹配,URI地址。 URI地址 自定义 HEADER 根据键值对自定义设置匹配条件,匹配条件分为:完全匹配、前缀匹配、正则匹配,内容已键值对形式。 自定义key和value
访问操作系统设置。
默认设置为所有操作系统。
指定操作系统:windows、linux、macOs、android、ios。
立即创建,创建灰度发布任务。
查看金丝雀发布
单击应用菜单,选择查看灰度发布任务的应用名称,进入应用详情。
切换页签到灰度发布页签。
单击灰度发布任务名称。
进入灰度发布详情页。
金丝雀发布任务编辑
单击应用菜单,选择查看灰度发布任务的应用名称,进入应用详情。
切换页签到灰度发布页签。
单击灰度发布任务名称。
进入灰度发布详情页。
单击右上角编辑按钮
。
编辑流量策略和流量比例。
确认更改,修改成功。
金丝雀发布流量接管
单击应用菜单,选择查看灰度发布任务的应用名称,进入应用详情。
切换页签到灰度发布页签。
单击灰度发布任务名称。
进入灰度发布详情页。
在需要操作版本卡片的操作按钮
。
选择接管流量,接管所有流量,右上角可以点击
可以撤销流量接管。
版本下线
单击应用菜单,选择查看灰度发布任务的应用名称,进入应用详情。
切换页签到灰度发布页签。
单击灰度发布任务名称。
进入灰度发布详情页。
在需要操作版本卡片的操作按钮
。
选择接管流量,接管所有流量,右上角可以点击
可以撤销流量接管。
单击页面上方版本下线按钮
。
确认下线后,灰度发布任务完成,灰度发布任务删除。