一种基于自动化配置的应用升级方法、装置及设备与流程

文档序号:37547587发布日期:2024-04-08 13:53阅读:12来源:国知局
一种基于自动化配置的应用升级方法、装置及设备与流程

本技术属于计算机,尤其涉及一种基于自动化配置的应用升级方法、装置及设备。


背景技术:

1、kubernetes(简称为k8s)是一种开源的容器集群管理系统,用于管理云平台中多个主机上的容器化的应用,k8s中使用yaml文件来定义各种资源对象。helm是一款基于k8s的应用包管理工具,可以便捷的将yaml文件集合打包为chart并部署到k8s。其中,chart中所描述的应用信息经helm部署后,可以在k8s生成以容器形式存在的应用实例。

2、通过chart包产物,可以快速在集群上部署、升级应用,其中,chart的参数配置文件(values.yaml文件)中的键值对一般描述了需要经常修改的键值对,键值对包括配置项key和配置值value,例如资源大小、镜像信息等,因此,在升级过程中,需要将新版本的配置项与当前版本的配置项进行合并。然而现有技术中在进行应用升级时,需要现场的运维人员进行手动干预,经过人工比对检查升级前后的配置项异同,并手动进行必要的修改和配置后,再进行新版本配置项与待升级应用当前版本配置项的合并,得到合并结果以升级应用。

3、一方面,在配置项较多或待部署的chart包较多时,通过人工方式进行手动修改和配置的方法,应用升级的效率较低。另一方面,对于跨版本升级应用的情况,例如应用从v1版本升级到v3版本,但某个配置项只有在v2版本的chart包中存在,需要面临的问题如下:(1)历史版本的chart包如何维护,并且能让后台服务获取到。(2)跨版本升级的配置项合并方法,需要能满足多种版本升级要求。


技术实现思路

1、本技术的目的是提供基于自动化配置的应用升级方法、装置及设备,用以在应用升级时基于升级包中预设的合并策略,自动完成新旧两个版本的参数配置文件的配置项合并,提升了应用升级效率。

2、第一方面,本技术提供了一种基于自动化配置的应用升级方法,所述方法包括:

3、从第一版本升级包中获取合并策略文件,并根据所述合并策略文件中针对指定key配置的目标合并策略,对所述指定key执行第一合并操作,得到第一合并结果;其中,所述指定key包括所述第一版本升级包中的第一参数配置文件相对第二版本升级包中的第二参数配置文件独有的key,或包括所述第二参数配置文件相对所述第一参数配置文件独有的key,或包括所述第一参数配置文件和所述第二参数配置文件共有的key;所述第一版本升级包用于更新第二版本升级包;

4、根据默认合并策略,对所述第一参数配置文件和所述第二参数配置文件中除所述指定key以外的key,执行第二合并操作,得到第二合并结果;

5、基于所述第一合并结果和所述第二合并结果,完成应用升级。

6、在一种可能的实施方式中,所述合并策略文件中包括以下至少一种合并策略:

7、选取所述第一参数配置文件中key对应的value,作为所述第一合并结果中所述指定key对应的value;

8、选取所述第二参数配置文件中key对应的value,作为所述第一合并结果中所述指定key对应的value;

9、所述指定key还包括指定参数配置文件中的key时,所述合并策略文件还包括以下合并策略:

10、选取所述指定参数配置文件中key对应的value,作为所述第一合并结果中所述指定key对应的value;其中,所述指定参数配置文件为从指定版本升级包中获取到的,所述指定版本升级包的版本为所述第一版本升级包对应的版本与所述第二版本升级包对应的版本之间的版本。

11、在一种可能的实施方式中,所述指定key包括所述第一参数配置文件和所述第二参数配置文件共有的key时,所述对所述指定key执行第一合并操作,包括:

12、当所述目标合并策略为选取所述第一参数配置文件中key对应的value,作为所述第一合并结果中所述指定key对应的value时,选取所述第一参数配置文件中所述指定key对应的value,作为所述第一合并结果中所述指定key对应的value;或者

13、当所述目标合并策略为选取所述第二参数配置文件中key对应的value,作为所述第一合并结果中所述指定key对应的value时,选取所述第二参数配置文件中所述指定key对应的value,作为所述第一合并结果中所述指定key对应的value。

14、在一种可能的实施方式中,所述指定key包括所述第一参数配置文件相对所述第二参数配置文件独有的key,或包括所述第二参数配置文件相对所述第一参数配置文件独有的key时,所述对所述指定key执行第一合并操作,包括:

