CN117762557A - 虚拟机创建方法、装置、电子设备及可读存储介质 - Google Patents
虚拟机创建方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN117762557A CN117762557A CN202311589806.4A CN202311589806A CN117762557A CN 117762557 A CN117762557 A CN 117762557A CN 202311589806 A CN202311589806 A CN 202311589806A CN 117762557 A CN117762557 A CN 117762557A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- configuration file
- computing node
- preset threshold
- snapshot
- 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 109
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 230000008569 process Effects 0.000 claims description 21
- 230000015654 memory Effects 0.000 claims description 18
- 230000004044 response Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 244000035744 Hura crepitans Species 0.000 description 5
- 238000002955 isolation Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Abstract
本发明实施例提供了一种虚拟机创建方法、装置、电子设备及可读存储介质。方法应用于服务集群的控制节点,方法包括:获取第一虚拟机的虚拟机资源利用率,第一虚拟机是在服务集群的计算节点中运行的虚拟机;在确定虚拟机资源利用率大于或等于第一预设阈值的情况下,生成配置文件加载请求并发送至服务集群中的目标计算节点,以供目标计算节点加载对第一虚拟机进行快照得到的第一配置文件;在确定虚拟机资源利用率大于或等于第二预设阈值的情况下,生成虚拟机创建请求并发送至目标计算节点,以供目标计算节点根据加载的第一配置文件,创建并启动第二虚拟机,第二预设阈值大于第一预设阈值。本发明提高了创建并启动虚拟机的效率。
Description
技术领域
本发明属于数据处理技术领域,特别是涉及一种虚拟机创建方法、装置、电子设备及可读存储介质。
背景技术
在无服务器(Serverless)计算系统中,为了实现函数的快速启动和弹性扩容,可以通过轻量级虚拟机(Micro Virtual Manufacturing,MicroVM)承载应用和函数的代码程序,并通过k8s对MicroVM进行管理和编排,为了确保处理效率,需要降低MicroVM的创建时延。
在相关技术中,通过创建中央处理器(Central Processing Unit,CPU)和虚拟机内存,然后加载内核和应用程序,以实现MicroVM的冷启动。
但是,创建虚拟的CPU、虚拟机内存、加载内核和应用程序所需时间比较长,这会导致创建轻量级虚拟机存在较大时延。
发明内容
本发明提供一种虚拟机创建方法、装置、电子设备及可读存储介质,以解决相关技术中创建轻量级虚拟机存在较大时延的问题。
第一方面,本发明提供一种虚拟机创建方法,所述方法应用于服务集群的控制节点,所述方法包括:
获取第一虚拟机的虚拟机资源利用率,所述第一虚拟机是在所述服务集群的计算节点中运行的虚拟机;
在确定所述虚拟机资源利用率大于或等于第一预设阈值的情况下,生成配置文件加载请求并发送至所述服务集群中的目标计算节点,以供所述目标计算节点加载所述第一虚拟机的第一配置文件,所述第一配置文件是在所述第一虚拟机运行过程中,对所述第一虚拟机进行快照得到的配置文件;
在确定所述虚拟机资源利用率大于或等于第二预设阈值的情况下,生成虚拟机创建请求并发送至所述目标计算节点,以供所述目标计算节点根据加载的所述第一配置文件,创建并启动第二虚拟机,所述第二预设阈值大于所述第一预设阈值。
第二方面,本发明提供一种虚拟机创建方法,所述方法应用于服务集群的目标计算节点,所述方法包括:
响应于接收到的配置文件加载请求,加载第一虚拟机的第一配置文件,所述配置文件加载请求,是控制节点在确定所述第一虚拟机的虚拟机资源利用率,大于或等于第一预设阈值的情况下生成的,所述第一虚拟机是在所述服务集群的计算节点中运行的虚拟机,所述第一配置文件是在所述第一虚拟机运行过程中,对所述第一虚拟机进行快照得到的配置文件;
响应于接收到的虚拟机创建请求,根据加载的所述第一配置文件,创建并启动第二虚拟机,所述虚拟机创建请求,是所述控制节点在确定所述虚拟机资源利用率,大于或等于第二预设阈值的情况下生成的,所述第二预设阈值大于所述第一预设阈值。
第三方面,本发明提供一种虚拟机创建装置,所述装置位于服务集群的控制节点,所述装置包括:
第一获取模块,用于获取第一虚拟机的虚拟机资源利用率,所述第一虚拟机是在所述服务集群的计算节点中运行的虚拟机;
第一生成模块,用于在确定所述虚拟机资源利用率大于或等于第一预设阈值的情况下,生成配置文件加载请求并发送至所述服务集群中的目标计算节点,以供所述目标计算节点加载所述第一虚拟机的第一配置文件,所述第一配置文件是在所述第一虚拟机运行过程中,对所述第一虚拟机进行快照得到的配置文件;
第二生成模块,用于在确定所述虚拟机资源利用率大于或等于第二预设阈值的情况下,生成虚拟机创建请求并发送至所述目标计算节点,以供所述目标计算节点根据加载的所述第一配置文件,创建并启动第二虚拟机,所述第二预设阈值大于所述第一预设阈值。
第四方便,本发明提供一种虚拟机创建装置,装置位于应用于服务集群的目标计算节点,所述装置包括:
第一加载模块,用于响应于接收到的配置文件加载请求,加载第一虚拟机的第一配置文件,所述配置文件加载请求,是控制节点在确定所述第一虚拟机的虚拟机资源利用率,大于或等于第一预设阈值的情况下生成的,所述第一虚拟机是在所述服务集群的计算节点中运行的虚拟机,所述第一配置文件是在所述第一虚拟机运行过程中,对所述第一虚拟机进行快照得到的配置文件;
创建模块,用于响应于接收到的虚拟机创建请求,根据加载的所述第一配置文件,创建并启动第二虚拟机,所述虚拟机创建请求,是所述控制节点在确定所述虚拟机资源利用率,大于或等于第二预设阈值的情况下生成的,所述第二预设阈值大于所述第一预设阈值。
第五方面,本发明提供一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的虚拟机创建方法。
第六方面,本发明提供一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行第一方面所述的虚拟机创建方法。
综上,在本实施例中,在第一虚拟机的虚拟机资源利用率大于或等于第一预设阈值的情况下,生成配置文件加载请求并发送至所述服务集群中的目标计算节点,以供所述目标计算节点加载所述第一虚拟机的第一配置文件,在确定所述虚拟机资源利用率大于或等于第二预设阈值的情况下,生成虚拟机创建请求并发送至所述目标计算节点,以供所述目标计算节点根据加载的所述第一配置文件,创建并启动第二虚拟机。由此,在需要启动第二虚拟机时,基于已加载的第一配置文件,即可启动第二虚拟机,相较于相关技术中在需要创建虚拟机时,先加载配置文件,再创建虚拟机的方法,本实施例节省了加载第一配置文件的时间,提高了虚拟机冷启动效率。
附图说明
为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种虚拟机创建方法的步骤流程图;
图2是本发明实施例提供的另一种虚拟机创建方法的步骤流程图;
图3是本发明实施例提供的又一种虚拟机创建方法的步骤流程图;
图4是本发明实施例提供的一种虚拟机创建方法的交互流程图;
图5是本发明实施例提供的一种虚拟机创建系统的结构示意图;
图6是本发明实施例提供的一种虚拟机创建方法的步骤流程图;
图7是本发明实施例提供的一种虚拟机管理系统架构示意图;
图8是本发明实施例提供的一种虚拟机创建装置的结构图;
图9是本发明实施例提供的另一种虚拟机创建装置的结构图;
图10是本发明实施例提供的一种电子设备的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请中出现的部分名词或术语适用于如下解释:
轻量级虚拟机(Micro Virtual Machine,Micro VM),是一种虚拟化技术,可以提供比传统虚拟机更轻量级、更高效的虚拟化环境。可被设计用于Serverless计算或容器化应用和服务,以确保应用安全隔离的同时,避免引入大量的开销和资源消耗。
自定义资源(Custom Resource Define,CRD),是K8s(kubernetes)平台自定义资源的一种方式。
下面结合相关附图及实施例,对本申请的虚拟机创建方法进行进一步的说明:
图1是本发明实施例提供的一种虚拟机创建方法的步骤流程图,方法应用于服务集群的控制节点。
如图1所示,该方法可以包括如下步骤:
步骤101,获取第一虚拟机的虚拟机资源利用率。
具体的,第一虚拟机是在服务集群的计算节点中运行的虚拟机。计算节点和控制节点是服务集群中的不同节点。进一步的,第一虚拟机是在服务集群的计算节点中,已经启动并运行的虚拟机。
进一步的,服务集群包括控制节点和多个计算节点,一个计算节点中可以设置一个虚拟机,也可以设置多个虚拟机。服务集群的多个计算节点包括多个虚拟机。
示例地,可以根据各虚拟机所执行的任务,从多个虚拟机中确定出需要进行快照的第一虚拟机。比如,可以根据任务的优先级,从多个虚拟机中,确定出较高优先级对应的虚拟机,将这些较高优先级对应的虚拟机,确定为需要快照的第一虚拟机。
服务集群是用于执行预设任务的集群。示例地,服务集群可以是通过多个物理服务器搭建的集群,可以是在虚拟机中搭建的集群,也可以是通过其他处理设备搭建的集群。
进一步的,在服务集群是通过多个物理服务器搭建的集群的情况下,控制节点和计算节点可以为物理服务器,在服务集群是在虚拟机中搭建的集群的情况下,控制节点和计算节点可以是虚拟的处理节点。
示例地,可以通过服务集群中的资源利用率获取模块,获取第一虚拟机的虚拟机资源利用率,并将第一虚拟机的虚拟机资源利用率,发送至服务集群中的控制节点。
具体的,第一虚拟机的虚拟机资源利用率,是第一虚拟机中被占用的资源,在第一虚拟机总资源中的比重。
步骤102,在确定虚拟机资源利用率大于或等于第一预设阈值的情况下,生成配置文件加载请求,并发送至服务集群中的目标计算节点,以供目标计算节点加载第一虚拟机的第一配置文件。
具体的,第一配置文件是在第一虚拟机运行过程中,对第一虚拟机进行快照得到的。
示例地,第一配置文件是在第一虚拟机运行过程中,对第一虚拟机进行快照处理所得到的快照文件。示例地,在第一虚拟机运行过程中,按照预设时间间隔对第一虚拟机进行快照,得到第一虚拟机的第一配置文件。进一步的,在第一虚拟机运行过程中,对第一虚拟机的运行状态进行快照,获取第一虚拟机的运行状态信息,以及第一虚拟机内存中的所有数据。
步骤103,在确定虚拟机资源利用率大于或等于第二预设阈值的情况下,生成虚拟机创建请求并发送至目标计算节点,以供目标计算节点根据加载的第一配置文件,创建并启动第二虚拟机。
具体的,第二预设阈值大于第一预设阈值。
其中,第一预设阈值和第二预设阈值可以根据用户需求设定,比如,可以将第一预设阈值设定为50%,将第二预设阈值设定为60%。
示例地,在虚拟机资源利用率大于或等于第二预设阈值的情况下,表示第一虚拟机的虚拟机资源利用率,不满足当前处理任务的资源利用率需求,需要创建新的虚拟机,以对第一虚拟机进行扩容。
综上,在本实施例中,在第一虚拟机的虚拟机资源利用率大于或等于第一预设阈值的情况下,生成配置文件加载请求并发送至服务集群中的目标计算节点,以供目标计算节点加载第一虚拟机的第一配置文件,在确定虚拟机资源利用率大于或等于第二预设阈值的情况下,生成虚拟机创建请求并发送至目标计算节点,以供目标计算节点根据加载的第一配置文件,创建并启动第二虚拟机。由此,在需要启动第二虚拟机时,基于已加载的第一配置文件,即可直接启动第二虚拟机,相较于相关技术中在需要创建虚拟机时,先加载配置文件,再启动虚拟机的方法,本实施例节省了加载第一配置文件的时间,提高了虚拟机冷启动效率。
图2是本申请实施例提供的另一种虚拟机创建方法的步骤流程图,参照图2,方法可以包括如下步骤:
步骤201,获取第一虚拟机的虚拟机资源利用率。
第一虚拟机是在服务集群的计算节点中启动并运行的虚拟机。
本步骤的方法,在前述实施例步骤101中已做说明,此处不再赘述。
步骤202,获取计算节点的第一剩余资源。
具体的,计算节点的第一剩余资源,是计算节点中未被占用的资源。
示例地,可以通过服务集群中的剩余资源检测模块,获取计算节点的第一剩余资源。
步骤203,从多个计算节点中,确定出第一剩余资源满足预设虚拟机创建要求的候选计算节点。
示例地,获取每个计算节点的第一剩余资源,从多个计算节点中,选择出第一剩余资源大于或等于预设资源阈值的计算节点,将其确定为候选计算节点。其中,预设资源阈值,可以大于或等于创建并启动第二虚拟机时所需要的资源。进一步的,创建并启动第二虚拟机时所需要的资源,包括加载的第一配置文件所占用的资源、启动第二虚拟机时第二虚拟机中程序运行所占用的资源。
示例地,候选计算节点的个数为多个。
步骤204,从候选计算节点中确定出目标计算节点。
示例地,从候选计算节点中,确定出剩余资源较大的预设个数的候选计算节点,将选出的预设个数的候选计算节点,确定为目标计算节点。
在一个实施例中,步骤204可以包括如下子步骤:
子步骤2041,确定需要创建并启动的第二虚拟机的第一个数。
示例地,根据服务集群中所有正在运行的第一虚拟机的第二个数,以及计算节点的节点资源利用率,确定需要创建并启动的第二虚拟机的第一个数。
示例地,根据用户需求,设定需要创建并启动的第二虚拟机的第一个数,比如,在需要确保服务集群中虚拟机的资源利用率比较高的情况下,可以将第一个数设定的大一些。
子步骤2042,从候选计算节点中,确定出预设个数的目标计算节点。
具体的,候选计算节点的个数为多个,从多个候选计算节点中,确定出预设个数的目标计算节点。其中,目标计算节点的预设个数,等于需要创建并启动的第二虚拟机的第一个数。
在一个实施例中,步骤2042可以包括如下子步骤:
子步骤2043,获取候选计算节点的第二剩余资源。
示例地,通过服务集群中的剩余资源检测模块,获取候选计算节点的第二剩余资源。具体的,候选计算节点的第二剩余资源,是候选计算节点未被占用的资源。
子步骤2044,根据第二剩余资源,从候选计算节点中,确定出预设个数的目标计算节点。
具体的,目标计算节点的第二剩余资源,大于候选计算节点中,除目标计算节点外的其他候选计算节点的第二剩余资源。
根据本实施例获取的目标计算节点,是从候选计算节点中,确定出第二剩余资源较大的预设个数的候选计算节点,将其确定为目标计算节点。由此,可以确保在目标计算节点中创建并启动第二虚拟机后,目标计算节点的剩余资源可以满足剩余资源要求。
示例地,预设个数等于需要创建并启动的第二虚拟节点的第一个数。
在一个实施例中,子步骤2041可以包括如下子步骤:
子步骤2045,获取服务集群中所有正在运行的第一虚拟机的第二个数。
示例地,通过服务集群中的检测模块,获取服务集群中所有正在运行的第一虚拟机的第二个数。
子步骤2046,获取计算节点的节点资源利用率。
具体的,节点资源利用率,是计算节点中占用的资源,在计算节点总资源中所占的比重。
示例地,通过服务集群中的节点资源利用率获取模块,获取计算节点的节点资源利用率。
示例地,计算节点是运行有第一虚拟机的计算节点。
子步骤2047,根据第二个数、节点资源利用率,以及第一预设阈值,得到第二虚拟机的第一个数。
示例地,根据如下方法,获取需要创建并启动第二虚拟机的第一个数y:
其中,x表示服务集群中所有正在运行的第一虚拟机的第二个数,α表示计算节点的节点资源利用率,A表示第一预设阈值。
进一步的,α表示服务集群中单个计算节点的节点资源利用率。具体的,服务集群的多个计算节点的节点资源利用率之间的差值足够小,或者多个计算节点的节点资源利用率相等。通过获取服务集群中任一计算节点的节点资源利用率,将其确定为用于计算第二虚拟机的第一个数的节点资源利用率。
比如,当前检测到的计算节点的节点资源利用率为55%,当前服务集群中所有正在运行的第一虚拟机的第二个数为100,则根据上述公式,可以计算得到,需要创建并启动第二虚拟机的第一个数为10。
步骤205,在确定虚拟机资源利用率大于或等于第一预设阈值的情况下,生成配置文件加载请求,并发送至服务集群中的目标计算节点,以供目标计算节点加载第一虚拟机的第一配置文件。
具体的,第一配置文件是在第一虚拟机运行过程中,对第一虚拟机进行快照得到的。
本步骤的方法,在前述步骤102中已做说明,此处不再赘述。
步骤206,在确定虚拟机资源利用率大于或等于第二预设阈值的情况下,生成虚拟机创建请求并发送至目标计算节点,以供目标计算节点根据加载的第一配置文件,创建并启动第二虚拟机。
具体的,第二预设阈值大于第一预设阈值。
本步骤的方法,在前述步骤103中已做说明,此处不再赘述。
综上,在本实施例中,获取计算节点的第一剩余资源,从多个计算节点中,确定出第一剩余资源满足预设虚拟机创建要求的候选计算节点,从候选计算节点中确定出目标计算节点。由此,在确定虚拟机资源利用率大于或等于第一预设阈值的情况下,生成配置文件加载请求,并发送至服务集群中的目标计算节点时,目标计算节点具有足够的剩余资源用于加载第一虚拟机的第一配置文件。在确定确定虚拟机资源利用率大于或等于第二预设阈值的情况下,生成虚拟机创建请求并发送至目标计算节点后,目标计算节点具有足够的剩余资源,用于创建启动第二虚拟机。根据本实施例,可以确保成功创建第二虚拟机。另外,基于本实施例,在需要启动第二虚拟机时,基于已加载的第一配置文件,即可启动第二虚拟机,相较于相关技术中在需要创建虚拟机时,先加载配置文件,再创建虚拟机的方法,本实施例节省了加载第一配置文件的时间,提高了虚拟机冷启动效率。
在一个实施例中,在步骤203之前,还可以包括:
步骤207,获取创建并启动第二虚拟机需要占用的待用资源。
具体的,待用资源包括加载第一配置文件需要占用的资源,以及创建并启动第二虚拟机需要占用的资源。
示例地,获取加载第一配置文件需要占用的资源,以及创建并启动第二虚拟机需要占用的资源,对加载第一配置文件需要占用的资源和创建并启动第二虚拟机需要占用的资源求和,得到创建并启动第二虚拟机需要占用的待用资源。
步骤208,在确定第一剩余资源大于或等于待用资源的情况下,确定第一剩余资源满足预设虚拟机创建要求。
在本实施例中,获取创建并启动第二虚拟机需要占用的待用资源,在确定第一剩余资源大于或等于待用资源的情况下,确定第一剩余资源满足预设虚拟机创建要求,从多个计算节点中,确定出第一剩余资源满足预设虚拟机创建要求的候选计算节点,由此得到的候选计算节点,可以满足创建并启动第二虚拟机时,对需要占用的待用资源的要求。
图3是本申请实施例提供的另一种虚拟机创建方法,方法应用于服务集群的目标计算节点。参照图3,方法可以包括如下步骤:
步骤301,响应于接收到的配置文件加载请求,加载第一虚拟机的第一配置文件。
具体的,配置文件加载请求,是控制节点在确定第一虚拟机的虚拟机资源利用率,大于或等于第一预设阈值的情况下生成的。
其中,第一虚拟机是在服务集群的计算节点中运行的虚拟机,第一配置文件是在第一虚拟机运行过程中,对第一虚拟机进行快照得到的配置文件。
步骤302,响应于接收到的虚拟机创建请求,根据加载的第一配置文件,创建并启动第二虚拟机。
具体的,虚拟机创建请求,是控制节点在确定虚拟机资源利用率大于或等于第二预设阈值的情况下生成的。
其中,第二预设阈值大于第一预设阈值。
综上,在本实施例中,获取控制节点在第一虚拟机的虚拟机资源利用率大于或等于第一预设阈值的情况下,生成的配置文件加载请求,并响应于配置文件加载请求,加载第一虚拟机的第一配置文件,获取控制节点在确定虚拟机资源利用率大于或等于第二预设阈值的情况下,生成虚拟机创建请求,并响应于虚拟机创建请求,根据加载的第一配置文件,创建并启动第二虚拟机。由此,在需要启动第二虚拟机时,基于已加载的第一配置文件,可以直接启动第二虚拟机,相较于相关技术中在需要创建虚拟机时,先加载配置文件,再创建虚拟机的方法,本实施例节省了加载第一配置文件的时间,提高了虚拟机冷启动效率。
在一个实施例中,步骤301可以包括如下子步骤:
子步骤3011,从存储虚拟机配置文件的配置文件库中,获取第一虚拟机的第一配置文件。
具体的,配置文件库包括多个第二配置文件,每个第二配置文件具有对应的虚拟机标识。其中,第二配置文件,是对与第二配置文件对应的虚拟机进行快照得到的。
示例地,第一虚拟机具有对应的第一虚拟机标识,根据第一虚拟机的第一虚拟机标识,从存储虚拟机配置文件的配置文件库中,获取所述第一虚拟机的第一配置文件。
进一步的,比对第一虚拟机标识,以及配置文件库中各第二配置文件的虚拟机标识,得到与第一虚拟机标识匹配的虚拟机标识,并将该虚拟机标识对应的第二配置文件,确定为第一虚拟机的第一配置文件。
图4是本申请实施例提供的一种虚拟机创建方法的交互步骤流程图,参照图4,方法可以包括如下步骤:
步骤401,控制节点获取第一虚拟机的虚拟机资源利用率。
本步骤的方法,在前述步骤101中已做说明,此处不再赘述。
步骤402,控制节点在确定虚拟机资源利用率大于或等于第一预设阈值的情况下,生成配置文件加载请求并发送至服务集群中的目标计算节点。
本步骤的方法,在前述步骤102中已做说明,此处不再赘述。
步骤403,目标计算节点响应于接收到的配置文件加载请求,加载第一虚拟机的第一配置文件。
本步骤的方法,在前述步骤301中已做说明,此处不再赘述。
步骤404,控制节点在确定虚拟机资源利用率大于或等于第二预设阈值的情况下,生成虚拟机创建请求并发送至目标计算节点。
本步骤的方法,在前述步骤103中已做说明,此处不再赘述。
步骤405,目标计算节点响应于接收到的虚拟机创建请求,根据加载的第一配置文件,创建并启动第二虚拟机。
综上,在本申请实施例中,控制节点在第一虚拟机的虚拟机资源利用率大于或等于第一预设阈值的情况下,生成配置文件加载请求并发送至服务集群中的目标计算节点,目标计算节点加载第一虚拟机的第一配置文件,控制节点在确定虚拟机资源利用率大于或等于第二预设阈值的情况下,生成虚拟机创建请求并发送至目标计算节点,目标计算节点根据加载的第一配置文件,创建并启动第二虚拟机。由此,在需要启动第二虚拟机时,基于已加载的第一配置文件,即可启动第二虚拟机,相较于相关技术中在需要创建虚拟机时,先加载配置文件,再创建虚拟机的方法,本实施例节省了加载第一配置文件的时间,提高了虚拟机冷启动效率。
图5是本申请实施例提供的一种虚拟机创建系统的结构示意图,参照图5,系统包括服务集群中的控制节点、多个计算节点,以及快照存储库。
其中,控制节点包括轻量级虚拟机(MicroVM)快照冷启动控制器、MicroVM快照冷启动调度器,每个计算节点包括多沙箱容器运行时(Kuasar),其中,Kuasar用于进行快照扩展。另外,控制节点还包括K8s应用程序接口(Application Program Interface,API)服务器,K8s调度器,以及分布式键值数据库(Etcd)。
其中,分布式键值数据库是应用于容器等分布系统中,用于存储服务集群的状态信息。K8s调度器可用于将服务集群中的Pod放置在预设的计算节点上,以确保计算节点可以运行对应的Pod,其中,一个Pod可以包括多个容器。K8s API服务器,可以通过API对服务集群中的对象资源进行增加、删除、修改或查看的操作。
参照图5,本申请对k8s和kuasar开源项目系统架构进行了扩展,增加了MicroVM快照冷启动控制器、MicroVM快照冷启动调度器、Kuasar MicroVM快照管理扩展,以及轻量级虚拟机快照存储库等,以实现MicroVM冷启动任务的端到端管理,支持快照的预热以及弹性扩容,快照预热进一步降低了MicroVM在冷启动时从磁盘加载到内存的时延,加快用户请求响应时间。其中,快照相当于前述实施例中的第一配置文件,快照预热是通过在确定虚拟机资源利用率大于或等于第一预设阈值时,目标计算节点加载第一配置文件实现的。
图6是本申请实施例提供的一种虚拟机创建方法的步骤流程图,参照图5和图6,方法可以包括如下步骤:
步骤S1,在k8s yaml配置文件中部署MicroVM资源池创建任务,并对配置文件进行参数配置。
具体的,本步骤中的配置文件是通过参数配置得到的配置文件,本步骤中获取配置文件的方法,和前述实施例中获取第一配置文件和第二配置文件的方法不同,前述实施例中的第一配置文件和第二配置文件,是通过对对应的虚拟机进行快照得到的。
其中,k8s yaml配置文件可以包括Micro VM的快照配置字段,以及第一阈值、第二阈值,初始化副本数和最大副本数。
其中,初始化副本是在服务集群创建好后,对运行的第一虚拟机进行快照,所述得到的快照文件的个数。最大副本数是对集群中所有第一虚拟机进行快照,所得到的快照的总个数。设定最大副本数,可以确保快照存储库中的快照数量不会过大,以免影响在快照存储库中确定需要加载的快照时,从快照存储库中搜索需要加载的快照的效率。
示例地,根据服务集群中,各第一虚拟机所执行的任务,从多个虚拟机中确定出需要进行虚拟机资源利用率,并根据虚拟机资源利用率,确定是否需要进行快照的第一虚拟机。
对应的,对配置文件配置的参数包括:第一预设阈值、第二预设阈值和MicroVM快照链接。其中,配置文件为k8s yaml配置文件。即,配置文件的格式为yaml格式。
其中,MicroVM快照链接用于在轻量级虚拟机快照存储库中,匹配对应配置的快照,以创建MicroVM启动任务。
进一步的,快照链接包括第一虚拟机的标识信息,以及对第一虚拟机进行快照所得到的第一配置文件的标识信息。根据快照链接,可以准确的从快照存储库中,确定出与第一虚拟机对应的快照并加载,并在后续的处理过程中,根据加载的快照,创建并启动第二虚拟机。
示例地,可以在搭建好服务集群时执行步骤S1,获取配置好的配置文件,也可以在服务集群运行的过程中执行步骤S1,获取配置好的配置文件。
其中,快照链接包括快照的唯一标识,以及从快照存储库中获取快照的路径。
示例地,可通过CRD实现K8s yaml配置文件的配置,比如,配置快照的链接地址,以在轻量级虚拟机快照存储库中匹配对应虚拟机的快照。
进一步的,根据k8s yaml配置文件中的MicroVM配置的快照链接地址,可以在MicroVM快照存储库组件中,以快速匹配并获取和第一虚拟机对应配置的快照,进而创建MicroVM启动任务。并且可以根据第一虚拟机的虚拟机资源利用率(即,CPU资源使用率),自动进行虚拟机扩容。
步骤S2,通过控制节点中的轻量级虚拟机快照控制器,实时获取MicroVM资源池创建任务信息,并根据k8s yaml配置文件的配置参数,向轻量级快照冷启动调度器下发MicroVM创建任务。
示例地,配置参数包括第一预设阈值和第二预设阈值,通过获取第一虚拟机的虚拟机资源利用率,根据第一虚拟机的虚拟机资源利用率和第一预设阈值,确定是否向轻量级快照冷启动调度器下发MicroVM创建任务。具体的,在确定所述虚拟机资源利用率大于或等于第一预设阈值的情况下,向轻量级快照冷启动调度器下发MicroVM创建任务,否则不下发MicroVM创建任务。
步骤S3,在首次创建MicroVM时,通过MicroVM冷启动调度器,根据k8s yaml配置文件的配置需求,从服务集群的多个计算节点中,确定出候选计算节点,以向候选计算节点分配MicroVM创建任务。
具体的,获取计算节点的第一剩余资源,从多个计算节点中,选择第一剩余资源满足快照的建立和拉取要求的候选计算节点。
步骤S4,通过计算节点的本地组件Kuasar,接收MicroVM冷启动调度器分配的MicroVM创建任务。
参照图7,图7(a)为相关技术中的Kuasar MicroVM管理系统架构,图7(b)为本实施例中加入MicroVM快照管理扩展组件的MicroVM管理系统架构图。
继续参照图7,相关技术中的Kuasar MicroVM管理系统包括多种容器运行时,其中,容器运行时包括轻量级容器管理工具(Containerd)、基于开放容器计划的容器运行时接口(Kubernetes Container Runtime Interface-Open Container Initiative,CRI-O)、容器(Docker)和通用容器引擎(ISulad),容器运行时通过沙箱接口对接虚拟机管理器沙箱,容器运行时通过任务接口对接虚拟机管理器任务。其中,通过虚拟机管理器沙箱启动MicroVM,并创建虚拟机管理器任务,其中,虚拟机管理器任务对应于轻量级虚拟机中的多个Container。
参照图7(b),在加入MicroVM快照管理扩展组件后,虚拟机管理器沙箱通过MicroVM快照管理扩展组件启动MicroVM,并创建虚拟机管理器任务。其中,MicroVM快照管理扩展组件包括虚拟机管理器快照的管理模块(vmm-snapshot-main模块)、虚拟机管理器快照的日志模块(vmm-snapshot-schedule模块)、虚拟机管理器快照的加载模块(vmm-snapshot-load模块),以及虚拟机管理器快照的记录模块(vmm-snapshot-record模块)。
通过计算节点的本地组件Kuasar接收到控制节点中调度器下发的MicroVM创建任务后,启动创建MicroVM命令,并使用MicroVM快照管理扩展组件中的vmm-snapshot-management模块拉取MicroVM相关的快照,并通过vmm-snapshot-load模块加载快照,以创建并启动MicroVM。
其中,vmm-snapshot-record模块可用于记录虚拟机管理器中的快照信息。快照是虚拟机的运行状态的副本,可在需要还原虚拟机时,将虚拟机还原到之前的状态。示例地,vmm-snapshot-record模块还可以用于进行版本控制,具体的,通过记录每个快照的信息,包括创建时间、虚拟机状态等信息,可以使用户获取和管理不同快照的状态。vmm-snapshot-record模块还可以实现还原功能。示例地,在对虚拟机进行测试、调试的过程中,根据vmm-snapshot-record模块的还原功能,可将虚拟机还原到之前的状态。vmm-snapshot-record模块可以用于数据备份和恢复,通过记录快照,可以对虚拟机进行备份或恢复。示例地,可以创建虚拟机的备份,并在需要时将虚拟机恢复到之前的状态。vmm-snapshot-record模块还具有性能优化功能,以确保在创建、管理和恢复快照时,减小对服务集群的影响,提高虚拟化环境中的管理和维护效率。
步骤S5,通过控制节点中的控制器继续实时获取计算节点中MicroVM中的虚拟机资源利用率,在虚拟机资源利用率超过第一预设阈值时,发起快照预加载任务,并计算需要创建并启动第二虚拟机的第一个数。
其中,获取的虚拟机资源利用率,是MicroVM的CPU的资源利用率。
具体的,发起快照预加载任务,用于为MicroVM扩容提前进行快照的拉取,并将快照加载至目标计算节点的内存中。由此,后续创建MicroVM时,不需要再加载用于创建MicroVM的配置文件,减少了拉取快照和内存加载的时间,提高了创建MicroVM的效率,减少了创建MicroVM的冷启动时延。
其中,获取需要创建并启动第二虚拟机的第一个数的方法包括:
获取服务集群中所有正在运行的第一虚拟机的第二个数x,获取计算节点的节点资源利用率α,根据如下公式计算需要创建并启动第二虚拟机的第一个数y:
步骤S6,通过控制节点的调度器,从候选计算节点中确定出预设个数的目标计算节点,预设个数等于需要启动第二虚拟机的第一个数。
具体的,从候选计算节点中,确定出第二剩余资源靠前的y个目标计算节点,并向目标计算节点下发快照加载任务。
示例地,通过向目标计算节点发送配置文件加载请求,实现向目标计算节点下发快照加载任务。
步骤S7,目标计算节点中的本地组件Kuasar接收到快照加载任务后,通过KuasarMicroVM快照扩展组件中的vmm-snapshot-management模块,拉取MicroVM相关的快照,并加载到目标计算节点的内存中。
具体的,通过在轻量级虚拟机快照存储库中,拉取MicroVM相关的快照。在本步骤中,MicroVM相关的快照,相当于前述实施例中的第一虚拟机的第一配置文件。
步骤S8,通过控制节点中的MicroVM快照冷启动控制器继续实时获取计算节点中MicroVM的虚拟机资源利用率,在虚拟机资源利用率超过第二预设阈值时,向调度器发起MIcro VM扩容任务。
其中,第二预设阈值大于第一预设阈值。
进一步的,第一预设阈值表示在虚拟机资源利用率超过第一预设阈值时,启动快照预加载,以及将快照加载到内存的任务。第二预设阈值表示在虚拟机资源利用率超过第二预设阈值时,进行MicroVM扩容,启动MicroVM创建任务。
步骤S9,通过控制节点中的调度器,向目标计算节点下发MicroVM的创建扩容任务。
示例地,通过调度器向目标计算节点发送虚拟机创建请求,实现向目标计算节点下发MicroVM的创建扩容任务。
其中,目标计算节点是已经加载快照的计算节点。
步骤S10,目标计算节点的本地组件Kuasar接收到调度器下发的MicroVM创建扩容任务后,通过调用vmm-snapshot-load组件,基于在目标计算节点中加载的快照创建MicroVM。
其中,快照相当于前述实施例中第一虚拟机的第一配置文件。在本步骤中创建的MIcroVM,相当于前述实施例中的第二虚拟机。
步骤S11,通过计算节点的本地组件Kuasar,定期记录运行中的MicroVM快照,并上传至轻量级虚拟机快照存储库。
其中,轻量级虚拟机快照存储库,相当于前述实施例中的配置文件库。将MicroVM快照上传轻量级虚拟机快照存储库,可供后续再创建对应的MicroVm时,从轻量级虚拟机快照存储库中拉取并加载快照。
需要说明的是,新型云计算范式发展迅速,云计算厂商可以通过Serverless计算技术,将云计算用户应用拆解为细粒度的组件、函数,并按需扩展、计算和计费,其中,Serverless计算,又称为函数计算。由此,可以使得云计算用户在构建应用时,无需管理服务器等基础设施,并减少云计算使用成本。在使用Serverless计算技术的场景中,需要解决的问题是,如何保障多租户应用、数据安全隔离。
在相关技术的Serverless计算系统中,为了实现函数的快速启动和弹性扩容,可以使用容器技术承载应用和函数的代码程序,但是,该技术中应用的容器,会导致安全隔离性比传统的虚拟机差的问题。传统虚拟机安全隔离性强,但是传统虚拟机的功能和代码比较复杂,不能满足实际应用中的轻量化需求。MicroVM可以通过裁剪传统虚拟机的功能和代码,以在确保安全隔离的情况下,尽可能的减少内存资源占用,降低启动时间开销,因此,MicroVM的适用场景越来越多。比如,主流的k8s相关项目(比如,kuasar开源项目),已经可以支持MicroVM的管理编排,但是,相关技术中的MicroVM的冷启动时延仍然要高于容器技术。
在相关技术中,在进行MicroVM冷启动时,需要逐步的创建虚拟CPU、创建虚拟机内存、加载内核、加载应用程序等,这些复杂的步骤造成了较大的启动时延。
在本实施例中,使用快照技术对MicroVM的运行状态进行快照,并保存到轻量级虚拟机存储库中,在虚拟机资源利用率达到第二预设阈值时,通过直接加载MicroVM快照,进而创建和启动第二虚拟机,由此,可节省创建虚拟CPU、创建虚拟机内存、加载内核、加载应用程序等流程,减少了虚拟机的冷启动时间。
进一步的,本实施例的方法,基于快照技术对MicroVM的冷启动进行优化,可以基于快照对MicroVM的冷启动进行优化,并基于k8s和kuasar云原生开源项目进行了扩展,增加了MicroVM快照冷启动控制器、MicroVM快照冷启动调度器、Kuasar MicroVM快照管理扩展及MicroVM快照存储库组件,可以通过基于虚拟机快照对MicroVM进行快速冷启动,并实现快照预热和MicroVM弹性扩容。
基于本实施例的方法,在Serverless技术应用场景中,可以降低Serverless应用中MicroVM冷启动时延,加快用户请求响应时间。
MicroVM快照冷启动调度器,可进行快照预加载任务的调度,在扩容时,具体的,控制器首先会启动快照预下载和加载到内存的任务,调度器在此任务中筛选具备满足快照加载与MicroVM创建计算资源需求的目标节点计算节点进行快照预加载,并记录完成快照预加载的目标计算节点。MicroVM快照冷启动调度器,还可以实现MicroVM扩容任务的调度,在执行调度时,调度器选择已经完成快照预加载的目标计算节点进行MicroVM的创建扩容,以确保计算节点的平均CPU利用率不超过第二预设阈值。
本实施例还提供了一种Kuasar MicroVM快照管理扩展组件,用于管理MicroVM的快照的拉取、加载和基于快照的MicroVM创建等。具体的,参照图7,在kuasar开源MicroVM管理项目的基础上进行了扩展。具体你的,扩展的模块包括:vmm-snapshot-management模块、vmm-snapshot-load模块、vmm-snapshot-record模块,以及vmm-snapshot-schedule模块。
其中vmm-snapshot-management用于对接kuasar的虚拟机管理器沙箱模块所代理MicroVM的创建需求,并可从轻量级虚拟机快照存储库拉取对应的快照文件。并可调用vmm-snapshot-load模块完成快照文件的加载和MicroVM的创建。调用vmm-snapshot-record模块记录最新的MicroVM运行状态并生成快照文件,然后上传到快照库中以供下次使用。
图8是本发明实施例提供的一种虚拟机创建装置的结构图,虚拟机创建装置80可以包括:
第一获取模块801,用于获取第一虚拟机的虚拟机资源利用率,第一虚拟机是在服务集群的计算节点中运行的虚拟机;
第一生成模块802,用于在确定虚拟机资源利用率大于或等于第一预设阈值的情况下,生成配置文件加载请求并发送至服务集群中的目标计算节点,以供目标计算节点加载第一虚拟机的第一配置文件,第一配置文件是在第一虚拟机运行过程中,对第一虚拟机进行快照得到的配置文件;
第二生成模块803,用于在确定虚拟机资源利用率大于或等于第二预设阈值的情况下,生成虚拟机创建请求并发送至目标计算节点,以供目标计算节点根据加载的第一配置文件,创建并启动第二虚拟机,第二预设阈值大于第一预设阈值。
可选地,服务集群包括多个计算节点。虚拟机创建装置40还包括:
第二获取模块,用于在生成配置文件加载请求并发送至目标计算节点之前,获取计算节点的第一剩余资源;
第一确定模块,用于从多个计算节点中,确定出第一剩余资源满足预设虚拟机创建要求的候选计算节点;
第二确定模块,用于从候选计算节点中确定出目标计算节点。
可选地,第二确定模块,包括:
第一确定子模块,用于确定需要创建的第二虚拟机的第一个数;
第二确定子模块,用于从候选计算节点中,确定出预设个数的目标计算节点,预设个数等于第一个数。
可选地,第二确定子模块,包括:
第一获取单元,用于获取候选计算节点的第二剩余资源;
第一确定单元,用于根据第二剩余资源,从候选计算节点中,确定出预设个数的目标计算节点;目标计算节点的第二剩余资源,大于候选计算节点中,除目标计算节点外的其他候选计算节点的第二剩余资源。
可选地,第一确定子模块,包括:
第二获取单元,用于获取服务集群中所有正在运行的第一虚拟机的第二个数;
第三获取单元,用于获取计算节点的节点资源利用率;
第四获取单元,用于根据第二个数、节点资源利用率,以及第一预设阈值,得到第二虚拟机的第一个数。
可选地,虚拟机创建装置80还包括:
第三获取模块,用于在从多个计算节点中,确定出第一剩余资源满足预设虚拟机创建要求的候选计算节点之前,获取,创建并启动第二虚拟机需要占用的待用资源;
第三确定模块,用于在确定第一剩余资源大于或等于待用资源的情况下,确定第一剩余资源满足预设虚拟机创建要求
综上,在本实施例中,在第一虚拟机的虚拟机资源利用率大于或等于第一预设阈值的情况下,生成配置文件加载请求并发送至服务集群中的目标计算节点,以供目标计算节点加载第一虚拟机的第一配置文件,在确定虚拟机资源利用率大于或等于第二预设阈值的情况下,生成虚拟机创建请求并发送至目标计算节点,以供目标计算节点根据加载的第一配置文件,创建并启动第二虚拟机。由此,在需要启动第二虚拟机时,基于已加载的第一配置文件,即可启动第二虚拟机,相较于相关技术中在需要创建虚拟机时,先加载配置文件,再创建虚拟机的方法,本实施例节省了加载第一配置文件的时间,提高了虚拟机冷启动效率。
图9是另一种虚拟机创建装置,参照图9,虚拟机创建装置90可以包括:
第一加载模块901,用于响应于接收到的配置文件加载请求,加载第一虚拟机的第一配置文件,配置文件加载请求,是控制节点在确定第一虚拟机的虚拟机资源利用率,大于或等于第一预设阈值的情况下生成的,第一虚拟机是在服务集群的计算节点中运行的虚拟机,第一配置文件是在第一虚拟机运行过程中,对第一虚拟机进行快照得到的配置文件;
创建模块902,用于响应于接收到的虚拟机创建请求,根据加载的第一配置文件,创建并启动第二虚拟机,虚拟机创建请求,是控制节点在确定虚拟机资源利用率,大于或等于第二预设阈值的情况下生成的,第二预设阈值大于第一预设阈值。
可选地,第一加载模块901,包括:
第四获取模块,用于从存储虚拟机配置文件的配置文件库中,获取第一虚拟机的第一配置文件,配置文件库包括多个第二配置文件,每个第二配置文件具有对应的虚拟机标识,第二配置文件,是对与第二配置文件对应的虚拟机进行快照得到的;
第二加载模块,用于加载第一虚拟机的第一配置文件。
可选地,虚拟机创建装置90还包括:
第五获取模块,用于在创建并启动第二虚拟机之后,对第二虚拟机进行快照,得到与第二虚拟机对应的第三配置文件;
加载模块,用于将第二虚拟机的虚拟机标识,以及第三配置文件,加入配置文件库中。
综上,在本实施例中,在第一虚拟机的虚拟机资源利用率大于或等于第一预设阈值的情况下,生成配置文件加载请求并发送至服务集群中的目标计算节点,以供目标计算节点加载第一虚拟机的第一配置文件,在确定虚拟机资源利用率大于或等于第二预设阈值的情况下,生成虚拟机创建请求并发送至目标计算节点,以供目标计算节点根据加载的第一配置文件,创建并启动第二虚拟机。由此,在需要启动第二虚拟机时,基于已加载的第一配置文件,即可启动第二虚拟机,相较于相关技术中在需要创建虚拟机时,先加载配置文件,再创建虚拟机的方法,本实施例节省了加载第一配置文件的时间,提高了虚拟机冷启动效率。
本发明还提供了一种电子设备,参见图10,包括:处理器1001、存储器1002以及存储在存储器上并可在处理器上运行的计算机程序10021,处理器执行程序时实现前述实施例的虚拟机创建方法。
本发明还提供了一种可读存储介质,当存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述实施例的虚拟机创建方法。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,本发明实施例中获取的各种信息、数据,均是在得到信息/数据持有方授权的情况下获取的。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明的排序设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明所涉及的用户信息(包括但不限于用户的设备信息、用户个人信息等)、相关数据等均为经用户授权或经各方授权后的信息。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (13)
1.一种虚拟机创建方法,其特征在于,所述方法应用于服务集群的控制节点,所述方法包括:
获取第一虚拟机的虚拟机资源利用率,所述第一虚拟机是在所述服务集群的计算节点中运行的虚拟机;
在确定所述虚拟机资源利用率大于或等于第一预设阈值的情况下,生成配置文件加载请求并发送至所述服务集群中的目标计算节点,以供所述目标计算节点加载所述第一虚拟机的第一配置文件,所述第一配置文件是在所述第一虚拟机运行过程中,对所述第一虚拟机进行快照得到的配置文件;
在确定所述虚拟机资源利用率大于或等于第二预设阈值的情况下,生成虚拟机创建请求并发送至所述目标计算节点,以供所述目标计算节点根据加载的所述第一配置文件,创建并启动第二虚拟机,所述第二预设阈值大于所述第一预设阈值。
2.根据权利要求1所述的方法,其特征在于,所述服务集群包括多个计算节点;在生成配置文件加载请求并发送至所述服务集群中的目标计算节点之前,还包括:
获取计算节点的第一剩余资源;
从多个所述计算节点中,确定出第一剩余资源满足预设虚拟机创建要求的候选计算节点;
从所述候选计算节点中确定出所述目标计算节点。
3.根据权利要求2所述的方法,其特征在于,从所述候选计算节点中确定出所述目标计算节点,包括:
确定需要创建并启动的所述第二虚拟机的第一个数;
从所述候选计算节点中,确定出预设个数的目标计算节点,所述预设个数等于所述第一个数。
4.根据权利要求3所述的方法,其特征在于,所述从所述候选计算节点中,确定出预设个数的目标计算节点,包括:
获取候选计算节点的第二剩余资源;
根据所述第二剩余资源,从所述候选计算节点中,确定出预设个数的目标计算节点;
所述目标计算节点的第二剩余资源,大于所述候选计算节点中,除所述目标计算节点外的其他候选计算节点的第二剩余资源。
5.根据权利要求3所述的方法,其特征在于,所述确定需要创建并启动的所述第二虚拟机的第一个数,包括:
获取所述服务集群中所有正在运行的第一虚拟机的第二个数;
获取所述计算节点的节点资源利用率;
根据所述第二个数、所述节点资源利用率,以及所述第一预设阈值,得到所述第二虚拟机的第一个数。
6.根据权利要求2所述的方法,其特征在于,在所述从多个所述计算节点中,确定出第一剩余资源满足预设虚拟机创建要求的候选计算节点之前,还包括:
获取创建所述第二虚拟机需要占用的待用资源;
在确定所述第一剩余资源大于或等于所述待用资源的情况下,确定所述第一剩余资源满足所述预设虚拟机创建要求。
7.一种虚拟机创建方法,其特征在于,所述方法应用于服务集群的目标计算节点,所述方法包括:
响应于接收到的配置文件加载请求,加载第一虚拟机的第一配置文件,所述配置文件加载请求,是控制节点在确定所述第一虚拟机的虚拟机资源利用率,大于或等于第一预设阈值的情况下生成的,所述第一虚拟机是在所述服务集群的计算节点中运行的虚拟机,所述第一配置文件是在所述第一虚拟机运行过程中,对所述第一虚拟机进行快照得到的配置文件;
响应于接收到的虚拟机创建请求,根据加载的所述第一配置文件,创建并启动第二虚拟机,所述虚拟机创建请求,是所述控制节点在确定所述虚拟机资源利用率,大于或等于第二预设阈值的情况下生成的,所述第二预设阈值大于所述第一预设阈值。
8.根据权利要求7所述的方法,其特征在于,所述加载第一虚拟机的第一配置文件,包括:
从存储虚拟机配置文件的配置文件库中,获取所述第一虚拟机的第一配置文件,所述配置文件库包括多个第二配置文件,每个第二配置文件具有对应的虚拟机标识,第二配置文件,是对与第二配置文件对应的虚拟机进行快照得到的;
加载所述第一虚拟机的第一配置文件。
9.根据权利要求7所述的方法,其特征在于,在创建并启动第二虚拟机之后,还包括:
对所述第二虚拟机进行快照,得到与所述第二虚拟机对应的第三配置文件;
将所述第二虚拟机的虚拟机标识,以及所述第三配置文件,加入所述配置文件库中。
10.一种虚拟机创建装置,其特征在于,所述装置位于服务集群的控制节点,所述装置包括:
第一获取模块,用于获取第一虚拟机的虚拟机资源利用率,所述第一虚拟机是在所述服务集群的计算节点中运行的虚拟机;
第一生成模块,用于在确定所述虚拟机资源利用率大于或等于第一预设阈值的情况下,生成配置文件加载请求并发送至所述服务集群中的目标计算节点,以供所述目标计算节点加载所述第一虚拟机的第一配置文件,所述第一配置文件是在所述第一虚拟机运行过程中,对所述第一虚拟机进行快照得到的配置文件;
第二生成模块,用于在确定所述虚拟机资源利用率大于或等于第二预设阈值的情况下,生成虚拟机创建请求并发送至所述目标计算节点,以供所述目标计算节点根据加载的所述第一配置文件,创建并启动第二虚拟机,所述第二预设阈值大于所述第一预设阈值。
11.一种虚拟机创建装置,其特征在于,装置位于应用于服务集群的目标计算节点,所述装置包括:
第一加载模块,用于响应于接收到的配置文件加载请求,加载第一虚拟机的第一配置文件,所述配置文件加载请求,是控制节点在确定所述第一虚拟机的虚拟机资源利用率,大于或等于第一预设阈值的情况下生成的,所述第一虚拟机是在所述服务集群的计算节点中运行的虚拟机,,所述第一配置文件是在所述第一虚拟机运行过程中,对所述第一虚拟机进行快照得到的配置文件;
创建模块,用于响应于接收到的虚拟机创建请求,根据加载的所述第一配置文件,创建并启动第二虚拟机,所述虚拟机创建请求,是所述控制节点在确定所述虚拟机资源利用率,大于或等于第二预设阈值的情况下生成的,所述第二预设阈值大于所述第一预设阈值。
12.一种电子设备,其特征在于,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1-9中任一所述的方法。
13.一种可读存储介质,其特征在于,当所述可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行权利要求1-9中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311589806.4A CN117762557A (zh) | 2023-11-24 | 2023-11-24 | 虚拟机创建方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311589806.4A CN117762557A (zh) | 2023-11-24 | 2023-11-24 | 虚拟机创建方法、装置、电子设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117762557A true CN117762557A (zh) | 2024-03-26 |
Family
ID=90313393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311589806.4A Pending CN117762557A (zh) | 2023-11-24 | 2023-11-24 | 虚拟机创建方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117762557A (zh) |
-
2023
- 2023-11-24 CN CN202311589806.4A patent/CN117762557A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11593149B2 (en) | Unified resource management for containers and virtual machines | |
CN110389900B (zh) | 一种分布式数据库集群测试方法、装置及存储介质 | |
US20230308525A1 (en) | Embedded database as a microservice for distributed container cloud platform | |
EP3761170B1 (en) | Virtual machine creation method and apparatus | |
CN110417613B (zh) | 基于Jmeter的分布式性能测试方法、装置、设备及存储介质 | |
RU2429529C2 (ru) | Динамическое конфигурирование, выделение и развертывание вычислительных систем | |
US8370802B2 (en) | Specifying an order for changing an operational state of software application components | |
CN111641515B (zh) | Vnf的生命周期管理方法及装置 | |
US20180143856A1 (en) | Flexible job management for distributed container cloud platform | |
CN109298868B (zh) | 测绘影像数据处理软件智能动态部署及卸载方法 | |
JP4141875B2 (ja) | リカバリ処理方法及びその実施システム並びにその処理プログラム | |
CN113032085A (zh) | 云操作系统的管理方法、装置、服务器、管理系统及介质 | |
CN104750573A (zh) | 分布式数据系统数据节点的全局一致性备份和还原方法 | |
US7882232B2 (en) | Rapid resource provisioning with automated throttling | |
CN112463290A (zh) | 动态调整计算容器的数量的方法、系统、装置和存储介质 | |
CN110673933A (zh) | 基于ZooKeeper的分布式异步队列实现方法、装置、设备及介质 | |
CN112153126A (zh) | 一种针对k8s集群的部署和节点管理方法和系统 | |
CN116541142A (zh) | 任务调度方法、装置、设备、存储介质及计算机程序产品 | |
CN114006815B (zh) | 云平台节点的自动化部署方法、装置、节点及存储介质 | |
JP6859463B2 (ja) | 仮想マシンを起動させるための方法、装置、デバイス及び媒体 | |
CN117076096A (zh) | 任务流程的执行方法、装置、计算机可读介质及电子设备 | |
CN113313353A (zh) | 一种持续交付流水线管理方法及装置 | |
CN111767126A (zh) | 分布式批量处理的系统和方法 | |
WO2015184902A1 (zh) | 一种智能分屏的并发处理方法及相应的智能终端 | |
CN117762557A (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 |