运维平台的节点扩展方法、装置及电子设备与流程

文档序号:31669512发布日期:2022-09-28 00:38阅读:43来源:国知局
运维平台的节点扩展方法、装置及电子设备与流程

1.本发明涉及云计算技术领域,具体而言,涉及一种运维平台的节点扩展方法、装置及电子设备。


背景技术:

2.随着云计算技术的不断发展,出现了很多运维人员可以使用的自动化运维工具,其中,ansible是一种基于python开发的自由开源的配置和自动化工具。在一台服务器上安装ansible后,可以通过ssh协议管理控制其他服务器,实现批量系统配置、批量程序部署、批量命令运行等功能。目前,使用ansible执行大规模脚本任务时,通常需要人为拆分脚本任务,存在无法自动扩展ansible的节点、自动分发脚本任务的问题。
3.针对上述的问题,目前尚未提出有效的解决方案。


技术实现要素:

4.本发明实施例提供了一种运维平台的节点扩展方法、装置及电子设备,以至少解决现有技术中无法自动扩展运维平台的节点的技术问题。
5.根据本发明实施例的一个方面,提供了一种运维平台的节点扩展方法,包括:执行镜像文件获取指令,以获取运维平台的镜像文件,得到执行结果,其中,执行结果表征是否成功获取到镜像文件;基于执行结果,确定节点扩展方式,其中,节点扩展方式为以下之一:虚拟化扩展方式、容器化扩展方式,虚拟化扩展方式是基于虚拟机对运维平台的节点进行扩展,容器化扩展方式是基于容器技术对运维平台的节点进行扩展;基于节点扩展方式,对运维平台的节点进行扩展,得到扩展后的节点,其中,扩展后的节点用于控制目标设备执行目标任务。
6.进一步地,运维平台的节点扩展方法还包括:若执行结果表征未成功获取到镜像文件,则确定节点扩展方式为虚拟化扩展方式;若执行结果表征成功获取到镜像文件,则确定节点扩展方式为容器化扩展方式。
7.进一步地,运维平台的节点扩展方法还包括:在节点扩展方式为虚拟化扩展方式的情况下,确定控制目标设备执行目标任务所需的节点数量;比对节点数量和第二阈值,得到比较结果;基于比较结果,确定是否对运维平台的节点进行扩展。
8.进一步地,运维平台的节点扩展方法还包括:获取执行目标任务的至少一个设备的资源数据,其中,资源数据用于表征至少一个设备的闲忙状态;基于资源数据对至少一个设备进行排序处理,得到排序结果;基于排序结果,从至少一个设备中确定第一设备,并在节点清单表中将第一设备所对应的节点的节点状态标记为空闲状态,其中,第一设备的资源数据大于或等于第一阈值;基于排序结果,从至少一个设备中确定第二设备,并在节点清单表中将第二设备所对应的节点的节点状态标记为忙碌状态,其中,第二设备的资源数据小于第一阈值。
9.进一步地,运维平台的节点扩展方法还包括:若节点数量小于第二阈值,则获取节
点清单表中处于空闲状态的节点,将目标任务分发到空闲节点中,更新空闲节点的状态为忙碌状态。
10.进一步地,运维平台的节点扩展方法还包括:若节点数量大于或等于第二阈值,则对控制目标设备执行目标任务所需的节点进行扩展,得到扩展后的节点,并在节点清单表中,将扩展后的节点的节点状态标记为空闲状态,以使扩展后的节点控制目标设备执行目标任务。
11.进一步地,运维平台的节点扩展方法还包括:启动目标设备,控制目标设备执行目标任务,并获取目标设备所反馈的目标任务的执行状态,其中,执行状态表征目标任务是否执行成功。
12.进一步地,运维平台的节点扩展方法还包括:获取目标任务,并将目标任务存储至任务队列表中;将目标任务的任务状态存储至任务状态表中。
13.进一步地,运维平台的节点扩展方法还包括:在节点扩展方式为容器化扩展方式的情况下,生成预设集群的第一节点的配置文件,其中,配置文件表征第一节点的程序脚本;基于预设调度规则,将第一节点分发到预设集群中空闲的第二节点上,其中,第二节点用于基于配置文件,生成与第一节点对应的目标容器,目标容器用于执行配置文件。
14.根据本发明实施例的另一方面,还提供了一种运维平台的节点扩展装置,包括:执行模块,用于执行镜像文件获取指令,以获取运维平台的镜像文件,得到执行结果,其中,执行结果表征是否成功获取到镜像文件;确定模块,用于基于执行结果,确定节点扩展方式,其中,节点扩展方式为以下之一:虚拟化扩展方式、容器化扩展方式,虚拟化扩展方式是基于虚拟机对运维平台的节点进行扩展,容器化扩展方式是基于容器技术对运维平台的节点进行扩展;扩展模块,用于基于节点扩展方式,对运维平台的节点进行扩展,得到扩展后的节点,其中,扩展后的节点用于控制目标设备执行目标任务。
15.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的运维平台的节点扩展方法。
16.根据本发明实施例的另一方面,还提供了一种电子设备,该电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的运维平台的节点扩展方法。
17.根据本发明实施例的另一方面,还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述的运维平台的节点扩展方法。
18.在本发明实施例中,采用根据是否成功获取到运维平台的镜像文件,确定节点扩展方式的方式,首先执行镜像文件获取指令,以获取运维平台的镜像文件,得到执行结果,然后基于执行结果,确定节点扩展方式,再基于节点扩展方式,对运维平台的节点进行扩展,得到扩展后的节点。其中,执行结果表征是否成功获取到镜像文件,节点扩展方式为以下之一:虚拟化扩展方式、容器化扩展方式,虚拟化扩展方式是基于虚拟机对运维平台的节点进行扩展,容器化扩展方式是基于容器技术对运维平台的节点进行扩展,扩展后的节点用于控制目标设备执行目标任务。
19.在上述过程中,通过执行镜像文件获取指令,以获取运维平台的镜像文件,得到执
行结果,为后续确定节点扩展方式提供了数据基础;通过基于执行结果,确定节点扩展方式,能够根据确定出来的节点扩展方式对运维平台的节点进行扩展,提高了节点扩展的灵活程度;通过确定出来的节点扩展方式对运维平台的节点进行扩展,能够得到扩展后的节点,实现了自动扩展运维平台的节点,从而提高了节点扩展的效率,进而提高了脚本任务的执行效率。
20.由此可见,通过本发明的技术方案,达到了提高脚本任务的执行效率的目的,从而实现了自动扩展运维平台的节点的技术效果,进而解决了现有技术中无法自动扩展运维平台的节点的技术问题。
附图说明
21.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
22.图1是根据本发明实施例的一种可选的运维平台的节点扩展方法的流程图;
23.图2是根据本发明实施例的一种可选的运维平台的节点扩展系统的示意图;
24.图3是根据本发明实施例的一种可选的运维平台的节点扩展系统的示意图;
25.图4是根据本发明实施例的一种可选的运维平台的节点扩展装置的示意图;
26.图5是根据本发明实施例的一种可选的电子设备的示意图。
具体实施方式
27.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
28.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
29.需要说明的是,本发明所涉及的相关信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。例如,本系统和相关用户或机构间设置有接口,在获取相关信息之前,需要通过接口向前述的用户或机构发送获取请求,并在接收到前述的用户或机构反馈的同意信息后,获取相关信息。
30.实施例1
31.根据本发明实施例,提供了一种运维平台的节点扩展方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执
行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
32.图1是根据本发明实施例的一种可选的运维平台的节点扩展方法的流程图,如图1所示,该方法包括如下步骤:
33.步骤s101,执行镜像文件获取指令,以获取运维平台的镜像文件,得到执行结果,其中,执行结果表征是否成功获取到镜像文件。
34.在上述步骤中,可以通过应用系统、处理器、电子设备等装置执行镜像文件获取指令。可选的,运维平台可以是自动化运维工具ansible,运维平台的镜像文件可以是对ansible进行docker容器化过程中生成的镜像文件。镜像文件获取指令的执行结果可以是执行成功,即能够成功获取到运维平台的镜像文件;也可以是执行失败,即不能成功获取到运维平台的镜像文件。
35.需要说明的是,在上述过程中,通过执行镜像文件获取指令,可以判断是否存在运维平台的镜像文件,从而为后续确定节点扩展方式提供了数据基础。
36.步骤s102,基于执行结果,确定节点扩展方式,其中,节点扩展方式为以下之一:虚拟化扩展方式、容器化扩展方式,虚拟化扩展方式是基于虚拟机对运维平台的节点进行扩展,容器化扩展方式是基于容器技术对运维平台的节点进行扩展。
37.在上述步骤中,运维平台的节点可以是ansible的节点。通过是否成功获取到镜像文件,可以确定出采用哪种节点扩展方式对ansible的节点进行扩展。可选的,虚拟化扩展方式可以是采用虚拟机构建一个基于ansible的运维集群系统的方式,容器化扩展方式可以是采用容器技术构建一个基于ansible的容器化自动运维系统方式,两种方式均可以实现对ansible的节点和ansible的任务进行管理,例如,自动扩展ansible的节点、自动分发ansible的任务。
38.需要说明的是,在上述过程中,通过是否成功获取到镜像文件,可以确定出节点扩展方式,从而能够根据确定出来的节点扩展方式对运维平台的节点进行扩展,提高了节点扩展的灵活程度。
39.步骤s103,基于节点扩展方式,对运维平台的节点进行扩展,得到扩展后的节点,其中,扩展后的节点用于控制目标设备执行目标任务。
40.在上述步骤中,目标任务可以是待执行的任务,例如,批量对多台机器安装某个程序,目标设备可以是受ansible的节点控制的用来执行目标任务的机器,扩展后的节点可以是新增的ansible的节点。可选的,在根据确定出的节点扩展方式对ansible的节点进行扩展之后,得到新增的ansible的节点,并通过新增的ansible的节点,控制目标设备执行目标任务。例如,目标任务是批量对100台机器安装某个程序,假设1个ansible的节点只能控制50台机器,则需要2个ansible的节点来实现对100台机器的控制,当只有1个ansible的节点时,就可以通过前述确定出的节点扩展方式对ansible的节点进行扩展,即可得到新增的ansible的节点,此时2个ansible的节点就可以共同完成批量对100台机器安装某个程序这个任务。
41.需要说明的是,通过前述确定出的节点扩展方式,对运维平台的节点进行扩展,实现了自动扩展运维平台的节点,从而提高了节点扩展效率,进而提高了脚本任务的执行效率。
42.基于上述步骤s101至步骤s103所限定的方案,可以获知,在本发明实施例中,采用根据是否成功获取到运维平台的镜像文件,确定节点扩展方式的方式,首先执行镜像文件获取指令,以获取运维平台的镜像文件,得到执行结果,然后基于执行结果,确定节点扩展方式,再基于节点扩展方式,对运维平台的节点进行扩展,得到扩展后的节点。其中,执行结果表征是否成功获取到镜像文件,节点扩展方式为以下之一:虚拟化扩展方式、容器化扩展方式,虚拟化扩展方式是基于虚拟机对运维平台的节点进行扩展,容器化扩展方式是基于容器技术对运维平台的节点进行扩展,扩展后的节点用于控制目标设备执行目标任务。
43.容易注意到的是,在上述过程中,通过执行镜像文件获取指令,以获取运维平台的镜像文件,得到执行结果,为后续确定节点扩展方式提供了数据基础;通过基于执行结果,确定节点扩展方式,能够根据确定出来的节点扩展方式对运维平台的节点进行扩展,提高了节点扩展的灵活程度;通过确定出来的节点扩展方式对运维平台的节点进行扩展,能够得到扩展后的节点,实现了自动扩展运维平台的节点,从而提高了节点扩展的效率,进而提高了脚本任务的执行效率。
44.由此可见,通过本发明的技术方案,达到了提高脚本任务的执行效率的目的,从而实现了自动扩展运维平台的节点的技术效果,进而解决了现有技术中无法自动扩展运维平台的节点的技术问题。
45.在一种可选的实施例中,在基于执行结果,确定节点扩展方式的过程中,若执行结果表征未成功获取到镜像文件,则确定节点扩展方式为虚拟化扩展方式,若执行结果表征成功获取到镜像文件,则确定节点扩展方式为容器化扩展方式。
46.可选的,若未成功获取到镜像文件,则采用虚拟化扩展方式对节点进行扩展,图2是根据本发明实施例的一种可选的运维平台的节点扩展系统的示意图,如图2所示,一个基于ansible的运维集群系统,包括:api server模块,scheduler模块,daemon进程,数据库oracle,ansible的节点,fss磁盘。
47.可选的,若成功获取到镜像文件,则采用容器化扩展方式对节点进行扩展,图3是根据本发明实施例的一种可选的运维平台的节点扩展系统的示意图,如图3所示,一个基于ansible的容器化自动运维系统,包括:管理管控平台,kubernetes集群(k8s集群),node节点,job资源,fss磁盘。
48.需要说明的是,通过是否成功获取到镜像文件,可以确定出节点扩展方式,上述两种方式均可以实现对运维平台的节点进行扩展,为运维人员提供了可选择的方式,提高了节点扩展的灵活程度。
49.在一种可选的实施例中,在基于节点扩展方式,对运维平台的节点进行扩展的过程中,在节点扩展方式为虚拟化扩展方式的情况下,首先确定控制目标设备执行目标任务所需的节点数量,然后比对节点数量和第二阈值,得到比较结果,再基于比较结果,确定是否对运维平台的节点进行扩展。
50.可选的,在获取到目标任务之后,需要确定出控制目标设备执行目标任务所需的节点数量,例如,目标任务是批量对1000台机器安装某个程序,假设1个ansible的节点只能控制500台机器,则可以确定出需要2个ansible的节点对1000台机器进行控制。可选的,第二阈值可以是已有的运维平台的节点数量,例如,目前有1个ansible的节点。
51.进一步地,对节点数量和第二阈值进行比较,可以确定出是否需要对运维平台的
节点进行扩展。例如,当需要2个ansible的节点对目标设备进行控制,而目前有1个ansible的节点,则需要扩展1个ansible的节点,即新增1个ansible的节点。此外,当需要2个ansible的节点对目标设备进行控制,目前有2个ansible的节点,则不需要扩展节点。
52.需要说明的是,通过确定控制目标设备执行目标任务所需的节点数量,从而确定是否对运维平台的节点进行扩展,为在大规模设备下稳定执行运维平台的脚本任务提供了保障。
53.在一种可选的实施例中,在确定控制目标设备执行目标任务所需的节点数量之前,首先获取执行目标任务的至少一个设备的资源数据,然后基于资源数据对至少一个设备进行排序处理,得到排序结果,再基于排序结果,从至少一个设备中确定第一设备,并在节点清单表中将第一设备所对应的节点的节点状态标记为空闲状态,再基于排序结果,从至少一个设备中确定第二设备,并在节点清单表中将第二设备所对应的节点的节点状态标记为忙碌状态。其中,资源数据用于表征至少一个设备的闲忙状态,第一设备的资源数据大于或等于第一阈值,第二设备的资源数据小于第一阈值。
54.可选的,设备可以是受ansible的节点控制的用来执行目标任务的机器,资源可以是机器的cpu、内存、磁盘等信息。例如,资源数据可以是cpu的剩余容量。可选的,节点状态可以是空闲状态,忙碌状态,节点的节点状态可以通过节点控制的设备的资源数据来确定,即通过资源数据来确定节点是否空闲。
55.具体的,获取多个机器的cpu的剩余容量,可以根据cpu的剩余容量对多个机器进行排序,根据排序结果选择可用机器。例如,机器a的cpu的剩余容量为8ghz,机器b的cpu的剩余容量为6ghz,机器c的cpu的剩余容量为4ghz,排序结果为:机器a>机器b>机器c。
56.进一步地,根据排序结果选择可用机器,例如,假设第一阈值是6ghz,机器a、机器b、机器c的cpu的剩余容量分别为8ghz、6ghz、4ghz,此时机器a和机器b的cpu的剩余容量即资源数据大于或等于第一阈值,则确定出的可用设备即第一设备为机器a和机器b;机器c的cpu的剩余容量即资源数据小于第一阈值,则机器c为第二设备。
57.进一步地,在如图2所示的数据库oracle的节点清单表中,将第一设备所对应的节点的节点状态标记为空闲状态,将第二设备所对应的节点的节点状态标记为忙碌状态,例如,将上述控制机器a和机器b的节点的节点状态标记为空闲状态,将上述控制机器c的节点的节点状态标记为忙碌状态。可选的,通过如图2所示的daemon进程,定时监控集群系统中所有ansible的节点的节点状态,并记录到数据库oracle的节点清单表中,当scheduler模块调度时,会选择标记为空闲的ansible的节点。
58.需要说明的是,通过基于资源数据对至少一个设备进行排序处理,提升了资源使用率,从而减少了空闲资源的浪费。
59.在一种可选的实施例中,在基于比较结果,确定是否对运维平台的节点进行扩展的过程中,若节点数量小于第二阈值,则获取节点清单表中处于空闲状态的节点,将目标任务分发到空闲节点中,更新空闲节点的状态为忙碌状态。
60.可选的,第二阈值可以是已有的运维平台的节点数量,例如,目前有3个ansible的节点,若需要1个ansible的节点对目标设备进行控制,此时节点数量小于第二阈值,则目前已有的运维平台的节点数量完全可以满足目标任务的需求,不需要对节点进行扩展,通过获取节点清单表中处于空闲状态的节点,并将目标任务分发到空闲节点中,就可以完成目
标任务,同时把空闲节点的状态更新为忙碌状态。
61.需要说明的是,通过对节点数量和第二阈值进行比较,从而确定是否对运维平台的节点进行扩展,为在大规模设备下稳定执行运维平台的脚本任务提供了保障,提升了资源使用率。
62.在一种可选的实施例中,若节点数量大于或等于第二阈值,则对控制目标设备执行目标任务所需的节点进行扩展,得到扩展后的节点,并在节点清单表中,将扩展后的节点的节点状态标记为空闲状态,以使扩展后的节点控制目标设备执行目标任务。
63.可选的,例如,目前有3个ansible的节点,若需要5个ansible的节点对目标设备进行控制,此时节点数量大于第二阈值,则目前已有的运维平台的节点数量不能满足目标任务的需求,需要对节点进行扩展。可选的,通过scheduler模块对节点进行扩展,并在节点清单表中,将扩展后的节点的节点状态标记为空闲状态,以使scheduler模块调度时,选择扩展后的节点控制目标设备执行目标任务。
64.需要说明的是,通过对节点数量和第二阈值进行比较,从而确定是否对运维平台的节点进行扩展,为在大规模设备下稳定执行运维平台的脚本任务提供了保障,提升了资源使用率。
65.在一种可选的实施例中,在将目标任务分发到空闲节点中之后,启动目标设备,控制目标设备执行目标任务,并获取目标设备所反馈的目标任务的执行状态,其中,执行状态表征目标任务是否执行成功。
66.可选的,如图2所示,进行步骤6和步骤7,ansible的节点控制机器启动目标任务并执行,可选的,目标任务执行结束后通过如图2所示的fss磁盘,以日志的形式对目标任务的执行过程进行存储。可选的,目标任务执行结束后,机器反馈执行状态,并在数据库oracle中的任务状态表中记录,可选的,执行状态可以是执行成功、执行失败。
67.需要说明的是,获取目标设备所反馈的目标任务的执行状态,可以使运维人员了解任务的执行情况,便于运维人员后续对目标任务的维护。
68.在一种可选的实施例中,在获取执行目标任务的至少一个设备的资源数据之前,首先获取目标任务,并将目标任务存储至任务队列表中,再将目标任务的任务状态存储至任务状态表中。
69.可选的,如图2所示,数据库oracle中存储有节点清单表、任务队列表、任务状态表,其中,任务状态可以是等待状态,运行中状态,成功状态,失败状态,中断状态。
70.可选的,进行步骤1至步骤3,首先运维集群系统通过api server模块获取目标任务,并将目标任务存储至任务队列表中,再将目标任务的任务状态存储至任务状态表中。进一步地,进行步骤4和步骤5,scheduler模块从任务队列表中,读取任务状态为等待状态的任务,以及节点清单表中当前空闲的ansible的节点,将目标任务通过空闲的ansible的节点下发给目标设备,并将该任务的等待状态改为运行中状态。
71.可选的,api server模块是所有对外接口的总入口,用于接收外部任务的请求,还提供目标任务的操作接口,例如,增加任务接口、启动任务接口、停止任务接口、查询任务日志接口、查询任务状态接口等。同时,还提供了对ansible的节点进行管理的接口,例如,ansible的节点的新增接口、删除接口。
72.需要说明的是,通过获取目标任务,为后续通过ansible的节点分发目标任务提供
了数据基础。
73.在一种可选的实施例中,在基于所述节点扩展方式,对所述运维平台的节点进行扩展的过程中,在节点扩展方式为容器化扩展方式的情况下,生成预设集群的第一节点的配置文件,再基于预设调度规则,将第一节点分发到预设集群中空闲的第二节点上。其中,配置文件表征第一节点的程序脚本,第二节点用于基于配置文件,生成与第一节点对应的目标容器,目标容器用于执行配置文件。
74.可选的,预设集群可以是kubernetes集群,第一节点可以是job资源,配置文件可以是用来生成job资源的yaml文件,其中,包含启动目标任务的命令,镜像文件处理命令,挂载fss磁盘命令等。第二节点可以是node节点,目标容器可以是pod容器。
75.可选的,在生成预设集群的第一节点的配置文件之前,首先获取目标任务,并将目标任务存储于目标磁盘中。其中,目标磁盘可以是fss磁盘。
76.进一步地,进行环境准备工作,构建一个管理管控平台,包括启动任务、停止任务、任务状态查询、日志采集、增加、删除任务等模块。然后进行步骤1,生成job资源的yaml文件,并在kubernetes集群中创建job资源,接着进行步骤2和步骤3,kubernetes集群会根据自身的调度规则,将job分发到空闲的node节点上,同时该node节点会生成对应的pod容器,用于执行配置文件中的命令。
77.可选的,在基于预设调度规则,将第一节点分发到预设集群中空闲的第二节点上之后,可以将目标磁盘挂载到目标容器中的预设目录中,以使目标容器执行配置文件,并执行预设目录中的目标任务。具体的,进行步骤4,pod容器执行配置文件中的挂载fss磁盘命令,将fss磁盘挂载到pod容器中/approot1/paas/admin/task目录下;pod容器执行镜像文件处理命令,对获取到的运维平台的镜像文件进行处理;pod容器执行启动目标任务的命令,执行该目录下的目标任务。例如,想要执行a任务,可以通过sh命令触发,其命令可以为cd/approot1/paas/admin/task/a&&sh/approot1/paas/admin/task/a/run.sh。
78.可选的,在执行预设目录中的目标任务之后,记录第一节点所对应的目标容器的执行过程,生成日志文件,并将日志文件存储于预设目录中。
79.具体的,进行步骤5和步骤6,pod容器执行完目标任务之后,将job的状态返回给管理管控平台,其中,状态可以是成功状态、失败状态。同时,每个job对应的pod容器的执行过程中会生成日志文件,并存储于预设目录即/approot1/paas/admin/task/$jobname/$jobname.log中,其中,$jobname为目标任务的名字。
80.需要说明的是,采用上述容器化扩展方式扩展运维平台的节点,将ansible容器化与kubernetes集群使用相结合,利用kubernetes的优选的调度特性,实现了对节点的动态调度,提高了ansible的节点的可扩展性,提高了执行效率。
81.由此可见,通过本发明的技术方案,达到了提高脚本任务的执行效率的目的,从而实现了自动扩展运维平台的节点的技术效果,进而解决了现有技术中无法自动扩展运维平台的节点的技术问题。
82.实施例2
83.根据本发明实施例,提供了一种运维平台的节点扩展装置的实施例,其中,图4是根据本发明实施例的一种可选的运维平台的节点扩展装置的示意图,如图4所示,该装置包括:执行模块401,用于执行镜像文件获取指令,以获取运维平台的镜像文件,得到执行结
果,其中,执行结果表征是否成功获取到镜像文件;确定模块402,用于基于执行结果,确定节点扩展方式,其中,节点扩展方式为以下之一:虚拟化扩展方式、容器化扩展方式,虚拟化扩展方式是基于虚拟机对运维平台的节点进行扩展,容器化扩展方式是基于容器技术对运维平台的节点进行扩展;扩展模块403,用于基于节点扩展方式,对运维平台的节点进行扩展,得到扩展后的节点,其中,扩展后的节点用于控制目标设备执行目标任务。
84.需要说明的是,上述执行模块401、确定模块402以及扩展模块403对应于上述实施例中的步骤s101至步骤s103,三个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
85.可选的,确定模块包括:第一确定模块,用于若执行结果表征未成功获取到镜像文件,则确定节点扩展方式为虚拟化扩展方式;第二确定模块,用于若执行结果表征成功获取到镜像文件,则确定节点扩展方式为容器化扩展方式。
86.可选的,扩展模块包括:第一确定模块,用于在节点扩展方式为虚拟化扩展方式的情况下,确定控制目标设备执行目标任务所需的节点数量;比对模块,用于比对节点数量和第二阈值,得到比较结果;第二确定模块,用于基于比较结果,确定是否对运维平台的节点进行扩展。
87.可选的,运维平台的节点扩展装置还包括:获取模块,用于获取执行目标任务的至少一个设备的资源数据,其中,资源数据用于表征至少一个设备的闲忙状态;处理模块,用于基于资源数据对至少一个设备进行排序处理,得到排序结果;第一标记模块,用于基于排序结果,从至少一个设备中确定第一设备,并在节点清单表中将第一设备所对应的节点的节点状态标记为空闲状态,其中,第一设备的资源数据大于或等于第一阈值;第二标记模块,用于基于排序结果,从至少一个设备中确定第二设备,并在节点清单表中将第二设备所对应的节点的节点状态标记为忙碌状态,其中,第二设备的资源数据小于第一阈值。
88.可选的,第二确定模块包括:更新模块,用于若节点数量小于第二阈值,则获取节点清单表中处于空闲状态的节点,将目标任务分发到空闲节点中,更新空闲节点的状态为忙碌状态。
89.可选的,第二确定模块包括:标记模块,用于若节点数量大于或等于第二阈值,则对控制目标设备执行目标任务所需的节点进行扩展,得到扩展后的节点,并在节点清单表中,将扩展后的节点的节点状态标记为空闲状态,以使扩展后的节点控制目标设备执行目标任务。
90.可选的,运维平台的节点扩展装置还包括:启动模块,用于启动目标设备,控制目标设备执行目标任务,并获取目标设备所反馈的目标任务的执行状态,其中,执行状态表征目标任务是否执行成功。
91.可选的,运维平台的节点扩展装置还包括:第一存储模块,用于获取目标任务,并将目标任务存储至任务队列表中;第二存储模块,用于将目标任务的任务状态存储至任务状态表中。
92.可选的,扩展模块包括:生成模块,用于在节点扩展方式为容器化扩展方式的情况下,生成预设集群的第一节点的配置文件,其中,配置文件表征第一节点的程序脚本;分发模块,用于基于预设调度规则,将第一节点分发到预设集群中空闲的第二节点上,其中,第二节点用于基于配置文件,生成与第一节点对应的目标容器,目标容器用于执行配置文件。
93.实施例3
94.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述的运维平台的节点扩展方法。
95.实施例4
96.根据本发明实施例的另一方面,还提供了一种电子设备,其中,图5是根据本发明实施例的一种可选的电子设备的示意图,如图5所示,电子设备包括一个或多个处理器;存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现用于运行程序,其中,程序被设置为运行时执行上述的运维平台的节点扩展方法。
97.实施例5
98.根据本发明实施例的另一方面,还提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述的运维平台的节点扩展方法。
99.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
100.在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
101.在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
102.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
103.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
104.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
105.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1