容器自适应部署方法、装置、计算机设备及存储介质与流程

文档序号:29814890发布日期:2022-04-27 09:47阅读:84来源:国知局
容器自适应部署方法、装置、计算机设备及存储介质与流程

1.本发明涉及容器部署方法,更具体地说是指容器自适应部署方法、装置、计算机设备及存储介质。


背景技术:

2.随着微服务和容器化的盛行,许多研发团队均采用容器进行部署和业务交付,容器环境部署也逐渐变成高频操作。现有的容器部署方法主要通过人工进行网络环境确认和os(操作系统,operating system)的系统类型确认,频繁进行手工命令执行以完成容器部署,效率比较低下,而且未适配多种类型的操作系统,需要逐一下载依赖包,耗费时间且容易出错。
3.因此,有必要设计一种新的方法,实现自动执行容器的部署,降低人工干预,且不易出错。


技术实现要素:

4.本发明的目的在于克服现有技术的缺陷,提供容器自适应部署方法、装置、计算机设备及存储介质。
5.为实现上述目的,本发明采用以下技术方案:容器自适应部署方法,包括:
6.安装agent;
7.通过安装的agent进行网络环境确认,以得到网络环境信息;
8.通过安装的agent识别操作系统类型,以得到操作系统类型信息;
9.发送所述网络环境信息以及所述操作系统类型信息至管理服务器,以使得管理服务器反馈容器部署环境初始化指令;
10.根据所述容器部署环境初始化指令拉取容器环境安装包和业务镜像容器进行容器部署。
11.其进一步技术方案为:所述根据所述容器部署环境初始化指令拉取容器环境安装包和业务镜像容器进行容器部署,包括:
12.通过安装的agent根据所述容器部署环境初始化指令拉取容器环境安装包;
13.根据所述容器环境安装包安装容器环境,并反馈环境安装完成的消息至管理服务器,以由管理服务器推送业务镜像包;
14.根据所述业务镜像包运行业务镜像容器,以得到业务发布结果;
15.反馈所述业务发布结果至管理服务器,以使得管理服务器存储所述业务发布结果。
16.其进一步技术方案为:所述通过安装的agent进行网络环境确认,以得到网络环境信息,包括:
17.通过安装的agent向互联网域名发起ping请求,当ping请求能得到回应时,确定网络环境信息为可连接互联网;当ping请求不能得到回应时,确定网络环境信息为不可连接
互联网。
18.其进一步技术方案为:所述通过安装的agent识别操作系统类型,以得到操作系统类型信息,包括:
19.通过安装的agent基于服务器/etc/issue信息进行操作系统类型的识别,以得到操作系统类型信息。
20.其进一步技术方案为:所述通过安装的agent根据所述容器部署环境初始化指令拉取容器环境安装包,包括:
21.当网络环境信息为可连接互联网时,通过安装的agent根据所述容器部署环境初始化指令从互联网拉取容器环境安装包;当网络环境信息为不可连接互联网时,通过安装的agent根据所述容器部署环境初始化指令从管理服务器拉取预置于管理服务器的容器环境离线安装包,以得到容器环境安装包。
22.本发明还提供了容器自适应部署装置,包括:
23.安装单元,用于安装agent;
24.环境确认单元,用于通过安装的agent进行网络环境确认,以得到网络环境信息;
25.类型识别单元,用于通过安装的agent识别操作系统类型,以得到操作系统类型信息;
26.发送单元,用于发送所述网络环境信息以及所述操作系统类型信息至管理服务器,以使得管理服务器反馈容器部署环境初始化指令;
27.部署单元,用于根据所述容器部署环境初始化指令拉取容器环境安装包和业务镜像容器进行容器部署。
28.其进一步技术方案为:所述部署单元包括:
29.安装包拉取子单元,用于通过安装的agent根据所述容器部署环境初始化指令拉取容器环境安装包;
30.环境安装子单元,用于根据所述容器环境安装包安装容器环境,并反馈环境安装完成的消息至管理服务器,以由管理服务器推送业务镜像包;
31.运行子单元,用于根据所述业务镜像包运行业务镜像容器,以得到业务发布结果;
32.结果反馈子单元,用于反馈所述业务发布结果至管理服务器,以使得管理服务器存储所述业务发布结果。
33.其进一步技术方案为:所述环境确认单元,用于通过安装的agent向互联网域名发起ping请求,当ping请求能得到回应时,确定网络环境信息为可连接互联网;当ping请求不能得到回应时,确定网络环境信息为不可连接互联网。
34.本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
35.本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
36.本发明与现有技术相比的有益效果是:本发明通过安装agent,并利用安装的agent进行网络环境确认和识别操作系统类型,并将这两个信息发送至管理服务器,以由管理服务器反馈容器部署环境初始化指令,结合网络环境信息从对应的位置拉取容器环境安装包进行容器环境部署,并在部署完毕后拉取业务镜像容器进行业务系统的部署,利用
agent实现自动执行容器的部署,降低人工干预,且不易出错。
37.下面结合附图和具体实施例对本发明作进一步描述。
附图说明
38.为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
39.图1为本发明实施例提供的容器自适应部署方法的应用场景示意图;
40.图2为本发明实施例提供的容器自适应部署方法的流程示意图;
41.图3为本发明实施例提供的容器自适应部署方法的子流程示意图;
42.图4为本发明实施例提供的容器自适应部署装置的示意性框图;
43.图5为本发明实施例提供的容器自适应部署装置的部署单元的示意性框图;
44.图6为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
45.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
46.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
47.还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
48.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
49.请参阅图1和图2,图1为本发明实施例提供的容器自适应部署方法的应用场景示意图。图2为本发明实施例提供的容器自适应部署方法的示意性流程图。该容器自适应部署方法应用于服务器中。该服务器与管理服务器进行数据交互,通过在管理服务器内预置容器环境离线安装包以及业务镜像包,通过管理服务器统一管控,基于agent自动识别服务器的网络环境和os系统类型,自动安装环境依赖包,自动从管理服务器拉取镜像、导入镜像包并启动业务容器,实现对业务系统的高效快速搭建和交付。
50.图2是本发明实施例提供的容器自适应部署方法的流程示意图。如图2所示,该方法包括以下步骤s110至s150。
51.s110、安装agent。
52.在本实施例中,在服务器上安装agent,agent自动识别服务器是否可以联网;具体地,在服务器os上安装agent,该agent需要root权限运行,agent预设管理服务器的ip地址,可以和管理服务器进行通讯和心跳机制。
53.s120、通过安装的agent进行网络环境确认,以得到网络环境信息。
54.在本实施例中,网络环境信息是指服务器是否可联网的信息。
55.具体地,通过安装的agent向互联网域名发起ping请求,当ping请求能得到回应时,确定网络环境信息为可连接互联网;当ping请求不能得到回应时,确定网络环境信息为不可连接互联网。
56.网络环境特指服务器是否可以连接互联网;当ping请求能得到回应,则表明服务器能ping通,可连接互联网;当ping请求不能得到回应,则表明服务器不能ping通,不可连接互联网。
57.s130、通过安装的agent识别操作系统类型,以得到操作系统类型信息。
58.在本实施例中,操作系统类型信息是指服务器的操作系统的类型。
59.服务器操作系统的主流类型为debian系、redhat系;debian系包含ubuntu、debian、mint等及其衍生系统,redhat系包含centos、redhat、fedora等及其衍生系统。debian系通常使用apt作为包管理器,redhat系通常使用yum作为包管理器。
60.具体地,通过安装的agent基于服务器/etc/issue信息进行操作系统类型的识别,以得到操作系统类型信息。
61.由agent确认当前服务器的类型是debian系或者redhat系。
62.s140、发送所述网络环境信息以及所述操作系统类型信息至管理服务器,以使得管理服务器反馈容器部署环境初始化指令。
63.在本实施例中,管理服务器接收agent推送的信息,并向服务器发送容器部署环境初始化指令,容器部署环境初始化指令是用于驱动服务器进行容器部署的指令。
64.s150、根据所述容器部署环境初始化指令拉取容器环境安装包和业务镜像容器进行容器部署。
65.在一实施例中,请参阅图3,上述的步骤s150可包括步骤s151~s154。
66.s151、通过安装的agent根据所述容器部署环境初始化指令拉取容器环境安装包。
67.在本实施例中,容器环境安装包是指用于容器环境安装的数据包。
68.具体地,当网络环境信息为可连接互联网时,通过安装的agent根据所述容器部署环境初始化指令从互联网拉取容器环境安装包;当网络环境信息为不可连接互联网时,通过安装的agent根据所述容器部署环境初始化指令从管理服务器拉取预置于管理服务器的容器环境离线安装包,以得到容器环境安装包。
69.如果agent所在服务器能联网,agent执行容器镜像拉取指令,从互联网下载容器环境安装包;如agent所在服务器不能联网,则通过管理服务器内置容器环境离线安装包进行环境安装。以保障服务器完成容器运行环境的初始化;环境初始化完毕后,运行docker相关指令确认环境安装正常。
70.s152、根据所述容器环境安装包安装容器环境,并反馈环境安装完成的消息至管理服务器,以由管理服务器推送业务镜像包。
71.在本实施例中,业务镜像包是指用于业务系统包部署的数据包。
72.agent安装容器环境完毕后向管理服务器发送消息,告知环境搭建完毕。
73.s153、根据所述业务镜像包运行业务镜像容器,以得到业务发布结果。
74.在本实施例中,业务发布结果是指务系统包部署是否成功的结果。
75.管理服务器向服务器推送业务镜像包,以使得服务器完成业务系统包部署。可以批量自动实现服务器的容器环境搭建及业务部署。
76.s154、反馈所述业务发布结果至管理服务器,以使得管理服务器存储所述业务发布结果。
77.管理服务器向agent推送业务镜像包,agent接收后在服务器上运行业务镜像容器;agent回传业务发布结果到管理后台,管理服务器将相应结果数据进行存储;集中实现容器环境的搭建和对业务系统的批量部署,极大减少人工干预过程,更加智能效率更高。
78.本实施例的方法利用agent检测服务器的网络环境和操作系统类型,自动从管理服务器拉起业务镜像并运行;agent自动执行,降低人工干预;通过agent机制集中管理多个服务器上的资源,效率更高。
79.上述的容器自适应部署方法,通过安装agent,并利用安装的agent进行网络环境确认和识别操作系统类型,并将这两个信息发送至管理服务器,以由管理服务器反馈容器部署环境初始化指令,结合网络环境信息从对应的位置拉取容器环境安装包进行容器环境部署,并在部署完毕后拉取业务镜像容器进行业务系统的部署,利用agent实现自动执行容器的部署,降低人工干预,且不易出错。
80.图4是本发明实施例提供的一种容器自适应部署装置300的示意性框图。如图4所示,对应于以上容器自适应部署方法,本发明还提供一种容器自适应部署装置300。该容器自适应部署装置300包括用于执行上述容器自适应部署方法的单元,该装置可以被配置于服务器中。具体地,请参阅图4,该容器自适应部署装置300包括安装单元301、环境确认单元302、类型识别单元303、发送单元304以及部署单元305。
81.安装单元301,用于安装agent;环境确认单元302,用于通过安装的agent进行网络环境确认,以得到网络环境信息;类型识别单元303,用于通过安装的agent识别操作系统类型,以得到操作系统类型信息;发送单元304,用于发送所述网络环境信息以及所述操作系统类型信息至管理服务器,以使得管理服务器反馈容器部署环境初始化指令;部署单元305,用于根据所述容器部署环境初始化指令拉取容器环境安装包和业务镜像容器进行容器部署。
82.在一实施例中,如图5所示,所述部署单元305包括安装包拉取子单元3051、环境安装子单元3052、运行子单元3053以及结果反馈子单元3054。
83.安装包拉取子单元3051,用于通过安装的agent根据所述容器部署环境初始化指令拉取容器环境安装包;环境安装子单元3052,用于根据所述容器环境安装包安装容器环境,并反馈环境安装完成的消息至管理服务器,以由管理服务器推送业务镜像包;运行子单元3053,用于根据所述业务镜像包运行业务镜像容器,以得到业务发布结果;结果反馈子单元3054,用于反馈所述业务发布结果至管理服务器,以使得管理服务器存储所述业务发布结果。
84.在一实施例中,所述环境确认单元302,用于通过安装的agent向互联网域名发起ping请求,当ping请求能得到回应时,确定网络环境信息为可连接互联网;当ping请求不能得到回应时,确定网络环境信息为不可连接互联网。
85.在一实施例中,所述类型识别单元303,用于通过安装的agent基于服务器/etc/issue信息进行操作系统类型的识别,以得到操作系统类型信息。
86.在一实施例中,所述安装包拉取子单元3051,用于当网络环境信息为可连接互联网时,通过安装的agent根据所述容器部署环境初始化指令从互联网拉取容器环境安装包;当网络环境信息为不可连接互联网时,通过安装的agent根据所述容器部署环境初始化指令从管理服务器拉取预置于管理服务器的容器环境离线安装包,以得到容器环境安装包。
87.需要说明的是,所属领域的技术人员可以清楚地了解到,上述容器自适应部署装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
88.上述容器自适应部署装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图6所示的计算机设备上运行。
89.请参阅图6,图6是本技术实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是服务器,其中,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
90.参阅图6,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
91.该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种容器自适应部署方法。
92.该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
93.该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种容器自适应部署方法。
94.该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图6中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
95.其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
96.安装agent;通过安装的agent进行网络环境确认,以得到网络环境信息;通过安装的agent识别操作系统类型,以得到操作系统类型信息;发送所述网络环境信息以及所述操作系统类型信息至管理服务器,以使得管理服务器反馈容器部署环境初始化指令;根据所述容器部署环境初始化指令拉取容器环境安装包和业务镜像容器进行容器部署。
97.在一实施例中,处理器502在实现所述根据所述容器部署环境初始化指令拉取容器环境安装包和业务镜像容器进行容器部署步骤时,具体实现如下步骤:
98.通过安装的agent根据所述容器部署环境初始化指令拉取容器环境安装包;根据所述容器环境安装包安装容器环境,并反馈环境安装完成的消息至管理服务器,以由管理服务器推送业务镜像包;根据所述业务镜像包运行业务镜像容器,以得到业务发布结果;反馈所述业务发布结果至管理服务器,以使得管理服务器存储所述业务发布结果。
99.在一实施例中,处理器502在实现所述通过安装的agent进行网络环境确认,以得到网络环境信息步骤时,具体实现如下步骤:
100.通过安装的agent向互联网域名发起ping请求,当ping请求能得到回应时,确定网
络环境信息为可连接互联网;当ping请求不能得到回应时,确定网络环境信息为不可连接互联网。
101.在一实施例中,处理器502在实现所述通过安装的agent识别操作系统类型,以得到操作系统类型信息步骤时,具体实现如下步骤:
102.通过安装的agent基于服务器/etc/issue信息进行操作系统类型的识别,以得到操作系统类型信息。
103.在一实施例中,处理器502在实现所述通过安装的agent根据所述容器部署环境初始化指令拉取容器环境安装包步骤时,具体实现如下步骤:
104.当网络环境信息为可连接互联网时,通过安装的agent根据所述容器部署环境初始化指令从互联网拉取容器环境安装包;当网络环境信息为不可连接互联网时,通过安装的agent根据所述容器部署环境初始化指令从管理服务器拉取预置于管理服务器的容器环境离线安装包,以得到容器环境安装包。
105.应当理解,在本技术实施例中,处理器502可以是中央处理单元(central processing unit,cpu),该处理器502还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
106.本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
107.因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
108.安装agent;通过安装的agent进行网络环境确认,以得到网络环境信息;通过安装的agent识别操作系统类型,以得到操作系统类型信息;发送所述网络环境信息以及所述操作系统类型信息至管理服务器,以使得管理服务器反馈容器部署环境初始化指令;根据所述容器部署环境初始化指令拉取容器环境安装包和业务镜像容器进行容器部署。
109.在一实施例中,所述处理器在执行所述计算机程序而实现所述根据所述容器部署环境初始化指令拉取容器环境安装包和业务镜像容器进行容器部署步骤时,具体实现如下步骤:
110.通过安装的agent根据所述容器部署环境初始化指令拉取容器环境安装包;根据所述容器环境安装包安装容器环境,并反馈环境安装完成的消息至管理服务器,以由管理服务器推送业务镜像包;根据所述业务镜像包运行业务镜像容器,以得到业务发布结果;反馈所述业务发布结果至管理服务器,以使得管理服务器存储所述业务发布结果。
111.在一实施例中,所述处理器在执行所述计算机程序而实现所述通过安装的agent进行网络环境确认,以得到网络环境信息步骤时,具体实现如下步骤:
112.通过安装的agent向互联网域名发起ping请求,当ping请求能得到回应时,确定网络环境信息为可连接互联网;当ping请求不能得到回应时,确定网络环境信息为不可连接
互联网。
113.在一实施例中,所述处理器在执行所述计算机程序而实现所述通过安装的agent识别操作系统类型,以得到操作系统类型信息步骤时,具体实现如下步骤:
114.通过安装的agent基于服务器/etc/issue信息进行操作系统类型的识别,以得到操作系统类型信息。
115.在一实施例中,所述处理器在执行所述计算机程序而实现所述通过安装的agent根据所述容器部署环境初始化指令拉取容器环境安装包步骤时,具体实现如下步骤:
116.当网络环境信息为可连接互联网时,通过安装的agent根据所述容器部署环境初始化指令从互联网拉取容器环境安装包;当网络环境信息为不可连接互联网时,通过安装的agent根据所述容器部署环境初始化指令从管理服务器拉取预置于管理服务器的容器环境离线安装包,以得到容器环境安装包。
117.所述存储介质可以是u盘、移动硬盘、只读存储器(read-only memory,rom)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
118.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
119.在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
120.本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
121.该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
122.以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1