CN113900674A - 一种自动化部署方法、装置及存储介质 - Google Patents
一种自动化部署方法、装置及存储介质 Download PDFInfo
- Publication number
- CN113900674A CN113900674A CN202111070550.7A CN202111070550A CN113900674A CN 113900674 A CN113900674 A CN 113900674A CN 202111070550 A CN202111070550 A CN 202111070550A CN 113900674 A CN113900674 A CN 113900674A
- Authority
- CN
- China
- Prior art keywords
- list
- role
- node
- resource
- configuration information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种自动化部署方法、装置及计算机可读存储介质。该方法在将不同业务类型的节点定义为不同的角色,根据每一业务类型的节点所需功能定义为与相应角色对应的资源列表,例如,需要安装的应用和工具等。具体地,在执行自动化部署时,可根据节点配置信息中指定第一角色列表确定与该角色对应的第二资源列表,再与配置信息中指定的第一资源列表进行合并得到待部署的全部资源列表;之后,逐一部署该资源列表中的每一资源就可搭建出不同业务类型所需的定制化的运行环节,以满足不同业务需求。此外,当角色或角色对应的资源列表发生变化时,只需修改相应角色对应的资源列表,从而大大减少了开发和维护成本。
Description
技术领域
本申请涉及计算机自动化领域,尤其涉及一种自动化部署方法、装置及计算机可读存储介质。
背景技术
随着云计算和虚拟化技术的普及,使用服务器搭建集群环境,共享物理资源部署软件业务的方案已经成为众多用户的选择。
然而在不同应用场景下,由于要处理业务不同,所要安装的应用和工具也会有所不同,因此,对集群环境下各个节点的运行环境会有不同的部署需求,这就大大增加了自动化部署的难度。
这并非是某个集群平台所面临的挑战,大部分集群平台都存在此类问题,例如,openstack和kubernetes。
发明内容
本申请人创造性地提供一种自动化部署方法及装置。
根据本申请实施例第一方面,提供一种自动化部署方法,该方法包括:根据设定的节点配置信息,获取与第一节点对应的第一角色列表和第一资源列表;根据第一角色列表和设定的角色配置信息,获取第一角色列表中每一角色对应的第二资源列表;合并第一资源列表和第二资源列表得到在第一节点上待部署的第三资源列表;在第一节点上部署第三资源列表中的每一资源。
根据本申请实施例一实施方式,在根据设定的节点配置信息,获取与第一节点所对应的第一资源列表之前,该方法还包括:设定第一节点的节点配置信息,节点配置信息包括与第一节点所对应的角色列表和资源列表。
根据本申请实施例一实施方式,在根据第一角色列表和设定的角色配置信息,获取第一角色列表中每一角色对应的第二资源列表之前,该方法还包括:确定角色列表以及角色列表中每一角色对应的第二资源列表;根据角色列表以及角色列表中每一角色对应的第二资源列表,设定角色配置信息。
根据本申请实施例一实施方式,第二资源列表包括应用列表,相应地,在第一节点上部署第三资源列表中的每一资源,包括:从设定的应用配置信息中,确定与每一应用对应的安装包和/或附加脚本程序;根据每一应用对应的安装包,在第一节点上部署第三应用列表中的每一应用,和/或,执行附加脚本程序。
根据本申请实施例一实施方式,第二资源列表包括工具列表,包括:相应地,在第一节点上部署第三资源列表中的每一资源,包括:从设定的工具配置信息中,确定与每一工具对应的文件列表和/或安装脚本程序;根据每一工具对应的文件列表,在第一节点上执行文件拷贝操作,和/或,执行安装脚本程序。
根据本申请实施例一实施方式,与第一节点对应的第一角色列表和第一资源列表为针对第一节点设定的角色列表和资源列表;相应地,在第一节点上部署第三资源列表中的每一资源之前,该方法还包括:根据设定的基础镜像文件,在第一节点上安装通用的可运行环境。
根据本申请实施例一实施方式,在第一节点上部署第三资源列表中的每一资源之后,该方法还包括:执行设定的第一处理。
根据本申请实施例第二方面,提供一种自动化部署装置,该装置包括:角色和节点资源获取模块,用于根据设定的节点配置信息,获取与第一节点对应的第一角色列表和第一资源列表;角色资源获取模块,用于根据第一角色列表和设定的角色配置信息,获取第一角色列表中每一角色对应的第二资源列表;资源合并模块,用于合并第一资源列表和第二资源列表得到在第一节点上待部署的第三资源列表;资源部署模块,用于在第一节点上部署第三资源列表中的每一资源。
根据本申请实施例一实施方式,该装置还包括:节点配置信息设定模块,用于设定第一节点的节点配置信息,节点配置信息包括与第一节点所对应的角色列表和资源列表。
根据本申请实施例第三方面,提供一种计算机可读存储介质,存储介质包括一组计算机可执行指令,当指令被执行时用于执行上述任一项自动化部署方法。
本申请实施例提供一种自动化部署方法、装置及计算机可读存储介质。该方法在将不同业务类型的节点定义为不同的角色,根据每一业务类型的节点所需功能定义为与相应角色对应的资源列表,例如,需要安装的应用和工具等。如此,在节点配置信息只需指定节点的角色和其他与角色无关的第一资源列表即可。具体地,在执行自动化部署时,可根据节点配置信息中指定第一角色列表确定与该角色对应的第二资源列表,再与配置信息中指定的第一资源列表进行合并即可得到待部署的全部资源列表,之后再逐一部署该资源列表中的每一资源即可。
如此,可通过与不同角色对应的不同资源列表实现安装的定制化,得以满足不同业务的不同需求。此外,当原有业务类型所需的资源列表发生变化时或需要增加新的业务类型时,只需修改或新增相应角色对应的资源列表即可,无需修改自动化部署的框架和代码,从而大大减少了开发和维护成本,并大幅提升了整个自动化部署方法的易用性和可扩展性。
需要理解的是,本申请的实施并不需要实现上面的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本申请的其他实施方式还能够实现上面未提到的有益效果。
附图说明
通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1为本申请一实施例自动化部署方法所要实现的部署计划示意图;
图2为本申请一实施例自动化部署方法角色配置信息示意图;
图3为本申请一实施例自动化部署方法节点配置信息示意图;
图4为本申请一实施例自动化部署方法的实现流程示意图;
图5为本申请另一实施例自动化部署方法的实现流程示意图;
图6为本申请另一实施例自动化部署方法的配置文件示意图;
图7为本申请一实施例自动化部署装置的组成结构示意图。
具体实施方式
为使本申请的目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
图1示出了本申请一实施例自动化部署方法所要实现的部署计划。参见图1,本实施例需要创建一个集群环境Openstack集群10,在该集群环境下需要自动化部署多个节点,例如:节点101、节点102、节点103、节点104、节点105。其中,节点101和节点102为控制节点;节点103为网络节点;节点104和节点105为计算节点。
在本实施例中,是基于openstack来实现该部署计划的。在创建该集群环境下计划部署的每个节点之后,首先使用openstack的fuel工具完成操作系统的安装,并根据节点所指定的类型部署相应的openstack组件。例如,为类型为“控制节点”的节点部署数据库、消息队列服务、memorycache、ectd和认证等组件;为类型为“网络节点”的节点部署neutron、ovs/linux bridge等组件;为类型为“计算节点”的节点部署nova、libvirtd、监控等组件。
由于,作为控制节点的节点101和节点102还需要安装keepalived和haproxy;作为网络节点的节点103还需要安装tcpdump;作为计算节点的节点104和节点105还需要具有支持运行虚拟机的功能,而其中的节点104还需要对接共享存储等。
因此,在安装和部署完openstack组件之后,还需要进行定制化安装或部署上述需安装的工具和需支持功能。
本申请部署就是针对如何定制化安装或部署上述需安装的工具和需支持功能而提出的一种自动化部署方法。
根据图1所示的部署计划可见,相同类型需装的工具和需支持功能基本上是一致的。因此本申请发明人创造性地想到,可以为相同类型的节点创建一个角色以使得角色相同的节点执行相同地自动化部署操作,从而创建出相同的执行环境,提供相同的功能。
为此,在本实施例中,就根据部署计划中的节点类型,确定了与每一节点类型对应的不同角色,得到了一个角色列表。例如,为类型为“控制节点”的节点创建角色controller-node;为类型为“网络节点”的节点创建角色network-node;为类型为“计算节点”的节点创建角色compute-node,如此,就确定了一个角色列表:controller-node、network-node、compute-node。
需要说明的是,上述角色的定义方式仅为示例性说明,并非对本申请实施方式的限定。实施者还可以根据具体的应用场景,从不同角度来定义节点的角色,例如,可以根据节点要部署的业务系统来定义和确定相应的角色,或根据节点要提供的功能或服务来定义和确定相应的角色等。
在确定了角色列表之后,还需要根据部署计划(如图1所示)中每个类型的节点需安装的工具和需支持功能,确定与相应角色对应的资源列表,形成如图2所示的角色配置信息20。
如图2所示,与角色controller-node对应的资源列表,至少包括keepalive,haproxy,httpd和horizon;与角色network-node对应的资源列表,至少包括:tcpdump;与角色compute-node对应的资源列表,至少包括:libvirt(用于提供运行虚拟机的功能)。
上述角色配置信息一旦创建之后,可存储在任何适用的信息存储系统中,并根据需要可以不断增加或更新角色及相应角色对应的资源列表。随后,在进行自动化部署的过程中,可随时从该信息存储系统中获取角色配置信息,并通过该角色配置信息确定每一角色对应的资源列表。
如果系统中已存在上述角色配置信息,则无需在此执行上述创建角色配置信息的操作,直接从信息存储系统中获取角色配置信息即可。
需要说明的是,角色配置信息是可以根据新的部署需求不断更新和扩展的,例如,新增或更新角色及相应角色对应的资源列表。
在确定了角色配置信息之后,根据图1所示的部署计划和图2所示的角色定义,为每一节点建立如图3所示的节点配置信息30。
其中,以节点104为例,Node104为节点104的标识;role为代表角色的配置项;tool为与角色无关的工具;而role和tool的具体值则是根据部署计划和角色定义确定的。
例如,根据图1所示的部署计划,节点104计划部署为类型为“计算节点”的节点,而“计算节点”这一类型对应的角色是compute-node,则在节点配置信息中,将Node104的role设定为compute-node。
此外,根据图1所示的部署计划,节点104除了需支持compute-node对应的功能“运行虚拟机”之外,还需支持“对接共享存储”。而“对接共享存储”的功能与compute-node无关,并不是所有计算节点都需要部署的。因此,将Node104的tool设定为用于实现“对接共享存储”的工具cinder。
之后,即可根据图3所示节点配置信息30获取各节点对应的角色列表及资源列表,并根据角色列表中角色对应的资源列表和节点对应的资源列表,在相应节点上进行自动化部署。
具体地,在对节点配置信息中各节点进行自动化部署时,执行如图4所示的流程。参考图4,该方法包括:操作410,根据设定的节点配置信息,获取与第一节点对应的第一角色列表和第一资源列表;操作420,根据第一角色列表和设定的角色配置信息,获取第一角色列表中每一角色对应的第二资源列表;操作430,合并第一资源列表和第二资源列表得到在第一节点上待部署的第三资源列表;操作440,在第一节点上部署第三资源列表中的每一资源。
在操作410中,节点指集群环境中的一台服务器。节点配置信息是用于描述该节点部署计划的信息,包括节点名称、节点角色、与角色无关的其他资源等,其中,第一资源列表就是在该节点上还需要部署的一些与角色无关的其他资源。例如,上述图3所示的节点配置信息30。
需要说明的是,图3所示的节点配置信息30仅包括了最基本的示例性信息,并非对本申请自动化部署方法的限定,实施者还可以根据部署需要,在节点配置信息中包括更多信息。
第一节点指待进行自动化部署的节点(例如,节点104)。通常在节点配置信息中是使用第一节点的标识(例如,Node104)来代表第一节点,可以通过第一节点的标识从配置信息中获取与第一节点对应的角色列表和第一资源列表。例如,节点104对应的角色列表为“compute-node”,第一资源列表为工具(tool)libvert。
需要说明的是,第一节点对应的第一角色列表可以为空,比如第一节点不属于任何角色的情况下;第一节点对应的第一角色列表也可以为单个或多个角色,比如第一节点作为角色A对应的类型进行部署,同时还会部署角色B对应的业务系统,则第一节点对应的角色列表会包括:A和B。
在确定了第一节点对应的第一角色列表和第一资源列表之后,可通过操作420,根据第一角色列表和设定的角色配置信息,获取第一角色列表中每一角色对应的第二资源列表。
其中,角色配置信息指角色及角色对应的资源列表,如图2所示。第一角色列表中每一角色在角色配置信息中进行搜索,即可获取与相应角色对应的第二资源列表。
基本上,第一资源列表和第二资源列表中所列出的资源就是本次自动化部署所要部署的资源,为了对这两种资源进行统一部署,还需通过操作430合并第一资源列表和第二资源列表得到在第一节点上待部署的第三资源列表。由于第一资源列表和第二资源列表也可能会有重合的资源,因此在合并的过程中还可能需要进行去重处理。
在得到待部署的第三资源列表之后,即可通过操作440在第一节点上部署第三资源列表中的每一资源。
如此,就可以根据图1所示的部署计划,完成对各个节点的定制化部署。
如前所述,由于本实施例中针对节点的类型、所部署的业务系统或所支持的功能等,定义了相应的角色及与角色对应的资源列表,因此在节点配置信息中并不需要提供出所有待部署的资源列表,而仅需提供该节点对应的角色列表和与角色无关的资源列表。
如此,可通过与不同角色对应的不同资源列表实现安装的定制化,得以满足不同业务的不同需求。此外,当原有业务类型所需的资源列表发生变化时或需要增加新的业务类型时,只需修改或新增相应角色对应的资源列表,而无需修改自动化部署的框架和代码,从而大大减少了开发和维护成本,并大幅提升了整个自动化部署方法的易用性和可扩展性。
需要说明的是,图4仅示出了本申请自动化部署方法的一个基础实施例,实施者可在此基础上进一步细化和扩展得到更多实施例,并应用于其他集群环境下的自动化部署。
图5示出本申请另一实施例在kubernetes集群环境下,实现本申请自动化部署方法的流程。
在执行图5所示的自动化部署所使用的流程之前,需要建立如图6所示的配置文件:包括用户配置文件601、角色配置文件602、工具配置文件603和应用配置文件604。
其中,用户配置文件601中存储的节点配置信息,可以提供给用户进行编辑,以便用户根据部署需求设置节点,及节点对应的角色(role)、节点上需要安装的工具(tools)和应用(apps)等。在图6所示的用户配置文件601中设置了多个节点(例如,node1、node2、node3和node4)的节点配置信息。其中,节点node1对应的角色为controlplane,除了需要安装与相应角色对应的资源之外,还需要安装工具tool1;节点node2对应的角色为controlplane和worker,除了需要安装与相应角色对应的资源外,还需要安装应用virtualmachine;节点node3对应的角色为worker,除了需要安装与相应角色对应的资源外,还需要安装工具tool1和应用accelerate;节点node4对应的角色为etcd,在该节点除了需要安装与相应角色对应的资源外,不需要安装其他工具或应用。
角色配置文件602中存储的是系统预置的角色配置信息,用于设置每个角色默认安装的工具(tools)和应用(apps),即角色列表及相应角色对应的资源列表。在图6所示的角色配置文件602中设置了多个角色,例如controlplane、worker和etcd。其中,角色controlplane默认安装工具kubectl、helm和cni;角色worker默认安装应用sharedstorage、工具cni和kubect;角色etcd默认安装工具etcdctl。
工具配置文件603中存储的是系统预置的工具配置信息,用于指定安装每个工具需要的二进制文件(files)及其他流程(process)。在图6所示的工具配置文件603中包括了多个工具,例如kubectl、helm、cni、etcd和tool1的配置信息。其中,以tool1为例,file1、file2和file3为安装tool1所需的二进制文件,tool1.sh是根据工具的安装和配置要求实现的自定义脚本程序。
应用配置文件604中存储的使系统预置的应用配置信息,指定安装每个应用依赖的安装包(base_pkgs)及其他脚本(script)。在图6所示的应用配置文件604中,包括了多个应用(例如,accelerate、virtualmachine和sharedstorage)的配置信息。以应用virtualmachine为例,qemu-kvm和libvirt为安装包,vm.sh为根据应用的安装和配置要求实现的自定义脚本程序。
需要说明的是,上述文件中只有用户配置文件601是可以供用户编辑和修改的。角色配置文件602、工具配置文件603和应用配置文件604均为系统预置文件,由系统维护,并不提供用户。当根据部署或业务需求,需要新增或更新角色、工具、应用时,无需修改自动化部署的框架或程序,而只需修改上述角色配置文件602、工具配置文件603和应用配置文件604,并同时新增或更新对应的工具、应用或脚本文件即可,可以使产品的新功能或新产品快速上线。
图6中带箭头的线示出了用户配置文件601、角色配置文件602、工具配置文件603和应用配置文件604各信息项(例如,role、tool和app)之间的关联关系。
在上述文件准备完毕之后就可以执行如图5所示的自动化部署流程,主要包括:
步骤5010,解析用户配置文件;
步骤5020,获取节点对应的角色、工具和应用列表;
步骤5030,解析角色配置文件,获取节点对应的角色默认需要安装的工具和应用,然后与节点的工具和应用列表合并得到要安装的工具(包括角色对应的工具和节点需要安装的工具)和应用(包括角色对应的应用和节点需要安装的应用),将工具传递给步骤5110,将应用传递给步骤5210,然后继续步骤5040;
其中,在执行步骤5110的另一个线程或进程中,接收到要安装的工具后执行以下流程:
步骤5110,获取工具(tools)配置文件;
步骤5120,根据要安装的工具生成工具(tools)列表;
步骤5130,根据工具列表生成文件(files)列表,将文件列表中的依赖包传递给步骤5050,将文件列表中的脚本程序传递给步骤5140;
步骤5140,生成执行脚本(process)列表,将脚本列表传递给步骤5080;
其中,在执行步骤步骤5210的另一个线程或进程中,接收到要安装的应用后执行以下流程:
步骤5210,获取应用(apps)配置文件;
步骤5220,根据要安装的应用生成应用(apps)列表;
步骤5230,根据应用列表生成安装包(base_pkgs)列表;
与此同时,主线程/进程并行执行以下流程:
步骤5240,生成执行脚本(script)列表,将脚本列表传递给步骤5060;
步骤5040,根据基础镜像文件,安装操作系统;
在其他实施例中,这一步骤可以不限定安装操作系统,也可以是各个节点通用的其他可运行环境。
步骤5050,根据步骤5130传递的依赖包,安装依赖包;
步骤5060,根据步骤5240传递的脚本列表,执行安装应用所需的附加脚本;
步骤5070,将相关的文件拷贝文件到/usr/bin目录;
其中,相关的文件主要包括安装工具或应用所需的配置文件等。
步骤5080,根据步骤5140传递的脚本列表,执行安装工具所需的附加脚本;
步骤5090,进行部署自动化所需的其他处理。例如,设置用户权限,设置环境变量等等。
如此,就可以根据用户配置文件内指定的节点配置信息完成相应节点的自动化部署。
当根据部署或业务需要,需要新增工具和应用时,只需在工具配置文件603和应用配置文件604中添加新增相应的配置及实现脚本即可,实现上述步骤的主流程及程序代码都不需要改变。如此,可方便地进行扩展,并大幅减少研发和维护成本。
进一步地,本申请实施例还提供一种自动化部署装置。如图7所示,该装置70包括:角色和节点资源获取模块701,用于根据设定的节点配置信息,获取与第一节点对应的第一角色列表和第一资源列表;角色资源获取模块702,用于根据第一角色列表和设定的角色配置信息,获取第一角色列表中每一角色对应的第二资源列表;资源合并模块703,用于合并第一资源列表和第二资源列表得到在第一节点上待部署的第三资源列表;资源部署模块704,用于在第一节点上部署第三资源列表中的每一资源。
根据本申请实施例一实施方式,该装置70还包括:节点配置信息设定模块,用于设定第一节点的节点配置信息,节点配置信息包括与第一节点所对应的角色列表和资源列表。
根据本申请实施例一实施方式,该装置70还包括:角色列表和第二资源列表确定模块,用于确定角色列表以及角色列表中每一角色对应的第二资源列表;角色配置信息设定模块,用于根据角色列表以及角色列表中每一角色对应的第二资源列表,设定角色配置信息。
根据本申请实施例一实施方式,第二资源列表包括应用列表,相应地,资源部署模块704包括:工具安装程序确定子模块,用于从设定的应用配置信息中,确定与每一应用对应的安装包和/或附加脚本程序;工具安装程序执行子模块,用于根据每一应用对应的安装包,在第一节点上部署第三应用列表中的每一应用,和/或,执行附加脚本程序。
根据本申请实施例一实施方式,第二资源列表包括工具列表,包括:相应地,资源部署模块704包括:应用安装程序确定子模块,用于从设定的工具配置信息中,确定与每一工具对应的文件列表和/或安装脚本程序;应用安装程序执行子模块,用于根据每一工具对应的文件列表,在第一节点上执行文件拷贝操作,和/或,执行安装脚本程序。
根据本申请实施例一实施方式,与第一节点对应的第一角色列表和第一资源列表为针对第一节点设定的角色列表和资源列表;相应地,该装置70还包括:基础镜像执行模块,用于根据设定的基础镜像文件,在第一节点上安装通用的可运行环境。
根据本申请实施例一实施方式,该装置70还包括:第一处理执行模块,用于执行设定的第一处理。。
根据本申请实施例第三方面,提供一种计算机可读存储介质,存储介质包括一组计算机可执行指令,当指令被执行时用于执行上述任一项的自动化部署方法。
这里需要指出的是:以上针对自动化部署装置实施例的描述和以上针对计算机可读存储介质实施例的描述,与前述方法实施例的描述是类似的,具有同前述方法实施例相似的有益效果,因此不做赘述。对于本申请对自动化部署装置实施例的描述和对计算机可读存储介质实施例的描述尚未披露的技术细节,请参照本申请前述方法实施例的描述而理解,为节约篇幅,因此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个装置,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本申请各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以利用硬件的形式实现,也可以利用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储介质、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例方法的全部或部分。而前述的存储介质包括:移动存储介质、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种自动化部署方法,所述方法包括:
根据设定的节点配置信息,获取与第一节点对应的第一角色列表和第一资源列表;
根据所述第一角色列表和设定的角色配置信息,获取所述第一角色列表中每一角色对应的第二资源列表;
合并所述第一资源列表和所述第二资源列表得到在所述第一节点上待部署的第三资源列表;
在所述第一节点上部署所述第三资源列表中的每一资源。
2.根据权利要求1所述的方法,在所述根据设定的节点配置信息,获取与第一节点所对应的第一资源列表之前,所述方法还包括:
设定所述第一节点的节点配置信息,所述节点配置信息包括与第一节点所对应的角色列表和资源列表。
3.根据权利要求1所述的方法,在所述根据所述第一角色列表和设定的角色配置信息,获取所述第一角色列表中每一角色对应的第二资源列表之前,所述方法还包括:
确定角色列表以及所述角色列表中每一角色对应的第二资源列表;
根据所述角色列表以及所述角色列表中每一角色对应的第二资源列表,设定角色配置信息。
4.根据权利要求3所述的方法,所述第二资源列表包括应用列表,
相应地,所述在所述第一节点上部署所述第三资源列表中的每一资源,包括:
从设定的应用配置信息中,确定与每一应用对应的安装包和/或附加脚本程序;
根据所述每一应用对应的安装包,在所述第一节点上部署所述第三应用列表中的每一应用,和/或,执行所述附加脚本程序。
5.根据权利要求3所述的方法,所述第二资源列表包括工具列表,包括:
相应地,所述在所述第一节点上部署所述第三资源列表中的每一资源,包括:
从设定的工具配置信息中,确定与每一工具对应的文件列表和/或安装脚本程序;
根据所述每一工具对应的文件列表,在所述第一节点上执行文件拷贝操作,和/或,执行所述安装脚本程序。
6.根据权利要求1所述的方法,所述与第一节点对应的第一角色列表和第一资源列表为针对所述第一节点设定的角色列表和资源列表;
相应地,在所述第一节点上部署所述第三资源列表中的每一资源之前,所述方法还包括:
根据设定的基础镜像文件,在所述第一节点上安装通用的可运行环境。
7.根据权利要求1所述的方法,在所述第一节点上部署所述第三资源列表中的每一资源之后,所述方法还包括:
执行设定的第一处理。
8.一种自动化部署装置,所述装置包括:
角色和节点资源获取模块,用于根据设定的节点配置信息,获取与第一节点对应的第一角色列表和第一资源列表;
角色资源获取模块,用于根据所述第一角色列表和设定的角色配置信息,获取所述第一角色列表中每一角色对应的第二资源列表;
资源合并模块,用于合并所述第一资源列表和所述第二资源列表得到在所述第一节点上待部署的第三资源列表;
资源部署模块,用于在所述第一节点上部署所述第三资源列表中的每一资源。
9.根据权利要求8所述的装置,所述装置还包括:
节点配置信息设定模块,用于设定所述第一节点的节点配置信息,所述节点配置信息包括与第一节点所对应的角色列表和资源列表。
10.一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111070550.7A CN113900674A (zh) | 2021-09-13 | 2021-09-13 | 一种自动化部署方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111070550.7A CN113900674A (zh) | 2021-09-13 | 2021-09-13 | 一种自动化部署方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113900674A true CN113900674A (zh) | 2022-01-07 |
Family
ID=79028038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111070550.7A Pending CN113900674A (zh) | 2021-09-13 | 2021-09-13 | 一种自动化部署方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113900674A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115314381A (zh) * | 2022-10-11 | 2022-11-08 | 统信软件技术有限公司 | 一种自动部署方法、装置与计算设备 |
-
2021
- 2021-09-13 CN CN202111070550.7A patent/CN113900674A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115314381A (zh) * | 2022-10-11 | 2022-11-08 | 统信软件技术有限公司 | 一种自动部署方法、装置与计算设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112416524B (zh) | 基于docker和kubernetes离线的跨平台的CI/CD的实现方法及装置 | |
CN110603522B (zh) | 在云平台上将应用程序容器化的方法 | |
CN104410672B (zh) | 网络功能虚拟化应用升级的方法、转发业务的方法及装置 | |
US8762986B2 (en) | Advanced packaging and deployment of virtual appliances | |
CN108255497B (zh) | 一种应用的部署方法及装置 | |
CN104967664A (zh) | 云的自动化部署系统和方法 | |
US8918513B2 (en) | Network resource deployment for cloud-based services | |
CN112424750A (zh) | 云平台上的多集群供应及管理办法 | |
US9047160B2 (en) | Designing and building virtual images using semantically rich composable software image bundles | |
US9519472B2 (en) | Automation of virtual machine installation by splitting an installation into a minimal installation and customization | |
US20170085419A1 (en) | System and method for deploying an application | |
US11496414B2 (en) | Interoperable cloud based media processing using dynamic network interface | |
CN112269640B (zh) | 一种实现容器云组件的生命周期管理的方法 | |
WO2016099346A1 (en) | Method and deployment module for managing a container to be deployed on a software platform | |
CN112486547A (zh) | 多租户场景下的应用程序更新方法、装置及电子设备 | |
CN105117268A (zh) | 一种实现linux系统自动安装的安装方法及系统 | |
CN115061717B (zh) | 应用管理方法、应用订阅方法及相关设备 | |
CN114968406B (zh) | 一种插件管理方法、装置、电子设备及存储介质 | |
US11403147B2 (en) | Methods and apparatus to improve cloud management | |
US20220147382A1 (en) | Managed virtual appliances | |
CN117112122A (zh) | 一种集群部署方法和装置 | |
CN113900674A (zh) | 一种自动化部署方法、装置及存储介质 | |
CN113407257A (zh) | Mysql集群部署方法、装置、电子设备及存储介质 | |
EP4213468A1 (en) | Automated deployment of control nodes at remote locations | |
CN107968794B (zh) | 一种虚拟光驱挂载方法及系统、服务器、终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |