本技术实施例涉及数据处理的,具体而言,涉及一种部署云平台的处理方法以及产品。
背景技术:
1、随着技术的发展,云计算管理平台可以为用户提供计算资源、存储资源和网络资源等层面的资源隔离及资源使用限制,使得在用户层面上来看仿佛是独占一台物理机器;经过多年的发展,云计算管理平台的技术已日趋成熟和稳定,在具有高可用性的同时也具有非常灵活的可扩展性,在各行各业得到了广泛的应用。
2、容器集群管理系统,可以在docker容器技术的基础上,为容器化的应用提供部署运行、资源调度、服务发现和动态伸缩等功能,提供了大规模容器集群管理的便捷性。
3、将云平台部署在容器集群管理系统上已成为一种趋势,可以提高云平台的部署灵活性、可扩展性与自我故障恢复等能力。
4、目前将云平台部署在容器集群管理系统上的相关方法中,采用的是为云平台中的每一个模块编写一个shell部署脚本,在该shell脚本中对相应模块的部署逻辑进行组织编排,需要人为手动逐个根据各个模块对应的shell脚本进行部署,而人为手动逐个执行各个模块的shell脚本部署的方式很烦琐,并且部署效率低下。
技术实现思路
1、本技术实施例提供一种部署云平台的处理方法以及产品,旨在提高将云平台部署在容器集群管理系统时的部署效率。
2、第一方面本技术实施例提供一种部署云平台的处理方法,所述方法包括:
3、获取目标云平台中各个业务模块各自对应的目标配置,生成各个业务模块各自对应的模板配置文件;
4、响应于部署操作,确定在目标容器集群管理系统中部署的所述目标云平台的目标业务模块,以及任一目标业务模块在云平台部署工具的部署脚本中对应的角色;
5、根据云平台部署工具的部署脚本和各个目标业务模块对应的模板配置文件,将各个目标业务模块部署在目标容器集群管理系统中。
6、可选地,获取目标云平台中各个业务模块各自对应的目标配置,生成各个业务模块各自对应的模板配置文件,包括:
7、获取所述目标云平台中各个业务模块的公共配置、任一业务模块的环境配置以及任一业务模块对应的自定义配置;
8、对于任一业务模块,将公共配置、环境配置以及自定义配置作为该业务模块的目标配置;
9、基于云平台部署工具的变量渲染任一业务模块的目标配置,得到该业务模块的模板配置文件。
10、可选地,响应于部署操作,确定在目标容器集群管理系统中部署的所述目标云平台的目标业务模块,以及任一目标业务模块在云平台部署工具的部署脚本中对应的角色,包括:
11、响应于第一部署操作,确定目标部署配置,所述目标部署配置中包括在目标容器集群管理系统中部署的目标云平台的各个目标业务模块的名称;
12、响应于第二部署操作,确定各个目标业务模块在所述云平台部署工具的部署脚本中对应的角色;
13、将所述目标部署配置与所述云平台部署工具的部署命令进行拼装,得到将任一目标业务模块作为角色的部署脚本。
14、可选地,根据云平台部署工具的部署脚本和各个目标业务模块对应的模板配置文件,将各个目标业务模块部署在目标容器集群管理系统中,包括:
15、根据云平台部署工具的部署脚本的角色部署顺序,依次执行任一目标业务模块的部署线程,以将该目标业务模块部署在目标容器集群管理系统中;
16、当任一目标业务模块的部署线程执行失败时,结束部署过程并弹窗显示部署失败提示,所述部署失败提示包括部署失败的目标业务模块的名称。
17、可选地,执行任一目标业务模块的部署线程,包括:
18、对于任一目标业务模块,获取该目标业务模块的包格式文件,确定是否继续部署该目标业务模块;
19、当确定继续部署该目标业务模块时,在所述目标容器集群管理系统中的各个节点上创建该目标业务模块对应的日志目录,并设置所述日志目录的读写权限;
20、根据该目标业务模块的模板配置文件进行渲染,生成该目标业务模块在目标容器集群管理系统中的目标配置参数;
21、调用包管理工具,将具有所述目标配置参数的该目标业务模块部署在目标容器集群管理系统中。
22、可选地,对于任一目标业务模块,获取该目标业务模块的包格式文件,确定是否继续部署该目标业务模块,包括:
23、检测该目标业务模块的包格式文件是否存在依赖关系,和/或对该目标业务模块的包格式文件进行语法检查;
24、当该目标业务模块的包格式文件不存在依赖关系时,确定继续部署该目标业务模块;
25、当该目标业务模块的包格式文件存在依赖关系时,检测当前是否包括该目标业务模块存在依赖关系的目标文件;
26、若存在该目标业务模块存在依赖关系的目标文件时,确定继续部署该目标业务模块;
27、若不存在该目标业务模块存在依赖关系的目标文件时,确定不继续部署该目标业务模块;
28、当该目标业务模块的包格式文件不存在语法错误时,确定继续部署该目标业务模块;
29、当该目标业务模块的包格式文件存在语法错误时,确定不继续部署该目标业务模块。
30、可选地,所述目标云平台包括openstack云计算平台,所述目标容器集群管理系统包括kubernetes,所述云平台部署工具包括ansible部署工具;
31、所述获取目标云平台中各个业务模块各自对应的目标配置,生成各个业务模块各自对应的模板配置文件,包括:
32、获取所述openstack云计算平台中各个业务模块对应的目标配置,基于所述ansible部署工具的变量渲染任一业务模块的目标配置,得到该业务模块的模板配置文件,所述目标配置包括任一业务模块的公共配置、环境配置以及自定义配置;
33、所述响应于部署操作,确定在目标容器集群管理系统中部署的所述目标云平台的目标业务模块,以及任一目标业务模块在云平台部署工具的部署脚本中对应的角色,包括:
34、响应于第一部署操作确定目标部署配置,所述目标部署配置中包括在所述kubernetes中部署的所述openstack云计算平台的各个目标业务模块的名称;响应于第二部署操作,确定各个目标业务模块在ansible部署工具的部署脚本中对应的角色;将所述目标部署配置与所述ansible部署工具的ansible-playbook部署命令进行拼装,得到将任一目标业务模块作为角色的部署脚本playbook;
35、所述根据云平台部署工具的部署脚本和各个目标业务模块对应的模板配置文件,将各个目标业务模块部署在目标容器集群管理系统中,包括:
36、根据所述ansible部署工具的部署脚本playbook中角色部署顺序,依次执行任一目标业务模块的部署线程;
37、其中,在任一目标业务模块的部署线程中,当对该目标业务模块对应的kubernetes helm chart包格式文件检测通过时,在所述kubernetes中的各个节点上创建该目标业务模块对应的日志目录,并设置所述日志目录的读写权限;根据该目标业务模块的模板配置文件进行渲染,生成该目标业务模块在所述kubernetes中的目标配置参数;调用包管理工具,将具有所述目标配置参数的该目标业务模块部署在所述kubernetes中。
38、第二方面,本技术实施例提供一种部署云平台的处理装置,所述装置包括:
39、获取模块,用于获取目标云平台中各个业务模块各自对应的目标配置,生成各个业务模块各自对应的模板配置文件;
40、配置模块,用于响应于部署操作,确定在目标容器集群管理系统中部署的所述目标云平台的目标业务模块,以及任一目标业务模块在云平台部署工具的部署脚本中对应的角色;
41、部署模块,用于根据云平台部署工具的部署脚本和各个目标业务模块对应的模板配置文件,将各个目标业务模块部署在目标容器集群管理系统中。
42、第三方面,本技术实施例提供一种计算机设备,包括:至少一个处理器,以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时执行实施例第一方面所述的部署云平台的处理方法。
43、第四方面,本技术实施例提供一种非易失性可读存储介质,所述非易失性可读存储介质存储有计算机程序,其中,所述计算机程序被处理器执行时执行实施例第一方面所述的部署云平台的处理方法。
44、有益效果:
45、本方法在将目标云平台部署在目标容器集群管理系统上的过程中,获取目标云平台中各个业务模块各自对应的目标配置,生成各个业务模块各自对应的模板配置文件,然后响应于部署操作,确定在目标容器集群管理系统中部署的目标云平台的各个目标业务模块,以及任一目标业务模块在云平台部署工具的部署脚本中对应的角色;根据云平台部署工具的部署脚本和各个目标业务模块对应的模板配置文件,将各个目标业务模块部署在目标容器集群管理系统中。
46、通过云平台部署工具中的部署脚本和需要部署的目标业务模块进行拼装,形成一键式部署目标云平台的业务模块的方式,相比人为逐一部署目标云平台的各个模块的方式,提高将目标云平台部署在目标容器集群管理系统时的部署效率。