基于制造技术

技术编号:39735048 阅读:5 留言:0更新日期:2023-12-17 23:37
本申请公开了一种基于

【技术实现步骤摘要】
基于Helm的灰度发布方法、装置、电子设备及介质


[0001]本申请涉及项目发布
,特别涉及一种基于
Helm
的灰度发布方法

装置

电子设备及介质


技术介绍

[0002]随着互联网技术的发展,用户对应用软件的要求越来越高

为了适应技术的更新和用户的需求,开发人员往往需要不断地进行版本更新,相应的,也需要对软件开发过程不断地进行测试

[0003]而如果使用全局发布的方式对应用软件的新版本直接进行测试,容易带来用户访问不同的风险,给用户造成不便,同时,新版本迭代更新存在的技术问题也容易给应用软件带来服务停机的风险


技术实现思路

[0004]为了解决至少一个上述相关技术中的技术问题,本申请实施例提供了一种基于
Helm
的灰度发布方法

装置

电子设备及介质

[0005]本申请实施例的第一方面提出了一种基于
Helm
的灰度发布方法,所述方法包括:
[0006]获取灰度配置信息和用于灰度发布的项目代码;
[0007]根据所述灰度配置信息以及所述项目代码,采用
helm
方式进行项目灰度环境集群的部署,获得灰度环境集群;
[0008]获取灰度发布规则;所述灰度发布规则用于筛选路由至所述灰度环境集群的用户流量;
[0009]获取用户请求信息,根据所述灰度发布规则和所述用户请求信息,控制用户流量路由至所述灰度环境集群,进行灰度发布验证,收集用户反馈数据;
[0010]根据所述用户反馈数据,确定灰度验证结果

[0011]在一些实施例,所述方法还包括:
[0012]根据所述灰度验证结果,判断是否将所述灰度环境集群加入至项目正式集群

[0013]在一些实施例,所述获取灰度配置信息,采用
helm
方式进行项目灰度环境集群的部署,获得灰度环境集群这一步骤,具体包括:
[0014]根据所述灰度配置信息,生成灰度配置环境;
[0015]对所述项目代码进行打包,生成灰度项目代码;
[0016]根据所述灰度项目代码,通过
helm
方式在所述灰度配置环境中进行项目灰度环境集群的部署,获得所述灰度环境集群

[0017]在一些实施例,所述灰度发布规则包括
cookie
切分流量规则
、header
切分流量规则以及权重切分流量规则,所述获取灰度发布规则这一步骤,具体包括:
[0018]获取项目业务需求信息;
[0019]根据所述项目业务需求信息,进行所述灰度发布规则的选取,确定所述灰度发布
规则

[0020]在一些实施例,所述
cookie
切分流量规则具体为:
[0021]获取所述用户请求信息中的
cookie
信息;
[0022]当所述
cookie
信息中存在灰度标识信息时,控制用户流量路由至所述灰度环境集群;
[0023]当所述
cookie
信息中不存在灰度标识信息时,则控制用户流量路由至项目正式集群;
[0024]所述
header
切分流量规则具体为:
[0025]获取所述用户请求信息中的
header
信息;
[0026]当所述
header
信息中存在灰度标识信息时,控制用户流量路由至所述灰度环境集群;
[0027]当所述
header
信息中不存在灰度标识信息时,则控制用户流量路由至项目正式集群;
[0028]所述权重切分流量规则具体为:
[0029]获取灰度百分比信息,将所述灰度百分比信息分配至所述用户请求信息中;
[0030]根据所述灰度百分比信息,控制用户流量路由至所述灰度环境集群

[0031]在一些实施例,所述根据所述灰度项目代码,通过
helm
方式在所述灰度配置环境中进行项目灰度环境集群的部署,获得所述灰度环境集群这一步骤,具体包括:
[0032]针对所述灰度项目代码,确定所述灰度项目代码对应的项目基本信息;所述项目基本信息包括项目命名信息

项目版本信息以及项目
chart
仓库的地址;
[0033]获取灰度发布参数,执行赋值操作,将所述灰度发布参数赋值至对应的第一变量,更新所述第一变量的变量值;所述第一变量为
helm
变量文件中的变量;所述第一变量包括项目实例
pod
数量

项目部署选择服务器参数

项目域名以及证书相关参数

