掌桥专利:专业的专利平台
掌桥专利
首页

基于模板的集群自动化部署方法、装置、设备及介质

文献发布时间:2023-06-19 11:54:11


基于模板的集群自动化部署方法、装置、设备及介质

技术领域

本发明涉及计算机技术领域,尤其涉及一种基于模板的集群自动化部署方法、装置、设备及介质。

背景技术

集群部署,通常涉及多台服务器,需要开发人员配置各个服务器的安装软件和配置文件,部署工作繁琐,且容易出错。当切换集群规格或配置版本时,则需要重复执行部署操作,效率低、可靠性差。

目前,针对集群部署繁琐、易出错的问题,尚未提出有效的解决方法。

发明内容

本发明实施例提供了一种基于模板的集群自动化部署方法、装置、设备及介质,以至少解决集群部署繁琐、易出错的问题。

第一方面,本发明实施例提供了一种基于模板的集群自动化部署方法,包括以下步骤:

获取集群配置信息,所述集群配置信息包括集群规格版本;

根据所述集群规格版本,获取对应的服务器列表,所述服务器列表中包括每台服务器的待安装软件;

从所述服务器列表中确定待安装的服务器;

下发软件安装指令至所述待安装的服务器;

接收所述待安装的服务器回传的部署状态。

在其中一些实施例中,所述下发软件安装指令至所述待安装的服务器之后,包括:

所述待安装的服务器根据所述软件安装指令,自动获取所述待安装软件对应版本的软件文件和配置文件进行自动安装。

在其中一些实施例中,所述接收所述待安装的服务器回传的部署状态之后,还包括:

接收集群升级指令;

根据集群升级指令,下发软件升级指令至对应的服务器,对所述对应的服务器进行升级;

其中,所述软件升级指令包括待升级软件的软件版本和配置文件版本。

在其中一些实施例中,所述获取集群配置信息之前,包括:

接收前端发送的所述待安装软件的软件版本,创建所述待安装软件的软件版本集合;

接收前端发送的所述待安装软件的配置文件版本,创建所述待安装软件的配置版本集合。

在其中一些实施例中,所述获取集群配置信息之前,还包括:

接收前端发送的所述待安装软件的软件版本集合和配置版本集合,创建所述集群规格版本。

在其中一些实施例中,所述创建所述集群规格版本,还包括:

配置集群的服务器数量以及每台服务器的基本信息。

在其中一些实施例中,所述下发软件安装指令至所述待安装的服务器,包括:

将所述软件安装指令下发至预先安装在所述待安装的服务器中的通信软件。

第二方面,本发明实施例提供了一种基于模板的集群自动化部署装置,包括:

集群部署配置模块,用于获取集群配置信息,所述集群配置信息包括集群规格版本;

服务器配置模块,用于根据所述集群规格版本,获取对应的服务器列表,所述服务器列表中包括每台服务器的待安装软件;从所述服务器列表中确定待安装的服务器;

软件及配置安装模块,用于下发软件安装指令至所述待安装的服务器;

部署状态查询模块,用于接收所述待安装的服务器回传的部署状态。

第三方面,本发明实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的基于模板的集群自动化部署方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的基于模板的集群自动化部署方法。

相比于现有技术,本发明实施例提供一种基于模板的集群自动化部署方法、装置、设备及介质,通过集群规格版本为既定服务器规划待安装的软件及配置,实现基于模板自动完成集群的自动化部署,无需人工对各服务器进行配置,极大地简化了集群部署操作,能有效避免部署出错,提升了集群部署的工作效率和可靠性。

本发明的一个或多个实施例的细节在以下附图和描述中提出,以使本发明的其他特征、目的和优点更加简明易懂。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明基于模板的集群自动化部署方法的流程图;

图2是本发明实施例基于模板的集群自动化部署方法的流程示意图;

图3是本发明实施例的基于模板的集群自动化部署装置的结构框图;

图4是本发明实施例的电子设备的结构框图。

具体实施方式

为了使本申请的目的、技术方案更加清楚明白,以下结合附图及实施例,对本发明进行描述和说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。基于本发明提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。

在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。

实施例1

本实施例提供一种对基于模板的集群自动化部署方法,图1是本发明基于模板的集群自动化部署方法的流程图。

如图1所示,基于模板的集群自动化部署方法,包括以下步骤:

S101、获取集群配置信息,该集群配置信息包括集群规格版本。

首次部署集群时,用户需填写集群配置信息,包括集群名称、环境状态(灰度/正式)、副本版本(A/B)等,并从配置好的集群规格版本中选择此次部署所用的集群规格版本,形成集群配置信息,搭建运维平台的服务器只需从前端获取集群配置信息,即可获取集群规格版本,作为集群部署的模板。

