CN117311974A - 一种集群搭建方法、装置、设备及介质 - Google Patents
一种集群搭建方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117311974A CN117311974A CN202311316822.6A CN202311316822A CN117311974A CN 117311974 A CN117311974 A CN 117311974A CN 202311316822 A CN202311316822 A CN 202311316822A CN 117311974 A CN117311974 A CN 117311974A
- Authority
- CN
- China
- Prior art keywords
- cluster
- node
- nodes
- strategy
- software
- 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
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000013515 script Methods 0.000 claims abstract description 35
- 230000036541 health Effects 0.000 claims description 18
- 238000012544 monitoring process Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 12
- 230000000737 periodic effect Effects 0.000 claims description 9
- 230000006870 function Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000012423 maintenance Methods 0.000 description 5
- 230000008602 contraction Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 229960000074 biopharmaceutical Drugs 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000003208 petroleum Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种集群搭建方法、装置、设备及介质,包括:创建软件源仓库;所述软件源仓库中包括各类型节点所需的软件包;获取资源模板;其中,所述资源模板定义了集群所需云资源;基于所述资源模板部署所述云资源以得到集群的各个节点,并将各个节点对应的软件安装脚本分别推送到各个节点,以便各个节点访问所述软件源仓库,并利用自身获取到的软件安装脚本对自身所需的软件包进行安装。这样,在搭建高性能计算集群时,根据集群需求定义资源模板即可完成集群的搭建,能够提升高性能计算集群的部署效率,降低成本。
Description
技术领域
本申请涉及云计算技术领域,特别涉及一种集群搭建方法、装置、设备及介质。
背景技术
随着计算机技术的不断进步,对计算机的处理速度和效率也提出了更高的要求。为了满足这些计算要求,高性能计算集群应运而生。
目前,传统的高性能计算集群在系统部署、使用成本及系统运维等方面存在着一定的短板。首先,传统高性能计算集群在部署上传统计算资源有限,在系统部署时需要搭建一定规模的机房,提供基础设施,部署系统周期比较长,并且在后续扩容时又要进行基础设施的扩容周期也比较长。然后,在使用成本上,需要一次性购买硬件基础设施,成本压力较大,并且后续基础设施进行迭代升级,间接的增加了集群使用成本。
发明内容
有鉴于此,本申请的目的在于提供一种集群搭建方法、装置、设备及介质,能够提升高性能计算集群的部署效率,降低成本。其具体方案如下:
第一方面,本申请公开了一种集群搭建方法,包括:
创建软件源仓库;所述软件源仓库中包括各类型节点所需的软件包;
获取资源模板;其中,所述资源模板定义了集群所需云资源;
基于所述资源模板部署所述云资源以得到集群的各个节点,并将各个节点对应的软件安装脚本分别推送到各个节点,以便各个节点访问所述软件源仓库,并利用自身获取到的软件安装脚本对自身所需的软件包进行安装。
可选的,所述基于所述资源模板部署所述云资源以得到集群的各个节点,包括:
基于预设引擎识别所述资源模板中定义的云资源,并调用在所述预设引擎中实现的所述云资源对应的接口函数对所述云资源进行初始化操作,得到集群的各个节点。
可选的,所述创建软件源仓库,包括:
利用Docker工具制作镜像,将各类型节点所需的软件包构建到所述镜像的内部。
可选的,还包括:
按照预设节点自动伸缩策略对所述集群进行节点自动伸缩;
其中,所述预设节点自动伸缩策略包括定时策略、周期策略以及监控告警策略,并且,所述定时策略为在特定时刻进行节点自动伸缩的策略,所述周期策略为按照预设周期进行节点自动伸缩的策略,所述监控告警策略为基于监控到的集群性能指标进行节点自动伸缩的策略。
可选的,所述按照预设节点自动伸缩策略对所述集群进行节点自动伸缩,包括:
根据策略优先级,并按照预设节点自动伸缩策略对所述集群进行节点自动伸缩;
其中,所述策略优先级为所述监控告警策略大于所述定时策略大于所述周期策略。
可选的,还包括:
获取节点健康检查周期和规则;
基于所述节点健康检查周期和所述规则对所述集群中的节点进行健康检查;
当检测到集群中存在故障节点,则对所述故障节点进行替换操作。
可选的,所述对所述故障节点进行替换操作,包括:
从数据库中查找所述故障节点的资源信息;其中,所述资源信息为在部署云资源时持久化至所述数据库的信息;
根据所述资源信息创建相同的节点,并对所述故障节点进行清除。
第二方面,本申请公开了一种集群搭建装置,包括:
软件源仓库创建模块,用于创建软件源仓库;所述软件源仓库中包括各类型节点所需的软件包;
资源模板获取模块,用于获取资源模板;其中,所述资源模板定义了集群所需云资源;
集群节点部署模块,用于基于所述资源模板部署所述云资源以得到集群的各个节点,并将各个节点对应的软件安装脚本分别推送到各个节点,以便各个节点访问所述软件源仓库,并利用自身获取到的软件安装脚本对自身所需的软件包进行安装。
第三方面,本申请公开了一种电子设备,包括处理器和存储器;其中,
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现前述的集群搭建方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述的集群搭建方法。
可见,本申请先创建软件源仓库,软件源仓库中包括各类型节点所需的软件包,之后获取资源模板,所述资源模板定义了集群所需云资源,基于所述资源模板部署所述云资源以得到集群的各个节点,并将各个节点对应的软件安装脚本分别推送到各个节点,以便各个节点访问所述软件源仓库,并利用自身获取到的软件安装脚本对自身所需的软件包进行安装。也即,本申请获取定义了集群所需云资源,按照资源模板部署云资源以得到集群的各个节点,并将各个节点对应的软件安装脚本分别推送到各个节点,以便各个节点访问预先创建好的软件源仓库,并利用自身获取到的软件安装脚本对自身所需的软件包进行安装。这样,在搭建高性能计算集群时,根据集群需求定义资源模板即可完成集群的搭建,能够提升高性能计算集群的部署效率,降低成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种集群搭建方法流程图;
图2为本申请实施例提供的一种预设引擎架构图;
图3为本申请实施例提供的一种高性能计算集群架构图;
图4为本申请实施例提供的一种集群搭建装置结构示意图;
图5为本申请实施例提供的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
随着计算机技术的不断进步,对计算机的处理速度和效率也提出了更高的要求。为了满足这些计算要求,高性能计算(High-Performance Computing)集群应运而生。高性能计算是一种计算机集群系统,它通过各种互联技术将多个计算机系统连接在一起,利用所有被连接系统的综合计算能力来处理大型计算问题,所以又通常被称为高性能计算集群。主要用于处理复杂的计算问题,主要应用在需要大规模科学计算的环境中,将计算能力积聚,用并行计算方式解决更大规模的科学、工程和商业问题,在科研机构、石油勘探、金融市场、气象预报、生物制药、基因测序、图像处理等行业均有广泛的应用。高性能计算集群上运行的应用程序使用并行计算,把一个相对大的问题按照一定的规则分拆为多个子问题,在集群内的不同节点上进行计算,然后把这些子问题的处理结果,经过处理可合并为原问题的最终结果,由于各个节点的计算是在同步进行的,进而缩短了问题的处理时间,提高效率。
高性能计算集群通常包括以下几个组成部分:计算节点:也称为工作节点或服务器节点,是集群中最基本的组成部分。每个计算节点都具有独立的处理器、内存和存储设备,可以独立地执行计算任务。通信节点:也称为管理节点或控制节点,负责管理和协调集群中的各个计算节点。通信节点通常具有高速互联网络和高速存储设备,以实现高效的数据传输和处理。存储节点:也称为数据节点或存储节点,负责存储和管理集群中的数据。存储节点通常具有高速存储设备和高速互联网络,以实现高效的数据访问和传输。
然而,传统的高性能计算集群在系统部署、数据安全、使用成本及系统运维等方面存在着一定的短板。首先,传统高性能计算集群在部署上传统计算资源有限,在系统部署时需要搭建一定规模的机房,提供基础设施,部署系统周期比较长,并且在后续扩容时又要进行基础设施的扩容周期也比较长。其次,在数据安全方面,数据保存在客户端,用户的行为不可控或误操作,数据的存储和安全难以保障。然后,在使用成本上,需要一次性购买硬件基础设施,成本压力较大,并且后续基础设施进行迭代升级,间接的增加了集群使用成本。最后,在系统运维方面,需要配置专业的运维人员对系统进行维护。为此,本申请提供了一种集群搭建方案,能够提升高性能计算集群的部署效率,降低成本。
参见图1所示,本申请实施例公开了一种集群搭建方法,包括:
步骤S11:创建软件源仓库;所述软件源仓库中包括各类型节点所需的软件包。
在具体的实施方式中,可以利用Docker(一个开源的应用容器引擎)工具制作镜像,将各类型节点所需的软件包构建到所述镜像的内部。可以理解的是,不同类型的节点,所需的软件包不同,本申请实施例可以预先创建包括各类型节点所需的软件包的软件源仓库。比如登录节点需要的软件包、域账号节点需要的域账号软件以及调度节点所需要的调度软件。
步骤S12:获取资源模板;其中,所述资源模板定义了集群所需云资源。
需要指出的是,可以根据集群需要,定义不同的云资源,得到不同的资源模板。也即,不同类型的节点可以对应不同的资源模板。
步骤S13:基于所述资源模板部署所述云资源以得到集群的各个节点,并将各个节点对应的软件安装脚本分别推送到各个节点,以便各个节点访问所述软件源仓库,并利用自身获取到的软件安装脚本对自身所需的软件包进行安装。
在具体的实施方式中,可以基于预设引擎识别所述资源模板中定义的云资源,并调用在所述预设引擎中实现的所述云资源对应的接口函数对所述云资源进行初始化操作,得到集群的各个节点,并且,在初始化操作的过程中,将基于预设引擎将将各个节点对应的软件安装脚本分别推送到各个节点,以便各个节点访问所述软件源仓库,并利用自身获取到的软件安装脚本对自身所需的软件包进行安装。本申请实施例可以为了对接不同类型的云资源,在预设引擎中实现不同的接口函数。从而可以提供多类型多种组合计算资源,满足用户多种场景的使用需求。包括:云服务器、云物理主机、CPU(即Central ProcessingUnit,中央处理器)云服务器、裸金属服务器等多类型计算资源,支持集群节点单一资源和多种类型资源进行组合,提高集群的高可用性,满足不同场景下的使用需求。
其中,本申请实施例可以用cloud-init组件提供脚本自动执行能力,初始化时对所需软件进行安装。
另外,本申请实施例在对云资源进行初始化操作时,可以使用开源的etcd(即Extended Distributed Key Value,是一个开源的分布式键值存储数据库)数据库对资源信息进行持久化。
进一步的,本申请实施例还可以按照预设节点自动伸缩策略对所述集群进行节点自动伸缩;其中,所述预设节点自动伸缩策略包括定时策略、周期策略以及监控告警策略,并且,所述定时策略为在特定时刻进行节点自动伸缩的策略,所述周期策略为按照预设周期进行节点自动伸缩的策略,所述监控告警策略为基于监控到的集群性能指标进行节点自动伸缩的策略。其中,监控的集群性能指标可以包括CPU平均使用率、内存平均使用率和网络流量等。通过本申请实施例提供的节点自动伸缩策略保证了资源按业务流量动态调整的需求,提高资源实际利用率,有效降低运营成本。
并且,可以根据策略优先级,并按照预设节点自动伸缩策略对所述集群进行节点自动伸缩;其中,所述策略优先级为所述监控告警策略大于所述定时策略大于所述周期策略。
另外,本申请实施例还可以获取节点健康检查周期和规则;基于所述节点健康检查周期和所述规则对所述集群中的节点进行健康检查;当检测到集群中存在故障节点,则对所述故障节点进行替换操作。并且,在具体的实施方式中,可以从数据库中查找所述故障节点的资源信息;其中,所述资源信息为在部署云资源时持久化至所述数据库的信息;根据所述资源信息创建相同的节点,并对所述故障节点进行清除。
可见,本申请实施例先创建软件源仓库,软件源仓库中包括各类型节点所需的软件包,之后获取资源模板,所述资源模板定义了集群所需云资源,基于所述资源模板部署所述云资源以得到集群的各个节点,并将各个节点对应的软件安装脚本分别推送到各个节点,以便各个节点访问所述软件源仓库,并利用自身获取到的软件安装脚本对自身所需的软件包进行安装。也即,本申请实施例获取定义了集群所需云资源,按照资源模板部署云资源以得到集群的各个节点,并将各个节点对应的软件安装脚本分别推送到各个节点,以便各个节点访问预先创建好的软件源仓库,并利用自身获取到的软件安装脚本对自身所需的软件包进行安装。这样,在搭建高性能计算集群时,根据集群需求定义资源模板即可完成集群的搭建,能够提升高性能计算集群的部署效率,降低成本。
并且,按照预设节点自动伸缩策略对所述集群进行节点自动伸缩,以及进行健康检查,自动清除故障节点,能够降低维护成本。
进一步的,参见图2所示,图2为本申请实施例提供的一种预设引擎架构图,预设引擎可以称为编排引擎,本申请实施例可以通过编排引擎实现高性能计算集群。
本申请实施例可以开发编排引擎,编排引擎提供云计算资源管理的能力,初始化云资源作为高性能计算集群的各个节点。编排引擎对外提供REST(即RepresentationalState Transfer,表述性状态传递)API(即Application Programming Interface,应用程序接口))接口,编排引擎根据云资源产品提供的接口,进行对接各个云资源产品,实现对各种云资源生命周期的管理。编排引擎包括执行器和插件,通过插件与对接各云资源。对于云资源产品的计费问题,由各个云资源产品对算费系统进行对接,针对于不同规格的资源实例提供不同的计费标准。根据集群需求定义资源模板信息,编排引擎会自动识别模板中定义的资源,并启动Executor(即执行器)进行初始化操作。Executor会对集群所需的资源进行初始化,使用开源的etcd数据库对资源信息进行持久化。初始化成功后这些资源就会成为集群中所需的各个节点。本申请实施例可以提供多类型多种组合计算资源,满足用户多种场景的使用需求。包括:提供云服务器、云物理主机、CPU云服务器、裸金属服务器等多类型计算资源,支持集群节点单一资源和多种类型资源进行组合,提高集群的高可用性,满足不同场景下的使用需求。
并且,本申请实施例用cloud-init组件提供脚本自动执行能力,初始化时执行默认脚本对所需软件进行安装。包括:提供集群源仓库,利用Docker工具制作镜像,所需软件包构建到镜像内部,并且内部部署nginx提供转发能力,构建成功后的镜像作为高性能计算集群系统的附属系统进行同步部署,部署后对高性能计算集群提供访问链接,允许集群各个节点通过内部网络进行访问。在初始化云资源时,拉取自动安装软件的脚本,利用cloud-init组件自动执行的能力,按照脚本所需执行,对软件进行安装和部署,满足集群的使用需求。cloud-init是专为云环境中虚拟机的初始化而开发的工具,它从各种数据源读取相关数据并据此对虚拟机进行配置。
另外,本申请实施例提供多类型具有优先级的节点自动伸缩策略,根据集群状态自动伸缩,满足不同场景下的伸缩需求。包括:定时策略、周期策略和监控告警策略三种伸缩策略。其中,定时策略:优先级较高,对于特定时刻,动态调整集群节点。提供基于定时策略触发动态伸缩节点的功能,解决了特定时刻,动态调整集群节点的需求。周期策略:优先级最低,对于特定周期,动态调整集群节点。提供基于周期策略触发动态伸缩节点的功能,周期策略分为按天、按周和按月三种,解决了指定周期,动态调整集群节点的需求。监控告警策略:优先级最高,基于性能监控告警,动态调整集群节点,提供基于性能监控告警触发动态伸缩集群节点的功能,监控的性能指标有:CPU平均使用率、内存平均使用率和网络流量三种,解决了集群节点利用率增高或者减少时,动态调整集群节点的需求。优先级顺序:监控告警策略>定时策略>周期策略,在同一时刻多个伸缩策略被触发时,按照策略的优先级进行顺序执行。上述三种伸缩策略保证了资源按业务流量动态调整的需求,提高资源实际利用率,有效降低运营成本。
并且,本申请实施例提供集群节点健康检查能力,对于出现故障的节点,自动识别并按照原有配置进行节点替换。包括:提供集群节点检查机制,允许用户定义检查周期和规则,在指定的周期中按照要求检查集群的各个节点。针对节点存在故障不能正常使用的情况,识别后,在不影响计算业务使用的前提下,对节点进行替换操作:先根据故障节点信息创建相同的节点,然后对故障节点进行清除。
这样,可以有效的减少传统型高性能计算集群存在的一些问题,使集群系统具有高可用性,保证业务在任何时候都可以正常运行;提供一定的扩展能力,根据不同的需求制定不同的扩缩容策略,满足不同计算场景下的使用需求。提供健康检查的能力,保证集群部署和使用高可用性。另外,可以提供安全可靠的数据存储能力。
例如,参见图3所示,图3为本申请实施例提供的一种高性能计算集群架构图。可以通过文件存储服务将作业文件或命令发送到集群。计算结果发送到对象存储服务中,用户应用程序或安装包也可以安装到相应的节点。通过编排引擎提供云计算资源管理的能力,初始化云资源作为高性能计算集群的各个节点。集成调度软件、域账号等软件提供集群源仓库,利用cloud-init组件提供虚机自动脚本执行能力,初始化时执行默认脚本对集群所需软件进行安装。基于多类型伸缩策略和策略的优先级,实现多策略顺序执行。基于集群节点健康检查机制,识别故障节点并自动完成替换。这样的集群具有高可用性,保证业务在任何时候都可以正常运行,具有扩展能力,根据不同的需求定制不同的扩展策略,满足业务需求,降低了集群使用成本,在资源上使用按需计费的方式,按需自动扩缩容资源,在保证服务可用的前提下有效降低成本。
参见图4所示,本申请实施例公开了一种集群搭建装置,包括:
软件源仓库创建模块11,用于创建软件源仓库;所述软件源仓库中包括各类型节点所需的软件包;
资源模板获取模块12,用于获取资源模板;其中,所述资源模板定义了集群所需云资源;
集群节点部署模块13,用于基于所述资源模板部署所述云资源以得到集群的各个节点,并将各个节点对应的软件安装脚本分别推送到各个节点,以便各个节点访问所述软件源仓库,并利用自身获取到的软件安装脚本对自身所需的软件包进行安装。
可见,本申请实施例先创建软件源仓库,软件源仓库中包括各类型节点所需的软件包,之后获取资源模板,所述资源模板定义了集群所需云资源,基于所述资源模板部署所述云资源以得到集群的各个节点,并将各个节点对应的软件安装脚本分别推送到各个节点,以便各个节点访问所述软件源仓库,并利用自身获取到的软件安装脚本对自身所需的软件包进行安装。也即,本申请实施例获取定义了集群所需云资源,按照资源模板部署云资源以得到集群的各个节点,并将各个节点对应的软件安装脚本分别推送到各个节点,以便各个节点访问预先创建好的软件源仓库,并利用自身获取到的软件安装脚本对自身所需的软件包进行安装。这样,在搭建高性能计算集群时,根据集群需求定义资源模板即可完成集群的搭建,能够提升高性能计算集群的部署效率,降低成本。
集群节点部署模块13,具体用于:基于预设引擎识别所述资源模板中定义的云资源,并调用在所述预设引擎中实现的所述云资源对应的接口函数对所述云资源进行初始化操作,得到集群的各个节点。
软件源仓库创建模块11,具体用于:利用Docker工具制作镜像,将各类型节点所需的软件包构建到所述镜像的内部。
所述装置,还包括:
节点伸缩模块,用于按照预设节点自动伸缩策略对所述集群进行节点自动伸缩;
其中,所述预设节点自动伸缩策略包括定时策略、周期策略以及监控告警策略,并且,所述定时策略为在特定时刻进行节点自动伸缩的策略,所述周期策略为按照预设周期进行节点自动伸缩的策略,所述监控告警策略为基于监控到的集群性能指标进行节点自动伸缩的策略。
在具体的实施方式中,节点伸缩模块,具体用于根据策略优先级,并按照预设节点自动伸缩策略对所述集群进行节点自动伸缩;其中,所述策略优先级为所述监控告警策略大于所述定时策略大于所述周期策略。
进一步的,所述装置还包括节点健康检查模块,用于获取节点健康检查周期和规则;基于所述节点健康检查周期和所述规则对所述集群中的节点进行健康检查;当检测到集群中存在故障节点,则对所述故障节点进行替换操作。
节点健康检查模块,具体用于从数据库中查找所述故障节点的资源信息;其中,所述资源信息为在部署云资源时持久化至所述数据库的信息;根据所述资源信息创建相同的节点,并对所述故障节点进行清除。
参见图5所示,本申请实施例公开了一种电子设备20,包括处理器21和存储器22;其中,所述存储器22,用于保存计算机程序;所述处理器21,用于执行所述计算机程序,前述实施例公开的集群搭建方法。
关于上述集群搭建方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
并且,所述存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储方式可以是短暂存储或者永久存储。
另外,所述电子设备20还包括电源23、通信接口24、输入输出接口25和通信总线26;其中,所述电源23用于为所述电子设备20上的各硬件设备提供工作电压;所述通信接口24能够为所述电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;所述输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的集群搭建方法。
关于上述集群搭建方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种集群搭建方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种集群搭建方法,其特征在于,包括:
创建软件源仓库;所述软件源仓库中包括各类型节点所需的软件包;
获取资源模板;其中,所述资源模板定义了集群所需云资源;
基于所述资源模板部署所述云资源以得到集群的各个节点,并将各个节点对应的软件安装脚本分别推送到各个节点,以便各个节点访问所述软件源仓库,并利用自身获取到的软件安装脚本对自身所需的软件包进行安装。
2.根据权利要求1所述的资源搭建方法,其特征在于,所述基于所述资源模板部署所述云资源以得到集群的各个节点,包括:
基于预设引擎识别所述资源模板中定义的云资源,并调用在所述预设引擎中实现的所述云资源对应的接口函数对所述云资源进行初始化操作,得到集群的各个节点。
3.根据权利要求1所述的集群搭建方法,其特征在于,所述创建软件源仓库,包括:
利用Docker工具制作镜像,将各类型节点所需的软件包构建到所述镜像的内部。
4.根据权利要求1所述的集群搭建方法,其特征在于,还包括:
按照预设节点自动伸缩策略对所述集群进行节点自动伸缩;
其中,所述预设节点自动伸缩策略包括定时策略、周期策略以及监控告警策略,并且,所述定时策略为在特定时刻进行节点自动伸缩的策略,所述周期策略为按照预设周期进行节点自动伸缩的策略,所述监控告警策略为基于监控到的集群性能指标进行节点自动伸缩的策略。
5.根据权利要求4所述的集群搭建方法,其特征在于,所述按照预设节点自动伸缩策略对所述集群进行节点自动伸缩,包括:
根据策略优先级,并按照预设节点自动伸缩策略对所述集群进行节点自动伸缩;
其中,所述策略优先级为所述监控告警策略大于所述定时策略大于所述周期策略。
6.根据权利要求1至5任一项所述的集群搭建方法,其特征在于,还包括:
获取节点健康检查周期和规则;
基于所述节点健康检查周期和所述规则对所述集群中的节点进行健康检查;
当检测到集群中存在故障节点,则对所述故障节点进行替换操作。
7.根据权利要求6所述的集群搭建方法,其特征在于,所述对所述故障节点进行替换操作,包括:
从数据库中查找所述故障节点的资源信息;其中,所述资源信息为在部署云资源时持久化至所述数据库的信息;
根据所述资源信息创建相同的节点,并对所述故障节点进行清除。
8.一种集群搭建装置,其特征在于,包括:
软件源仓库创建模块,用于创建软件源仓库;所述软件源仓库中包括各类型节点所需的软件包;
资源模板获取模块,用于获取资源模板;其中,所述资源模板定义了集群所需云资源;
集群节点部署模块,用于基于所述资源模板部署所述云资源以得到集群的各个节点,并将各个节点对应的软件安装脚本分别推送到各个节点,以便各个节点访问所述软件源仓库,并利用自身获取到的软件安装脚本对自身所需的软件包进行安装。
9.一种电子设备,其特征在于,包括处理器和存储器;其中,
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的集群搭建方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的集群搭建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311316822.6A CN117311974A (zh) | 2023-10-12 | 2023-10-12 | 一种集群搭建方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311316822.6A CN117311974A (zh) | 2023-10-12 | 2023-10-12 | 一种集群搭建方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117311974A true CN117311974A (zh) | 2023-12-29 |
Family
ID=89288137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311316822.6A Pending CN117311974A (zh) | 2023-10-12 | 2023-10-12 | 一种集群搭建方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117311974A (zh) |
-
2023
- 2023-10-12 CN CN202311316822.6A patent/CN117311974A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10171377B2 (en) | Orchestrating computing resources between different computing environments | |
CN112866333B (zh) | 基于云原生的微服务场景优化方法、系统、设备和介质 | |
JP6819296B2 (ja) | 仮想化管理・オーケストレーション装置、仮想化管理・オーケストレーション方法、および、プログラム | |
US8494996B2 (en) | Creation and revision of network object graph topology for a network performance management system | |
US11469965B2 (en) | Determining formal models using weighting factors for computing elements in multi-domain environments | |
CN109478147B (zh) | 分布式计算系统中的自适应资源管理 | |
CN116324714A (zh) | 将域特定语言与通用语言组合以用于无服务器网络功能 | |
CN109614227A (zh) | 任务资源调配方法、装置、电子设备及计算机可读介质 | |
JP7161560B2 (ja) | 人工知能開発プラットフォームの管理方法及び装置、媒体 | |
US9904574B2 (en) | Parallel computing without requiring antecedent code deployment | |
EP3901773A1 (en) | Dynamically allocated cloud worker management system and method therefor | |
CN116324712A (zh) | 用于无服务器网络功能的域特定语言 | |
US10558442B2 (en) | Integrating and sharing software build component targets | |
CN116235477A (zh) | 识别用于部署网络功能的执行环境 | |
EP2941718B1 (en) | Monitor-mine-manage cycle | |
Chen | RIFLING: A reinforcement learning‐based GPU scheduler for deep learning research and development platforms | |
WO2022029560A1 (en) | Managing communication between microservices | |
CN111767126A (zh) | 分布式批量处理的系统和方法 | |
Cai et al. | Deployment and verification of machine learning tool-chain based on kubernetes distributed clusters: This paper is submitted for possible publication in the special issue on high performance distributed computing | |
CN112448833A (zh) | 一种多管理域的通信方法和装置 | |
CN117311974A (zh) | 一种集群搭建方法、装置、设备及介质 | |
Benoit et al. | Scheduling skeleton-based grid applications using PEPA and NWS | |
WO2023154051A1 (en) | Determining root causes of anomalies in services | |
CN113742646A (zh) | 将单语言复合函数编译为单个实体 | |
CN117112498B (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 |