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