S102、根据集群规格版本,获取对应的服务器列表,该服务器列表中包括每台服务器的待安装软件;从服务器列表中确定待安装的服务器。

根据集群规格版本,可显示集群规格版本对应的服务器列表,因在创建该集群规格版本时,已配置部署该集群需要使用的服务器和待安装软件,因此通过服务器列表会一并展示需部署的服务器和各服务器的待安装软件,以及各待安装软件的软件版本和配置文件版本,只需从服务器列表中确定待安装的服务器即可进行下一步操作。

S103、下发软件安装指令至待安装的服务器。

针对待安装的服务器,只需下发软件安装指令,即可在服务器启动软件自动安装流程,以完成待安装软件对应版本的软件文件安装和配置文件安装,从而完成待安装软件的安装。此时,待安装的服务器会回传软件安装状态,以提示部署状态。

S104、接收待安装的服务器回传的部署状态。

当接收到部署状态为软件安装成功,则说明待安装的服务器部署成功,若接收到部署状态为安装失败,则说明待安装的服务器部署失败,此时,开发人员可排查失败原因,进行相关调试后,重新下发软件安装指令或人工执行相关部署操作。

本实施例的基于模板的集群自动化部署方法由运维平台作为执行主体,该运维平台作为后台,为专门用于管理服务器的平台,可以与每台服务器的进行双向通信,并且可以将一组服务器组成一个集群,进行整体管理。

需要注意的是,在所有待安装的服务器安装好所有待安装软件以及hosts写入之后,则集群部署成功。

本实施例的基于模板的集群自动化部署方法,可用于解决集群部署繁琐、易出错的问题,将集群规格版本作为部署模板,该集群规格模板准确约束了各服务器需要安装的软件以及各软件的软件版本和配置文件版本,基于部署模板,无需人工干预,即可直接控制软件的自动安装到既定服务器上,极大地简化了集群部署操作,能有效避免部署出错,提升了集群部署的工作效率和可靠性。

优选地,获取集群配置信息之前,包括:

接收前端发送的待安装软件的软件版本,创建待安装软件的软件版本集合;

接收前端发送的待安装软件的配置文件版本,创建待安装软件的配置版本集合。

用户通过WEB前端分别选择和添加各个待安装软件的软件版本和配置文件版本,以在后台创建各待安装软件的软件版本集合和各待安装软件的配置版本集合,分别组成一个软件版本和一个配置版本,以供创建集群规格版本,以对集群中各待安装的软件进行规划和约束。根据不同的集群部署需求,可创建多个不同的软件版本集合(软件版本)和配置版本集合(配置版本),以组成不同的集群规格版本。

每个软件可以单独发布版本,一组软件组成一个软件版本。每个软件的配置文件也可以单独发布版本,一组软件的配置文件组成一个配置版本。

需要注意的是,本实施例将软件版本和配置版本分开管理,可减少耦合,方便集群规格版本使用。

优选地,获取集群配置信息之前,还包括:

接收前端发送的待安装软件的软件版本集合和配置版本集合,分别创建集群规格版本,形成集群规格版本集合。

优选地,创建集群规格版本时,还包括:

配置集群的服务器数量以及每台服务器的基本信息。

在执行集群自动化部署操作之前,预先创建集群规格版本,用户通过web前端为集群选择各服务器待安装软件的软件版本和配置版本,并为集群分配服务器和配置每台服务器的基本信息,形成一个集群规格版本发送至平台,作为部署模板。需要说明的是,在执行多个不同的集群部署任务时,可创建多个不同的集群规格版本,形成集群规格版本集合,以供自动化部署时使用。

一个集群规格版本包括一个软件版本和一个配置版本,同时还包括规划的服务器列表以及每台服务器待安装的软件以及配置文件。

创建集群规格版本,具体包括以下步骤:

通过web前端填写集群的基本信息,包括集群规格名称、集群描述、版本号、软件版本、配置版本;

为集群分配资源,包括服务器数量,每台服务器的名称、描述、内核数、内存等基本信息,需要安装的服务列表,hosts等。

在本发明的其他实施例中,可以将上述配置操作和创建操作编写成自动化脚本实现。

优选地,下发软件安装指令至待安装的服务器,包括:

将软件安装指令下发至预先安装在所述待安装的服务器中的通信软件。

为了实现服务器与后台进行双向通信,给每台服务器预先安装通信软件。该通信软件可以上报服务器的各种信息,包括CPU,内存,磁盘使用量,以及已安装的各个软件信息(包含软件版本,配置文件版本,软件进程占用的CPU,内存使用量),并且该通信软件接收、执行后台下发的各种指令,如软件安装指令和软件升级指令,并向后台回传信息。能实现双向通信的通信软件为本领域的公知常识,本领域技术人员可根据实际情况选择任何一款通信软件,实现服务器与后台的双向通信,在此不作限定。