项目容器端口

项目镜像地址

存活检查相关参数

项目容器资源限制相关参数

滚动更新相关参数

存储挂载的相关参数;
[0034]根据所述灰度项目代码以及所述第一变量的变量值,进行所述灰度环境集群的部署和灰度发布

[0035]在一些实施例,所述根据所述灰度验证结果,判断是否将所述灰度环境集群加入至项目正式集群这一步骤,具体包括:
[0036]当所述灰度验证结果为灰度验证成功时,将所述灰度环境集群加入至所述项目正式集群,删除所述灰度发布规则,以及下线所述灰度环境集群;
[0037]当所述灰度验证结果为灰度验证失败时,删除所述灰度发布规则,以及下线所述灰度环境集群

[0038]本申请实施例的第二方面提出了一种基于
Helm
的灰度发布装置,包括:
[0039]第一模块,用于获取灰度配置信息和用于灰度发布的项目代码;
[0040]第二模块,用于根据所述灰度配置信息以及所述项目代码,采用
helm
方式进行项目灰度环境集群的部署,获得灰度环境集群;
[0041]第三模块,用于获取灰度发布规则;所述灰度发布规则用于筛选路由至所述灰度环境集群的用户流量;
[0042]第四模块,用于获取用户请求信息,根据所述灰度发布规则和所述用户请求信息,控制用户流量路由至所述灰度环境集群,进行灰度发布验证,收集用户反馈数据;
[0043]第五模块,用于根据所述用户反馈数据,确定灰度验证结果

[0044]本申请实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的基于
Helm
的灰度发布方法

[0045]本申请实施例的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于
Helm
的灰度发布方法,其特征在于,包括:获取灰度配置信息和用于灰度发布的项目代码;根据所述灰度配置信息以及所述项目代码,采用
helm
方式进行项目灰度环境集群的部署,获得灰度环境集群;获取灰度发布规则;所述灰度发布规则用于筛选路由至所述灰度环境集群的用户流量;获取用户请求信息,根据所述灰度发布规则和所述用户请求信息,控制用户流量路由至所述灰度环境集群,进行灰度发布验证,收集用户反馈数据;根据所述用户反馈数据,确定灰度验证结果
。2.
根据权利要求1所述的灰度发布方法,其特征在于,还包括步骤:根据所述灰度验证结果,判断是否将所述灰度环境集群加入至项目正式集群
。3.
根据权利要求1所述的灰度发布方法,其特征在于,所述获取灰度配置信息,采用
helm
方式进行项目灰度环境集群的部署,获得灰度环境集群这一步骤,具体包括:根据所述灰度配置信息,生成灰度配置环境;对所述项目代码进行打包,生成灰度项目代码;根据所述灰度项目代码,通过
helm
方式在所述灰度配置环境中进行项目灰度环境集群的部署,获得所述灰度环境集群
。4.
根据权利要求1所述的灰度发布方法,其特征在于,所述灰度发布规则包括
cookie
切分流量规则
、header
切分流量规则以及权重切分流量规则,所述获取灰度发布规则这一步骤,具体包括:获取项目业务需求信息;根据所述项目业务需求信息,进行所述灰度发布规则的选取,确定所述灰度发布规则
。5.
根据权利要求4所述的灰度发布方法,其特征在于,所述
cookie
切分流量规则具体为:获取所述用户请求信息中的
cookie
信息;当所述
cookie
信息中存在灰度标识信息时,控制用户流量路由至所述灰度环境集群;当所述
cookie
信息中不存在灰度标识信息时,则控制用户流量路由至项目正式集群;所述
header
切分流量规则具体为:获取所述用户请求信息中的
header
信息;当所述
header
信息中存在灰度标识信息时,控制用户流量路由至所述灰度环境集群;当所述
header
信息中不存在灰度标识信息时,则控制用户流量路由至项目正式集群;所述权重切分流量规则具体为:获取灰度百分比信息,将所述灰度百分比信息分配至所述用户请求信息中;根据所述灰度百分比信息,控制用户流量路由至所述灰度环境集群
。6.
根据权利要求3所述的灰度发布方法,其特征在于,所述根据所述灰度项目代码,通...

【专利技术属性】
技术研发人员:梁田润吕全李晓峰汪波
申请(专利权)人:广州优谷信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1