15、当所述目标合并策略为选取所述第一参数配置文件中key对应的value,作为所述第一合并结果中所述指定key对应的value时,保留所述第一参数配置文件中所述指定key对应的value,作为所述第一合并结果中所述指定key对应的value;

16、当所述目标合并策略为选取所述第二参数配置文件中key对应的value,作为所述第一合并结果中所述指定key对应的value时,保留所述第二参数配置文件中所述指定key对应的value,作为所述第一合并结果中所述指定key对应的value。

17、在一种可能的实施方式中,所述指定key包括所述指定参数配置文件中的key时,所述对所述指定key执行第一合并操作,包括:

18、保留所述指定参数配置文件中所述指定key对应的value,作为所述第一合并结果中所述指定key对应的value。

19、第二方面,本技术提供了一种基于自动化配置的应用升级装置,所述装置包括:

20、第一合并模块,用于从第一版本升级包中获取合并策略文件,并根据所述合并策略文件中针对指定key配置的目标合并策略,对所述指定key执行第一合并操作,得到第一合并结果;其中,所述指定key包括所述第一版本升级包中的第一参数配置文件相对第二版本升级包中的第二参数配置文件独有的key,或包括所述第二参数配置文件相对所述第一参数配置文件独有的key,或包括所述第一参数配置文件和所述第二参数配置文件共有的key;所述第一版本升级包用于更新第二版本升级包;

21、第二合并模块,用于根据默认合并策略,对所述第一参数配置文件和所述第二参数配置文件中除所述指定key以外的key,执行第二合并操作,得到第二合并结果;

22、升级模块,用于基于所述第一合并结果和所述第二合并结果,完成应用升级。

23、在一种可能的实施方式中,所述合并策略文件中包括以下至少一种合并策略:

24、选取所述第一参数配置文件中key对应的value,作为所述第一合并结果中所述指定key对应的value;

25、选取所述第二参数配置文件中key对应的value,作为所述第一合并结果中所述指定key对应的value;

26、所述指定key还包括指定参数配置文件中的key时,所述合并策略文件还包括以下合并策略:

27、选取所述指定参数配置文件中key对应的value,作为所述第一合并结果中所述指定key对应的value;其中,所述指定参数配置文件为从指定版本升级包中获取到的,所述指定版本升级包的版本为所述第一版本升级包对应的版本与所述第二版本升级包对应的版本之间的版本。

28、在一种可能的实施方式中,所述指定key包括所述第一参数配置文件和所述第二参数配置文件共有的key时,所述第一合并模块,具体用于:

29、当所述目标合并策略为选取所述第一参数配置文件中key对应的value,作为所述第一合并结果中所述指定key对应的value时,选取所述第一参数配置文件中所述指定key对应的value,作为所述第一合并结果中所述指定key对应的value;或者

30、当所述目标合并策略为选取所述第二参数配置文件中key对应的value,作为所述第一合并结果中所述指定key对应的value时,选取所述第二参数配置文件中所述指定key对应的value,作为所述第一合并结果中所述指定key对应的value。

31、在一种可能的实施方式中,所述指定key包括所述第一参数配置文件相对所述第二参数配置文件独有的key,或包括所述第二参数配置文件相对所述第一参数配置文件独有的key时,所述第一合并模块,具体用于:

32、当所述目标合并策略为选取所述第一参数配置文件中key对应的value,作为所述第一合并结果中所述指定key对应的value时,保留所述第一参数配置文件中所述指定key对应的value,作为所述第一合并结果中所述指定key对应的value;

33、当所述目标合并策略为选取所述第二参数配置文件中key对应的value,作为所述第一合并结果中所述指定key对应的value时,保留所述第二参数配置文件中所述指定key对应的value,作为所述第一合并结果中所述指定key对应的value。

34、在一种可能的实施方式中,所述指定key包括所述指定参数配置文件中的key时,所述第一合并模块,具体用于:

35、保留所述指定参数配置文件中所述指定key对应的value,作为所述第一合并结果中所述指定key对应的value。

36、第三方面,本技术实施例提供了一种电子设备,包括至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如本技术第一方面中提供的任一项所述的基于自动化配置的应用升级方法。

37、第四方面,本技术实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由终端设备的处理器执行时,使得终端设备能够执行如本技术第一方面中提供的任一项所述的基于自动化配置的应用升级方法。

38、本技术的实施例提供的技术方案至少带来以下有益效果:

39、在应用从旧版本升级到新版本时,按照在新版本升级包中的合并策略文件中的合并策略,对两个版本参数配置文件中的指定key进行合并,对两个版本参数配置文件中除指定key之外的其他key则按照默认合并策略进行合并,实现自动合并新旧两个版本的参数配置文件,提升升级效率。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1