优选地,下发软件安装指令至所述待安装的服务器之后,包括:

待安装的服务器根据软件安装指令,自动获取待安装软件对应版本的软件文件和配置文件进行自动安装。

待安装的服务器由集群规格版本规划和确定,在集群规格版本中已规定了该服务器的待安装软件,并规定了待安装软件的软件版本和配置文件版本,服务器通过通信软件接收到软件安装指令之后,仅需从静态文件系统中获取相关软件对应版本的软件文件和配置文件即可进行自动安装,实现集群的自动化部署。

需要注意的是,各软件不同版本的软件文件和配置文件集合预先存储在静态文件系统中,以供集群部署时调用。

优选地,接收待安装的服务器回传的部署状态之后,还包括:

接收集群升级指令;

根据集群升级指令,下发软件升级指令至对应的服务器,对所述对应的服务器进行升级;

其中,软件升级指令包括待升级软件的软件版本和配置文件版本。

当需要更新集群规格版本时,可使用升级功能,发起集群升级指令,则可直接下发软件升级指令至集群对应的服务器的通信软件,服务器即可从静态系统中获取新版本的软件文件及配置文件进行自动安装,从而完成升级。集群的升级,也基于集群规格版本自动进行,升级操作简单,可靠性及升级效率高。

如图2所示,执行本实施例的基于模板的集群自动化部署方法时,涉及web前端、运维平台(后台)、物联平台和集群,该集群包括服务器,如图2中的服务器A和服务器B,各服务器中预安装通信软件,在进行集群自动化部署之前,通过web前端和运维平台的交互,依次创建软件版本、配置版本和集群规格版本,成功创建软件版本、配置版本和集群规格版本后,基于web前端和运维平台的交互,实现本实施的基于模板的集群自动化部署(开通或升级集群)。部署后的集群可供物联平台使用,满足各物联网应用场景的管理需求。

实施例2

本实施例提供一种基于模板的集群自动化部署装置,该装置用于实现上述实施例及优选实施例方式,已经进行过说明的不再赘述,如下所使用的术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能实现并被构想的。

图3是本发明实施例的基于模板的集群自动化部署装置的结构框图,如图3所示,该装置包括:

集群部署配置模块31,用于获取集群配置信息,该集群配置信息包括集群规格版本;

服务器配置模块32,用于根据集群规格版本,获取对应的服务器列表,服务器列表中包括每台服务器的待安装软件;从服务器列表中确定待安装的服务器;

软件及配置安装模块33,用于下发软件安装指令至待安装的服务器;

部署状态查询模块34,用于接收待安装的服务器回传的部署状态。

需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。

实施例3

图4为本发明实施例的一种电子设备的结构示意图,如图4所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图4所示。该电子设备包括处理器、存储器、输入装置和输出装置;其中该电子设备中处理器的数量可以是一个或多个,图4中以一个处理器为例;电子设备中的处理器、存储器、输入装置和输出装置可以通过总线或其他方式连接,图4中以通过总线连接为例。

存储器作为一种计算机可读存储介质,可以包括高速随机存取存储器、非易失性存储器等,可用于存储操作系统、软件程序、计算机可执行程序和数据库,如本发明实施例1的基于模板的集群自动化部署方法对应的程序指令/模块,还可以包括内存,可用于为操作系统和计算机程序提供运行环境。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。

处理器用于提供计算和控制能力,可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。处理器通过运行存储在存储器中的计算机可执行程序、软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现实施例1的基于模板的集群自动化部署方法。

该电子设备的输出装置可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

该电子设备还可包括网络接口/通信接口,该电子设备的网络接口用于与外部的终端通过网络连接通信。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所述更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

本领域普通技术人员可以理解实现实施例1的基于模板的集群自动化部署方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

实施例4

本发明实施例提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于实现基于模板的集群自动化部署方法,该方法包括:

获取集群配置信息,该集群配置信息包括集群规格版本;

根据集群规格版本,获取对应的服务器列表,服务器列表中包括每台服务器的待安装软件;

从服务器列表中确定待安装的服务器;

下发软件安装指令至待安装的服务器;

接收待安装的服务器回传的部署状态。

当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述实施例的基于模板的集群自动化部署方法操作,还可以执行本发明任意实施例所提供的基于模板的集群自动化部署方法中的相关操作。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台电子设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的基于模板的集群自动化部署方法。

值得注意的是,上述基于模板的集群自动化部署方法的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。

除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。

对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

相关技术
  • 基于模板的集群自动化部署方法、装置、设备及介质
  • 基于MySQL集群的自动化部署方法、装置及相关设备
技术分类

06120113098924