CN117472516B - 虚拟资源调度方法、装置、集群系统、电子设备和介质 - Google Patents
虚拟资源调度方法、装置、集群系统、电子设备和介质 Download PDFInfo
- Publication number
- CN117472516B CN117472516B CN202311816266.9A CN202311816266A CN117472516B CN 117472516 B CN117472516 B CN 117472516B CN 202311816266 A CN202311816266 A CN 202311816266A CN 117472516 B CN117472516 B CN 117472516B
- Authority
- CN
- China
- Prior art keywords
- host
- virtual
- resource
- virtual entity
- determining
- 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.)
- Active
Links
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/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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- 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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请提供了一种虚拟资源调度方法、装置、集群系统、电子设备和介质,涉及计算机技术领域,其中方法包括:确定待调度的虚拟实体;基于虚拟机和容器对主机的共同资源请求对集群系统中的各个主机进行资源匹配判断,确定虚拟实体对应的第一候选主机列表;确定虚拟实体对应的资源类型,并基于资源类型对主机的专属资源请求对第一候选主机列表中的各个主机进行资源匹配判断,确定虚拟实体对应的第二候选主机列表;基于第二候选主机列表中各个主机的虚拟实体开启记录,确定虚拟实体对应的目标主机,并在目标主机中开启虚拟实体。本申请提供的方法和装置,实现了对集群系统中的虚拟机和容器进行统一调度。
Description
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种虚拟资源调度方法、装置、集群系统、电子设备和介质。
背景技术
服务器虚拟化技术是指利用虚拟化技术充分发挥服务器的硬件性能。虚拟化系统中包含多种物理资源,包括主机资源、存储资源和网络资源等。虚拟化系统中运行的虚拟资源主要包括虚拟机和容器。
通常使用虚拟机资源框架对虚拟机进行调度,而采用容器管理平台(例如Kubernetes,简称K8s)对容器进行调度。这样就会导致对于相同的物理资源,针对其上运行的两种不同的虚拟资源存在两套调度系统,这会导致对于物理资源的重复计算,使得物理资源无法进行统一调度,造成物理资源冲突,从而导致虚拟机或容器无法正常运行。
因此,如何对虚拟机和容器进行统一调度,避免出现物理资源冲突成为业界亟待解决的技术问题。
发明内容
本申请提供一种虚拟资源调度方法、装置、集群系统、电子设备和介质,用于解决如何对虚拟机和容器进行统一调度,避免出现物理资源冲突的技术问题。
本申请提供一种虚拟资源调度方法,包括:
确定待调度的虚拟实体;所述虚拟实体的资源类型包括虚拟机或者容器;
基于虚拟机和容器对主机的共同资源请求对集群系统中的各个主机进行资源匹配判断,确定所述虚拟实体对应的第一候选主机列表;
确定所述虚拟实体对应的资源类型,并基于所述资源类型对主机的专属资源请求对所述第一候选主机列表中的各个主机进行资源匹配判断,确定所述虚拟实体对应的第二候选主机列表;
基于所述第二候选主机列表中各个主机的虚拟实体开启记录,确定所述虚拟实体对应的目标主机,并在所述目标主机中开启所述虚拟实体。
在一些实施例中,所述确定待调度的虚拟实体,包括:
接收虚拟资源调度请求;
确定所述虚拟资源调度请求对应的虚拟实体;
将所述虚拟实体添加至所述集群系统中的待调度任务队列;
基于预设查询周期对所述待调度任务队列进行查询,将位于所述待调度任务队列的队首位置的虚拟实体确定为待调度的虚拟实体。
在一些实施例中,所述接收虚拟资源调度请求之前,所述方法还包括:
确定所述集群系统中运行的容器管理平台;
在所述容器管理平台中禁用容器调度引擎。
在一些实施例中,所述确定所述虚拟资源调度请求对应的虚拟实体,包括:
对所述虚拟资源调度请求进行解析,确定所述虚拟资源调度请求对应的属性信息;所述属性信息包括虚拟资源的标识、名称、状态、类型、虚拟磁盘列表、虚拟网卡列表、主机信息和密级标识中的至少一种;
基于所述属性信息,创建所述虚拟资源调度请求对应的虚拟实体。
在一些实施例中,所述基于虚拟机和容器对主机的共同资源请求对集群系统中的各个主机进行资源匹配判断,确定所述虚拟实体对应的第一候选主机列表,包括:
遍历所述集群系统,确定所述集群系统对应的主机列表;
基于虚拟机和容器对主机的共同资源请求对所述主机列表中的各个主机进行资源匹配判断;
在任一主机满足所述共同资源请求中的各个资源请求的情况下,将所述任一主机添加至所述虚拟实体对应的第一候选主机列表。
在一些实施例中,所述基于虚拟机和容器对主机的共同资源请求对所述主机列表中的各个主机进行资源匹配判断之后,所述方法还包括:
在任一主机不满足所述共同资源请求中的任一资源请求的情况下,将所述任一主机确定为非候选主机。
在一些实施例中,所述共同资源请求包括主机未开启处理器绑定、主机的剩余内存容量满足虚拟实体的内存容量需求、主机的存储容量满足虚拟实体的存储容量需求、主机在所述集群系统中未开启主机绑定、主机的网卡满足虚拟实体的网络资源需求和主机的密级标识与虚拟实体的密级标识一致中的至少一种。
在一些实施例中,所述基于所述资源类型对主机的专属资源请求对所述第一候选主机列表中的各个主机进行资源匹配判断,确定所述虚拟实体对应的第二候选主机列表,包括:
在所述资源类型为虚拟机的情况下,基于虚拟机对主机的专属资源请求对所述第一候选主机列表中的各个主机进行资源匹配判断,确定所述虚拟实体对应的第二候选主机列表;
或者,在所述资源类型为容器的情况下,基于容器对主机的专属资源请求对所述第一候选主机列表中的各个主机进行资源匹配判断,确定所述虚拟实体对应的第二候选主机列表。
在一些实施例中,所述虚拟机对主机的专属资源请求包括:
在主机使用裸设备存储作为系统盘的情况下,所述裸设备存储不支持主机迁移,以及在主机使用通用串行总线设备的情况下,所述通用串行总线设备不支持主机迁移。
在一些实施例中,所述容器对主机的专属资源请求包括:
主机中运行的容器管理平台已初始化且处于启用状态,以及容器对应的运行目录的利用率小于预设利用率阈值。
在一些实施例中,所述基于所述第二候选主机列表中各个主机的虚拟实体开启记录,确定所述虚拟实体对应的目标主机,包括:
遍历所述第二候选主机列表中各个主机的虚拟实体开启记录,确定各个主机开启虚拟实体的失败次数;
在任一主机开启虚拟实体的失败次数为零的情况下,将所述任一主机确定为所述虚拟实体对应的目标主机。
在一些实施例中,所述确定各个主机开启虚拟实体的失败次数之后,所述方法还包括:
在所述第二候选主机列表中各个主机开启虚拟实体的失败次数均不为零的情况下,基于各个主机开启虚拟实体的失败次数确定各个主机的开启优先级;所述开启优先级与所述失败次数为负相关关系;
将最高开启优先级对应的主机确定为所述虚拟实体对应的目标主机。
在一些实施例中,所述基于各个主机开启虚拟实体的失败次数确定各个主机的开启优先级之后,所述方法还包括:
在各个主机的开启优先级相同的情况下,获取各个主机的剩余内存容量;
将最高剩余内存容量对应的主机确定为所述虚拟实体对应的目标主机。
在一些实施例中,所述在所述目标主机中开启所述虚拟实体之后,所述方法还包括:
确定所述虚拟实体在所述目标主机中的开启结果;
在所述开启结果为成功的情况下,将所述目标主机的虚拟实体开启记录中开启虚拟实体的失败次数清零。
在一些实施例中,所述确定所述虚拟实体在所述目标主机中的开启结果之后,所述方法还包括:
在所述开启结果为失败的情况下,将所述目标主机的虚拟实体开启记录中开启虚拟实体的失败次数进行加一操作。
在一些实施例中,所述确定所述虚拟实体对应的第一候选主机列表之后,所述方法还包括:
在所述第一候选主机列表为空的情况下,生成所述虚拟实体对应的第一调度失败信息;
所述第一调度失败信息包括所述虚拟实体的资源类型,以及所述共同资源请求对集群系统中的各个主机的资源匹配判断结果。
在一些实施例中,所述确定所述虚拟实体对应的第二候选主机列表之后,所述方法还包括:
在所述第二候选主机列表为空的情况下,生成所述虚拟实体对应的第二调度失败信息;
所述第二调度失败信息包括所述虚拟实体的资源类型,以及所述专属资源请求对所述第一候选主机列表中的各个主机的资源匹配判断结果。
本申请提供一种虚拟资源调度装置,包括:
确定单元,用于确定待调度的虚拟实体;所述虚拟实体的资源类型包括虚拟机或者容器;
第一检测单元,用于基于虚拟机和容器对主机的共同资源请求对集群系统中的各个主机进行资源匹配判断,确定所述虚拟实体对应的第一候选主机列表;
第二检测单元,用于确定所述虚拟实体对应的资源类型,并基于所述资源类型对主机的专属资源请求对所述第一候选主机列表中的各个主机进行资源匹配判断,确定所述虚拟实体对应的第二候选主机列表;
调度单元,用于基于所述第二候选主机列表中各个主机的虚拟实体开启记录,确定所述虚拟实体对应的目标主机,并在所述目标主机中开启所述虚拟实体。
本申请提供一种集群系统,包括所述的虚拟资源调度装置,以及多个主机;
所述主机与所述虚拟资源调度装置连接,用于开启待调度的虚拟实体。
本申请提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现所述的虚拟资源调度方法。
本申请提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述的虚拟资源调度方法。
本申请提供的虚拟资源调度方法、装置、集群系统、电子设备和介质,确定待调度的虚拟实体;基于虚拟机和容器对主机的共同资源请求对集群系统中的各个主机进行资源匹配判断,确定虚拟实体对应的第一候选主机列表;确定虚拟实体对应的资源类型,并基于资源类型对主机的专属资源请求对第一候选主机列表中的各个主机进行资源匹配判断,确定虚拟实体对应的第二候选主机列表;基于第二候选主机列表中各个主机的虚拟实体开启记录,确定虚拟实体对应的目标主机,并在目标主机中开启虚拟实体;由于采用了共同资源请求和专属资源请求对集群系统中的各个主机进行资源匹配判断,从集群系统中的各个主机中筛选得到了候选主机,并根据候选主机的虚拟实体开启记录确定目标主机,实现了对集群系统中的虚拟机和容器进行统一调度,避免了对主机资源进行重复计算,避免了在调度时出现主机资源冲突,保障了虚拟机和容器在集群系统中正常开启和运行。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的虚拟资源调度方法的流程示意图;
图2是本申请提供的虚拟资源调度装置的结构示意图;
图3是本申请提供的集群系统的结构示意图;
图4是本申请提供的虚拟机和容器的混合调度装置的结构示意图;
图5是本申请提供的虚拟机和容器的混合调度方法的流程示意图;
图6是本申请提供的电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1是本申请提供的虚拟资源调度方法的流程示意图,如图1所示,该方法包括步骤110、步骤120、步骤130和步骤140。
步骤110、确定待调度的虚拟实体;虚拟实体的资源类型包括虚拟机或者容器。
具体地,本申请实施例提供的虚拟资源调度方法的应用对象为集群系统。集群系统是指将多台计算机或服务器通过网络连接在一起,以实现高性能、高可用性和可伸缩性的系统。它们可以共同工作并提供服务,以达到更高的计算能力、存储能力和可靠性。该系统中的每台计算机或服务器被称为主机或节点。
本申请实施例提供的方法的执行主体可以为虚拟资源调度装置。该装置可以通过软件实现,例如运行在集群系统中的虚拟资源调度程序;也可以为执行虚拟资源调度方法的装置,例如移动终端、平板电脑、台式计算机或者服务器等。
在本申请实施例中,需要区分物理机、虚拟机和容器。物理机是指一台真实的计算机硬件设备,包括处理器、内存、存储设备、网络接口等物理组件。它是通过硬件实现计算和存储功能的实体设备,可以独立运行操作系统和应用程序。虚拟机是一种由虚拟化技术创建的逻辑计算机环境,它在物理机上模拟了一个完整的计算机系统,包括处理器、内存、存储和网络接口等。每个虚拟机都可以运行自己的操作系统和应用程序,就像独立的物理机一样。虚拟机技术使得在一台物理机上可以同时运行多个独立的虚拟机,每个虚拟机都可以拥有自己独立的操作系统和应用程序,互相之间相互隔离。容器也是一种虚拟化技术,允许多个应用或服务在同一操作系统上运行,每个应用或服务都被包装到一个独立的容器中。容器提供了一种轻量级、可移植和可扩展的方式来封装和部署应用程序和服务。在本申请实施例中,虚拟资源是指在集群系统中运行的虚拟机和容器。
虚拟实体是指虚拟资源对应的实体类。实体类用于表示具有相似属性和行为的对象集合。从资源类型来看,虚拟实体可以包括虚拟机和容器。例如可以定义一个虚拟机作为虚拟实体,该实体包含了虚拟机的属性(标识、名称和状态等)和行为(创建、开启和运行等)。
步骤120、基于虚拟机和容器对主机的共同资源请求对集群系统中的各个主机进行资源匹配判断,确定虚拟实体对应的第一候选主机列表。
具体地,在本申请实施例中,主机是指集群系统中的物理机,例如计算机或者服务器等。资源请求是指申请使用资源的行为。在本申请实施例中,资源请求是指运行虚拟机或者容器对主机资源的请求,此处主机资源可以包括处理器资源、存储资源、网络资源和设备资源等。
共同资源请求是指虚拟机和容器在主机中运行时对主机资源的共同请求。可以根据虚拟机在主机中运行时对主机资源的请求和容器在主机中运行时对主机资源的请求进行分析,将其中的共同请求确定为共同资源请求。
可以根据共同资源请求对集群系统中各个主机所能提供的资源进行匹配判断,确定各个主机是否能够提供满足共同资源请求的主机资源。如果任一主机能够提供满足共同资源请求的主机资源,则将该主机确定为第一候选主机,并添加至第一候选主机列表;如果任一主机不能提供满足共同资源请求的主机资源,则将该主机确定为非第一候选主机。
在对集群系统中所有主机进行资源匹配判断后,可以得到第一候选主机列表。第一候选主机列表是满足共同资源请求的所有第一候选主机的清单。
步骤130、确定虚拟实体对应的资源类型,并基于资源类型对主机的专属资源请求对第一候选主机列表中的各个主机进行资源匹配判断,确定虚拟实体对应的第二候选主机列表。
具体地,专属资源请求是指不同资源类型的虚拟实体在主机中运行时对主机资源的请求,可以分别根据不同资源类型的虚拟实体在主机中运行时对主机资源的需求进行确定。例如由于虚拟机需要模拟完整的硬件环境,因此会占用较多的资源(尤其是内存),而容器则可以共享主机的内核和其他资源。两种类型的虚拟实体对主机资源的请求是不同的。
可以先确定虚拟实体对应的资源类型,并获取该资源类型对应的专属资源请求。然后根据专属资源请求对第一候选主机列表中的各个主机所能提供的资源进行评估判断,确定各个主机是否能够提供满足专属资源请求的主机资源。
如果第一候选主机列表中的任一主机能够提供满足专属资源请求的主机资源,则将该主机确定为第二候选主机,并添加至第二候选主机列表;如果任一主机不能提供满足专属资源请求的主机资源,则将该主机确定为非第二候选主机。
在对第一候选主机列表中的所有第一候选主机进行资源匹配判断后,可以得到第二候选主机列表。第二候选主机列表是满足专属资源请求的所有第二候选主机的清单。
步骤140、基于第二候选主机列表中各个主机的虚拟实体开启记录,确定虚拟实体对应的目标主机,并在目标主机中开启虚拟实体。
具体地,虚拟实体开启记录是指在主机中开启虚拟实体的历史记录。例如虚拟实体开启记录可以包括开启虚拟实体的失败次数、开启虚拟实体的成功次数和开启虚拟实体的资源类型等信息。
目标主机是指被调度用来开启和运行待调度的虚拟实体的主机。如果第二候选主机列表为空,则表明集群系统中不存在满足资源请求可以运行待调度的虚拟实体的主机。如果第二候选主机列表中仅有一台可用的主机,则可以直接将该主机确定为虚拟实体对应的目标主机。
在第二候选主机列表包括多个可用的主机的情况下,则可以获取各个主机的虚拟实体开启记录,根据这些记录确定虚拟实体对应的目标主机。例如可以对各个主机的虚拟实体开启记录中的开启虚拟实体的失败次数进行比较,将失败次数最少的主机确定为虚拟实体对应的目标主机。
在确定目标主机后,可以在目标主机中开启并运行待调度的虚拟实体,实现对该虚拟实体的调度。
在集群系统中,各个主机上允许运行虚拟机、容器或者同时运行虚拟机和容器。相比于通过虚拟机资源框架对虚拟机进行调度和通过容器管理平台对容器进行调度,本申请实施例提供的虚拟资源调度方法可以对虚拟机和容器进行统一管理。
本申请实施例提供的虚拟资源调度方法,确定待调度的虚拟实体;基于虚拟机和容器对主机的共同资源请求对集群系统中的各个主机进行资源匹配判断,确定虚拟实体对应的第一候选主机列表;确定虚拟实体对应的资源类型,并基于资源类型对主机的专属资源请求对第一候选主机列表中的各个主机进行资源匹配判断,确定虚拟实体对应的第二候选主机列表;基于第二候选主机列表中各个主机的虚拟实体开启记录,确定虚拟实体对应的目标主机,并在目标主机中开启虚拟实体;由于采用了共同资源请求和专属资源请求对集群系统中的各个主机进行资源匹配判断,从集群系统中的各个主机中筛选得到了候选主机,并根据候选主机的虚拟实体开启记录确定目标主机,实现了对集群系统中的虚拟机和容器进行统一调度,避免了对主机资源进行重复计算,避免了在调度时出现主机资源冲突,保障了虚拟机和容器在集群系统中正常开启和运行。
需要说明的是,本申请每一个实施方式可以自由组合、调换顺序或者单独执行,并不需要依靠或依赖固定的执行顺序。
在一些实施例中,步骤110包括:
接收虚拟资源调度请求;
确定虚拟资源调度请求对应的虚拟实体;
将虚拟实体添加至集群系统中的待调度任务队列;
基于预设查询周期对待调度任务队列进行查询,将位于待调度任务队列的队首位置的虚拟实体确定为待调度的虚拟实体。
具体地,用户可以在集群系统中触发开启虚拟机或者容器。例如用户可以在集群系统中的创建界面中选择需要开启的虚拟机或者容器,响应于用户在创建界面中的选择或者输入,创建界面生成虚拟资源调度请求,并发送至虚拟资源调度装置。虚拟资源调度请求用于请求在集群系统中对各个主机进行调度,确定用于开启和运行虚拟实体的目标主机。
虚拟资源调度装置对接收到的虚拟资源调度请求进行解析,根据虚拟资源调度请求中的信息,确定虚拟资源调度请求对应的虚拟实体。虚拟资源调度请求可以用来请求开启一个虚拟实体,也可以用来请求开启一组虚拟实体。
在集群系统的运行中,通常会面临用户批量开启虚拟实体(虚拟机或者容器)的场景,在此多任务并发场景下,如果不统一调度进行控制,这些虚拟机或者容器必然会出现主机资源冲突。
虚拟资源调度装置可以创建待调度任务队列,用来对确定的虚拟实体进行管理。待调度任务队列中的每个条目对应一个虚拟实体。虚拟资源调度装置可以按照虚拟资源调度请求的接收时间,将虚拟资源调度请求对应的虚拟实体添加至待调度任务队列的队尾位置。
虚拟资源调度装置可以根据预设查询周期对待调度任务队列进行查询,每次将位于待调度任务队列的队首位置的虚拟实体确定为待调度的虚拟实体。预设查询周期可以根据需要进行设置,例如可以为2秒。
对相同的主机资源,可以统一调度分配,避免出现虚拟机和容器发生冲突或者重复分配的情况。例如内存,如果不统一调度并且并发控制,批量开启虚拟机或者容器时,就会发生主机内存超分配,到达一定程度就会导致开启失败或者主机性能下降,并且会出现某些主机资源严重不足,某些主机资源大量剩余的情况。
本申请实施例提供的虚拟资源调度方法,通过待调度任务队列对虚拟资源调度请求对应的虚拟实体进行管理,可以在集群系统中面临批量开启虚拟实体的情况下有序地确定待调度的虚拟实体,实现了对集群系统中的虚拟机和容器进行统一调度,避免了对主机资源进行重复计算,避免了在调度时出现主机资源冲突。
在一些实施例中,接收虚拟资源调度请求之前,方法还包括:
确定集群系统中运行的容器管理平台;
在容器管理平台中禁用容器调度引擎。
具体地,在集群系统中运行有容器管理平台。容器管理平台用于管理集群系统中多个主机上的容器化的应用。例如容器管理平台可以为K8s(Kubernetes)或者K3s(轻量级Kubernetes)等容器编排引擎。容器管理平台通常会配置容器调度引擎,并在集群系统中对所有的容器化应用进行自动化调度。如果允许容器调度引擎对容器进行自动化调度,将使得容器调度引擎和虚拟资源调度装置产生冲突,无法实现对集群系统中的虚拟机和容器进行统一调度。
因此,在接收虚拟资源调度请求之前,可以在容器管理平台中禁用容器调度引擎,从而使集群系统中仅有虚拟资源调度装置对容器进行调度。
本申请实施例提供的虚拟资源调度方法,通过在容器管理平台中禁用容器调度引擎,避免容器调度引擎和虚拟资源调度装置产生冲突,实现了对集群系统中的虚拟机和容器进行统一调度,避免了对主机资源进行重复计算,避免了在调度时出现主机资源冲突。
在一些实施例中,确定虚拟资源调度请求对应的虚拟实体,包括:
对虚拟资源调度请求进行解析,确定虚拟资源调度请求对应的属性信息;属性信息包括虚拟资源的标识、名称、状态、类型、虚拟磁盘列表、虚拟网卡列表、主机信息和密级标识中的至少一种;
基于属性信息,创建虚拟资源调度请求对应的虚拟实体。
具体地,在接收虚拟资源调度请求后,可以对虚拟资源调度请求进行解析,提取属性信息。这些属性信息用于对虚拟资源的调度特征进行描述。例如可以包括虚拟资源的标识、名称、状态、类型、虚拟磁盘列表、虚拟网卡列表、主机信息和密级标识等。
标识用于对虚拟资源进行唯一识别。名称为虚拟资源在集群系统中的名称。状态为虚拟资源在集群系统中的状态,可以包括创建、删除、开启、停止和运行等。类型为虚拟资源的资源类型,包括虚拟机和容器。虚拟磁盘列表是指在虚拟化环境中用于存储虚拟机或者容器的磁盘映像文件的列表。虚拟网卡列表是指在虚拟化环境中用于连接虚拟机或者容器到网络的虚拟网卡设备列表。主机信息可以包括虚拟资源是否绑定主机、绑定主机的内存、绑定主机的处理器和绑定主机的标识等。密级标识是指对数据进行分类和标记,以明确数据的保密等级和访问权限的标志。
根据这些属性信息,可以对虚拟资源调度请求对应的虚拟资源进行抽象表示,创建虚拟资源调度请求对应的虚拟实体。
本申请实施例提供的虚拟资源调度方法,对虚拟资源调度请求进行解析,确定虚拟资源调度请求对应的属性信息,并根据属性信息创建虚拟实体,可以对虚拟实体进行准确地表示。
在一些实施例中,步骤120包括:
遍历集群系统,确定集群系统对应的主机列表;
基于虚拟机和容器对主机的共同资源请求对主机列表中的各个主机进行资源匹配判断;
在任一主机满足共同资源请求中的各个资源请求的情况下,将任一主机添加至虚拟实体对应的第一候选主机列表。
具体地,可以对集群系统中的各个主机进行遍历,确定集群系统对应的主机列表。例如可以按照各个主机的主机标识的顺序,对各个主机进行遍历,获取各个主机的状态,将状态为可用的主机添加至主机列表。
确定虚拟机和容器对主机的共同资源请求,这些共同资源请求可以包括两种不同类型的虚拟资源对主机处理器、内存和存储等方面的共同请求。
根据共同资源请求对主机列表中的各个主机进行资源匹配判断,将各个主机所能提供的资源与共同资源请求中的资源需求进行匹配,判断各个主机是否能够提供满足共同资源请求的资源。
共同资源请求可能包括多个资源请求,例如处理器资源请求、内存资源请求、存储资源请求和网络资源请求等。将任一主机所能提供的各类资源与共同资源请求中的各个资源请求进行匹配,如果该主机满足共同资源请求中的各个资源请求,则可以将该主机确定为第一候选主机,并将该主机添加至虚拟实体对应的第一候选主机列表。
本申请实施例提供的虚拟资源调度方法,根据虚拟机和容器对主机的共同资源请求对主机列表中的各个主机进行资源匹配判断,实现了对集群系统中的各个主机的筛选,实现了对集群系统中的主机资源进行统一计算,避免了对主机资源进行重复计算,避免了在调度时出现主机资源冲突。
在一些实施例中,基于虚拟机和容器对主机的共同资源请求对主机列表中的各个主机进行资源匹配判断之后,方法还包括:
在任一主机不满足共同资源请求中的任一资源请求的情况下,将任一主机确定为非候选主机。
具体地,对于共同资源请求中的多个资源请求,如果任一主机不满足任一资源请求,则可以认为该主机无法提供虚拟机或者容器所需的资源,将该主机确定为非候选主机(此处为非第一候选主机)。
本申请实施例提供的虚拟资源调度方法,在任一主机不满足共同资源请求中的任一资源请求的情况下,确定该主机不满足共同资源请求,实现了对集群系统中的主机资源进行统一计算,避免了对主机资源进行重复计算,避免了在调度时出现主机资源冲突。
在一些实施例中,共同资源请求包括主机未开启处理器绑定、主机的剩余内存容量满足虚拟实体的内存容量需求、主机的存储容量满足虚拟实体的存储容量需求、主机在集群系统中未开启主机绑定、主机的网卡满足虚拟实体的网络资源需求和主机的密级标识与虚拟实体的密级标识一致中的至少一种。
具体地,共同资源请求实质上提供了虚拟机和容器对主机都具备的约束条件或者过滤条件,调度两者都需要执行这些约束条件或者过滤条件。
主机未开启处理器绑定是指作为候选主机,该主机没有开启处理器(CentralProcessing Unit,CPU)绑定,因此允许运行虚拟机或者容器。
内存通常是指主机中用于临时存储数据和程序的物理硬件设备。而存储通常是指主机中用于长期保存数据的物理硬件设备。
虚拟实体运行时需要一定的内存容量,因此主机的剩余内存容量应满足虚拟实体的内存容量需求,也就是主机的剩余内存容量应该大于或者等于虚拟实体的内存容量需求。
虚拟实体在运行时会产生一定的数据,需要主机提供存储容量。因此,主机提供的存储容量应满足虚拟实体的存储容量需求。
在虚拟化环境中,主机绑定通常是指将虚拟机的MAC(Media Access ControlAddress)地址和IP(Internet Protocol)地址与宿主主机进行绑定,以确保虚拟机在网络中有唯一的标识并能够正常通信。
主机在集群系统中未开启主机绑定是指主机未与其他虚拟机进行绑定,允许运行虚拟机或者容器。
主机的网卡满足虚拟实体的网络资源需求是指主机的网卡应提供足够的带宽和速率,支持虚拟化技术,以满足虚拟实体对网络流量的需求。
主机的密级标识与虚拟实体的密级标识一致是指在有安全要求的情况下,主机的安全保密等级与虚拟实体的安全保密等级要保持一致,从而可以有效地保护和管理敏感数据,防止数据泄露和不当访问。
本申请实施例提供的虚拟资源调度方法,从虚拟机和容器对主机的资源要求出发,确定多个共同资源请求,便于实现对集群系统中的各个主机的筛选。
在一些实施例中,步骤130包括:
在资源类型为虚拟机的情况下,基于虚拟机对主机的专属资源请求对第一候选主机列表中的各个主机进行资源匹配判断,确定虚拟实体对应的第二候选主机列表;
或者,在资源类型为容器的情况下,基于容器对主机的专属资源请求对第一候选主机列表中的各个主机进行资源匹配判断,确定虚拟实体对应的第二候选主机列表。
具体地,考虑到不同资源类型的虚拟资源在共同资源请求之外,对于主机还存在不同的专属资源请求。专属资源请求与资源类型相关。
可以先确定虚拟实体的资源类型。如果虚拟实体的资源类型为虚拟机,则可以获取虚拟机对主机的专属资源请求,根据该专属资源请求对第一候选主机列表中的各个主机进行资源匹配判断,将满足该专属资源请求的主机作为第二候选主机,并加入第二候选主机列表;如果任一主机不满足该专属资源请求中的任一资源请求,则将该主机确定为非第二候选主机。
如果虚拟实体的资源类型为容器,则可以获取容器对主机的专属资源请求,根据该专属资源请求对第一候选主机列表中的各个主机进行资源匹配判断,将满足该专属资源请求的主机作为第二候选主机,并加入第二候选主机列表;如果任一主机不满足该专属资源请求中的任一资源请求,则将该主机确定为非第二候选主机。
本申请实施例提供的虚拟资源调度方法,根据资源类型确定对应的专属资源请求,对第一候选主机列表中的各个主机进行资源匹配判断,实现了对集群系统中的主机资源进行统一计算,避免了对主机资源进行重复计算,避免了在调度时出现主机资源冲突。
在一些实施例中,虚拟机对主机的专属资源请求包括:
在主机使用裸设备存储作为系统盘的情况下,裸设备存储不支持主机迁移,以及在主机使用通用串行总线设备的情况下,通用串行总线设备不支持主机迁移。
具体地,裸设备存储是指将存储设备直接映射到虚拟机,而不对其进行任何抽象和封装的一种存储方式。在裸设备存储中,虚拟机可以直接访问物理设备上的数据,从而可以获得更高的性能和更低的延迟。在主机使用裸设备存储作为系统盘的情况下,该裸设备存储应该不支持主机迁移,否则虚拟机将无法访问主机迁移后的数据。
通用串行总线(Universal Serial Bus,USB)设备是一种常见的电脑外部设备连接接口,用于连接键盘、鼠标、打印机、存储设备等各种外部硬件设备。在主机使用通用串行总线设备的情况下,通用串行总线设备不支持主机迁移,否则虚拟机将无法访问主机迁移后的通用串行总线设备。
本申请实施例提供的虚拟资源调度方法,根据虚拟机对主机迁移中的硬件资源要求进行了限制,使得虚拟机能够顺利在所筛选的主机中开启。
在一些实施例中,容器对主机的专属资源请求包括:
主机中运行的容器管理平台已初始化且处于启用状态,以及容器对应的运行目录的利用率小于预设利用率阈值。
具体地,主机中运行的容器管理平台已初始化且处于启用状态,表明主机中允许开启容器,并能够提供容器运行的基本配置条件。
另外,在容器运行时,需要在主机中设置运行目录,也称工作目录(workingdirectory)。当容器开启时,会默认进入这个运行目录,这是容器中应用程序的基础目录。一旦进入了运行目录,容器中的命令和应用程序都会在这个目录下执行,这样可以使得容器内的操作更加方便和统一。如果该运行目录的利用率大于或者等于预设利用率阈值,则表明主机已经无法运行更多的容器。因此,容器对应的运行目录的利用率应该小于预设利用率阈值。预设利用率阈值可以根据需要进行设置,例如90%。运行目录的利用率是指运行目录对应的存储空间的利用率。
本申请实施例提供的虚拟资源调度方法,根据容器对主机迁移中的硬件资源要求进行了限制,使得容器能够顺利在所筛选的主机中开启。
在一些实施例中,步骤140包括:
遍历第二候选主机列表中各个主机的虚拟实体开启记录,确定各个主机开启虚拟实体的失败次数;
在任一主机开启虚拟实体的失败次数为零的情况下,将任一主机确定为虚拟实体对应的目标主机。
具体地,在第二候选主机列表包括多个可用的主机的情况下,可以根据虚拟实体开启记录确定虚拟实体对应的目标主机。可以按照以下步骤进行:
步骤一、遍历主机列表
逐个遍历第二候选主机列表中的各个主机。
步骤二、获取虚拟实体开启记录
针对每个主机,获取其对应的虚拟实体开启记录,记录中包括失败的开启记录。
步骤三、统计失败次数
统计每个主机开启虚拟实体的失败次数,即统计该主机开启记录中失败的次数。
步骤四、检查失败次数
主机开启虚拟实体的失败次数为零,可以认为该主机所提供的资源足以开启和运行虚拟机或者容器,或者虚拟机或者容器在该主机中开启的成功率较高。
检查每个主机的失败次数,如果发现有任一主机的失败次数为零,则将该主机确定为虚拟实体对应的目标主机。
如果多个主机的失败次数为零,则可以从这些主机中随机选择一个主机作为目标主机;也可以根据各个主机可提供的处理器资源、内存资源、存储资源和网络资源等进行排序,将提供资源最多的主机作为目标主机。
本申请实施例提供的虚拟资源调度方法,根据各个主机开启虚拟实体的失败次数确定目标主机,提高了虚拟资源调度的成功率。
在一些实施例中,确定各个主机开启虚拟实体的失败次数之后,方法还包括:
在第二候选主机列表中各个主机开启虚拟实体的失败次数均不为零的情况下,基于各个主机开启虚拟实体的失败次数确定各个主机的开启优先级;开启优先级与失败次数为负相关关系;
将最高开启优先级对应的主机确定为虚拟实体对应的目标主机。
具体地,在第二候选主机列表中各个主机开启虚拟实体的失败次数均不为零的情况下,可以根据各个主机开启虚拟实体的失败次数的高低,确定各个主机的开启优先级。
开启优先级用于衡量各个主机开启待调度的虚拟实体的优先程度。开启优先级越高,则对应的主机成为目标主机的可能性就越大;开启优先级越小,则对应的主机成为目标主机的可能性就越小。开启优先级与失败次数为负相关关系,表示失败次数越少,虚拟机或者容器在主机中开启的成功率越高,开启优先级也就越高。
可以根据开启优先级,对第二候选主机列表中各个主机进行降序排列,选取最高开启优先级对应的主机,将其作为虚拟实体对应的目标主机。
本申请实施例提供的虚拟资源调度方法,根据各个主机开启虚拟实体的失败次数确定各个主机的开启优先级,实现了对集群系统中的主机进行统一管理和调度,提高了虚拟资源调度的成功率。
在一些实施例中,基于各个主机开启虚拟实体的失败次数确定各个主机的开启优先级之后,方法还包括:
在各个主机的开启优先级相同的情况下,获取各个主机的剩余内存容量;
将最高剩余内存容量对应的主机确定为虚拟实体对应的目标主机。
具体地,第二候选主机列表中的各个主机可能面临开启优先级相同的情况,在此情况下,可以计算各个主机的剩余内存容量。剩余内存容量越高,表明主机提供的内存资源越充足;剩余内存容量越低,表明主机提供的内存资源越有限。剩余内存容量也可以用内存利用率来衡量,在各个主机的总内存容量一致的情况下,内存利用率越低,剩余内存容量越高。
可以根据剩余内存容量,对开启优先级相同的各个主机进行降序排列,选取最高剩余内存容量对应的主机,将其作为虚拟实体对应的目标主机。
本申请实施例提供的虚拟资源调度方法,在各个主机的开启优先级相同的情况下,根据剩余内存容量确定目标主机,实现了对集群系统中的主机进行统一管理和调度,提高了虚拟资源调度的成功率。
在一些实施例中,在目标主机中开启虚拟实体之后,方法还包括:
确定虚拟实体在目标主机中的开启结果;
在开启结果为成功的情况下,将目标主机的虚拟实体开启记录中开启虚拟实体的失败次数清零。
具体地,在目标主机中开启虚拟实体之后,可以获取虚拟实体在目标主机中的开启结果。开启结果可以包括成功或者失败。
如果开始结果为成功,则可以认为目标主机能够提供足够的资源用于开启虚拟机或者容器。因此,可以将目标主机的虚拟实体开启记录中开启虚拟实体的失败次数清零,以便于在下一次虚拟资源调度时,增加集群系统中可用的主机数量,提高虚拟资源调度的成功率。
在一些实施例中,确定虚拟实体在目标主机中的开启结果之后,方法还包括:
在开启结果为失败的情况下,将目标主机的虚拟实体开启记录中开启虚拟实体的失败次数进行加一操作。
具体地,如果开始结果为失败,则可以认为目标主机无法提供足够的资源用于开启虚拟机或者容器。因此,可以将目标主机的虚拟实体开启记录中开启虚拟实体的失败次数进行加一操作,以便于在下一次虚拟资源调度时根据虚拟实体开启记录快速确定该主机是否可用,提高虚拟资源调度的成功率。
在一些实施例中,步骤120之后还包括:
在第一候选主机列表为空的情况下,生成虚拟实体对应的第一调度失败信息;
第一调度失败信息包括虚拟实体的资源类型,以及共同资源请求对集群系统中的各个主机的资源匹配判断结果。
具体地,在进行资源判断时,如果没有找到可用的候选主机,则需要向用户或者集群系统进行反馈,并在反馈信息中对失败原因进行提示。
在第一候选主机列表为空的情况下,表示无可用的第一候选主机,可以生成待调度的虚拟实体对应的第一调度失败信息。第一调度失败信息主要用于对共同资源请求匹配失败进行提示。
从内容上看,第一调度失败信息包括虚拟实体的资源类型,以及共同资源请求对集群系统中的各个主机的资源匹配判断结果。此处,资源匹配判断结果可以为主机对共同资源请求中各个资源请求的匹配结果(满足或者不满足)。
本申请实施例提供的虚拟资源调度方法,在第一候选主机列表为空的情况下,生成虚拟实体对应的第一调度失败信息,对用户或者集群系统进行反馈和报错,便于用户进行快速排查原因,提高了用户对于集群系统的使用体验。
在一些实施例中,确定虚拟实体对应的第二候选主机列表之后,方法还包括:
在第二候选主机列表为空的情况下,生成虚拟实体对应的第二调度失败信息;
第二调度失败信息包括虚拟实体的资源类型,以及专属资源请求对第一候选主机列表中的各个主机的资源匹配判断结果。
具体地,在第二候选主机列表为空的情况下,表示无可用的第二候选主机,可以生成虚拟实体对应的第二调度失败信息。第二调度失败信息主要用于对专属资源请求匹配失败进行提示。
从内容上看,第二调度失败信息包括虚拟实体的资源类型,以及专属资源请求对第一候选主机列表中的各个主机的资源匹配判断结果。此处,资源匹配判断结果可以为主机对专属资源请求中各个资源请求的匹配结果(满足或者不满足)。
本申请实施例提供的虚拟资源调度方法,在第二候选主机列表为空的情况下,生成虚拟实体对应的第二调度失败信息,对用户或者集群系统进行反馈和报错,便于用户进行快速排查原因,提高了用户对于集群系统的使用体验。
下面对本申请实施例提供的装置进行描述,下文描述的装置与上文描述的方法可相互对应参照。
图2是本申请提供的虚拟资源调度装置的结构示意图,如图2所示,虚拟资源调度装置200包括:
确定单元210,用于确定待调度的虚拟实体;虚拟实体的资源类型包括虚拟机或者容器;
第一检测单元220,用于基于虚拟机和容器对主机的共同资源请求对集群系统中的各个主机进行资源匹配判断,确定虚拟实体对应的第一候选主机列表;
第二检测单元230,用于确定虚拟实体对应的资源类型,并基于资源类型对主机的专属资源请求对第一候选主机列表中的各个主机进行资源匹配判断,确定虚拟实体对应的第二候选主机列表;
调度单元240,用于基于第二候选主机列表中各个主机的虚拟实体开启记录,确定虚拟实体对应的目标主机,并在目标主机中开启虚拟实体。
本申请实施例提供的虚拟资源调度装置,确定待调度的虚拟实体;基于虚拟机和容器对主机的共同资源请求对集群系统中的各个主机进行资源匹配判断,确定虚拟实体对应的第一候选主机列表;确定虚拟实体对应的资源类型,并基于资源类型对主机的专属资源请求对第一候选主机列表中的各个主机进行资源匹配判断,确定虚拟实体对应的第二候选主机列表;基于第二候选主机列表中各个主机的虚拟实体开启记录,确定虚拟实体对应的目标主机,并在目标主机中开启虚拟实体;由于采用了共同资源请求和专属资源请求对集群系统中的各个主机进行资源匹配判断,从集群系统中的各个主机中筛选得到了候选主机,并根据候选主机的虚拟实体开启记录确定目标主机,实现了对集群系统中的虚拟机和容器进行统一调度,避免了对主机资源进行重复计算,避免了在调度时出现主机资源冲突,保障了虚拟机和容器在集群系统中正常开启和运行。
在一些实施例中,确定单元用于:
接收虚拟资源调度请求;
确定虚拟资源调度请求对应的虚拟实体;
将虚拟实体添加至集群系统中的待调度任务队列;
基于预设查询周期对待调度任务队列进行查询,将位于待调度任务队列的队首位置的虚拟实体确定为待调度的虚拟实体。
在一些实施例中,确定单元用于:
确定集群系统中运行的容器管理平台;
在容器管理平台中禁用容器调度引擎。
在一些实施例中,确定单元用于:
对虚拟资源调度请求进行解析,确定虚拟资源调度请求对应的属性信息;属性信息包括虚拟资源的标识、名称、状态、类型、虚拟磁盘列表、虚拟网卡列表、主机信息和密级标识中的至少一种;
基于属性信息,创建虚拟资源调度请求对应的虚拟实体。
在一些实施例中,第一检测单元用于:
遍历集群系统,确定集群系统对应的主机列表;
基于虚拟机和容器对主机的共同资源请求对主机列表中的各个主机进行资源匹配判断;
在任一主机满足共同资源请求中的各个资源请求的情况下,将任一主机添加至虚拟实体对应的第一候选主机列表。
在一些实施例中,第一检测单元用于:
在任一主机不满足共同资源请求中的任一资源请求的情况下,将任一主机确定为非候选主机。
在一些实施例中,共同资源请求包括主机未开启处理器绑定、主机的剩余内存容量满足虚拟实体的内存容量需求、主机的存储容量满足虚拟实体的存储容量需求、主机在集群系统中未开启主机绑定、主机的网卡满足虚拟实体的网络资源需求和主机的密级标识与虚拟实体的密级标识一致中的至少一种。
在一些实施例中,第二检测单元用于:
在资源类型为虚拟机的情况下,基于虚拟机对主机的专属资源请求对第一候选主机列表中的各个主机进行资源匹配判断,确定虚拟实体对应的第二候选主机列表;
或者,在资源类型为容器的情况下,基于容器对主机的专属资源请求对第一候选主机列表中的各个主机进行资源匹配判断,确定虚拟实体对应的第二候选主机列表。
在一些实施例中,虚拟机对主机的专属资源请求包括:
在主机使用裸设备存储作为系统盘的情况下,裸设备存储不支持主机迁移,以及在主机使用的通用串行总线设备的情况下,通用串行总线设备不支持主机迁移。
在一些实施例中,容器对主机的专属资源请求包括:
主机中运行的容器管理平台已初始化且处于启用状态,以及容器对应的运行目录的利用率小于预设利用率阈值。
在一些实施例中,调度单元用于:
遍历第二候选主机列表中各个主机的虚拟实体开启记录,确定各个主机开启虚拟实体的失败次数;
在任一主机开启虚拟实体的失败次数为零的情况下,将任一主机确定为虚拟实体对应的目标主机。
在一些实施例中,调度单元用于:
在第二候选主机列表中各个主机开启虚拟实体的失败次数均不为零的情况下,基于各个主机开启虚拟实体的失败次数确定各个主机的开启优先级;开启优先级与失败次数为负相关关系;
将最高开启优先级对应的主机确定为虚拟实体对应的目标主机。
在一些实施例中,调度单元用于:
在各个主机的开启优先级相同的情况下,获取各个主机的剩余内存容量;
将最高剩余内存容量对应的主机确定为虚拟实体对应的目标主机。
在一些实施例中,调度单元用于:
确定虚拟实体在目标主机中的开启结果;
在开启结果为成功的情况下,将目标主机的虚拟实体开启记录中开启虚拟实体的失败次数清零。
在一些实施例中,调度单元用于:
在开启结果为失败的情况下,将目标主机的虚拟实体开启记录中开启虚拟实体的失败次数进行加一操作。
在一些实施例中,该装置还包括:
异常管理单元,用于在第一候选主机列表为空的情况下,生成虚拟实体对应的第一调度失败信息;
第一调度失败信息包括虚拟实体的资源类型,以及共同资源请求对集群系统中的各个主机的判断结果。
在一些实施例中,异常管理单元用于:
在第二候选主机列表为空的情况下,生成虚拟实体对应的第二调度失败信息;
第二调度失败信息包括虚拟实体的资源类型,以及专属资源请求对第一候选主机列表中的各个主机的判断结果。
图3是本申请提供的集群系统的结构示意图,如图3所示,集群系统300包括上述实施例中的虚拟资源调度装置200,以及多个主机310;
主机310与虚拟资源调度装置200连接,用于开启待调度的虚拟实体。
具体地,本申请实施例对于集群系统中的主机数量不作限定。集群系统可以向用户提供客户端。用户可以在客户端向集群系统提交虚拟资源调度请求,用于请求在集群系统中的主机开启虚拟实体。
虚拟资源调度装置执行上述实施例中的虚拟资源调度方法,从多个主机中选择目标主机,将虚拟资源调度请求转发给目标主机。目标主机用于开启待调度的虚拟实体。
本申请实施例提供的集群系统,配置了虚拟资源调度装置,由于采用了共同资源请求和专属资源请求对集群系统中的各个主机进行资源匹配判断,从集群系统中的各个主机中筛选得到了候选主机,并根据候选主机的虚拟实体开启记录确定目标主机,实现了对集群系统中的虚拟机和容器进行统一调度,避免了对主机资源进行重复计算,避免了在调度时出现主机资源冲突,保障了虚拟机和容器在集群系统中正常开启和运行。
图4是本申请提供的虚拟机和容器的混合调度装置的结构示意图,如图4所示,混合调度装置400包括虚拟实体队列管理模块410、调度引擎处理模块420、公共调度检测模块430、虚拟机调度检测模块440、容器调度检测模块450、缓存信息处理模块460、异常信息处理模块470和任务管理模块480。
图5是本申请提供的虚拟机和容器的混合调度方法的流程示意图,如图5所示,上述实施例中的混合调度装置在执行混合调度方法之前,在集群系统中将容器管理平台服务自身的调度模块禁用,使用统一的调度引擎处理模块。
步骤510、用户开启虚拟机或容器,系统下发工作任务,并加入到对待调度任务队列中。虚拟实体队列管理模块周期性地判断调度队列中是否存在待调度的虚拟实体,如果是则取出队首的虚拟实体,每次取一个。
步骤520、调度引擎处理模块首先调用公共调度检测模块,获取系统中的所有主机列表,并遍历该主机列表,针对列表中的主机,依次调用公共调度检测模块中的方法,判断主机的各项条件是否都满足开启该虚拟实体的条件,如果全是,则将该主机加入到候选主机列表中,如果有一个方法返回错误,则将该主机排除。对于主机内存、存储等饥饿型资源,需要做好并发控制,通过待调度队列,可以做到调度的串行升级,这样可以避免内存溢出或磁盘空间不足。
步骤530、调度引擎处理模块得到一个候选主机列表,将虚拟实体、候选主机列表作为参数,继续执行。首先判断该虚拟实体类型,如果是虚拟机,则调用虚拟机调度检测模块,如果是容器,则调用容器调度检测模块。
虚拟机调度检测模块,遍历候选主机列表,进一步通过虚拟机特有的约束条件进行过滤,得到新的候选主机列表;容器调度检测模块,遍历候选主机列表,进一步通过容器特有的约束条件进行过滤,得到新的候选主机列表。
步骤540、得到一个候选主机列表,本步骤需要从该列表中获取一个最合适的主机返回给调度引擎处理模块,首先获取缓存信息处理模块中的数据,解析缓存数据信息,判断该虚拟实体在各个候选主机上是否存在开启失败的记录及开启失败的次数。如果有,则该主机被选中的优先级降低,并且次数越高优先级越低,然后根据优先级先进行排序,最后同一优先级的主机再根据剩余内存容量进行排序,选出优先级最高并且剩余内存容量最高的主机,并返回给任务管理模块。
步骤550、开机任务成功,则清理该虚拟实体对应的缓存信息,包括之前虚拟实体在该主机开启失败的记录信息;开启失败,则将失败信息记入缓存中,首先判断该虚拟实体到该主机的失败记录是否存在,如果不存在则新增失败记录,如果已存在则将失败次数加1。
在上述步骤中,进行调度检测时如果没找到可用主机,则需要将调度失败的信息反馈给异常信息处理模块。异常信息处理模块展示该调度失败异常信息。其中公共模块的异常信息,虚拟机和容器可以共用国际化信息,并将虚拟实体名称以占位符替代,想界面展示时,虚拟实体类型展示以国际化后的名称作为参数传递。
本申请实施例提供的混合调度方法,对虚拟机和容器调度进行整合统一,避免在集群系统中出现两套调度框架,使得部分资源发生调度冲突或超分,也同时降低了两套调度框架带来的维护成本,使得调度程序更加易于理解,降低了学习和维护成本,提升用户体验以及产品的易用性,同时也提高产品的核心竞争力。
图6是本申请提供的电子设备的结构示意图,如图6所示,该电子设备可以包括:处理器(Processor)610、通信接口(Communications Interface)620、存储器(Memory)630和通信总线(Communications Bus)640,其中,处理器610,通信接口620,存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑命令,以执行上述实施例中所述的方法,例如:
确定待调度的虚拟实体;虚拟实体的资源类型包括虚拟机或者容器;基于虚拟机和容器对主机的共同资源请求对集群系统中的各个主机进行资源匹配判断,确定虚拟实体对应的第一候选主机列表;确定虚拟实体对应的资源类型,并基于资源类型对主机的专属资源请求对第一候选主机列表中的各个主机进行资源匹配判断,确定虚拟实体对应的第二候选主机列表;基于第二候选主机列表中各个主机的虚拟实体开启记录,确定虚拟实体对应的目标主机,并在目标主机中开启虚拟实体。
此外,上述的存储器中的逻辑命令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供的电子设备中的处理器可以调用存储器中的逻辑指令,实现上述方法,其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
本申请实施例还提供一种计算机可读的存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法。
其具体的实施方式与前述方法实施方式一致,且可以达到相同的有益效果,此处不再赘述。
本申请实施例提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如上述方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (18)
1.一种虚拟资源调度方法,其特征在于,包括:
确定待调度的虚拟实体;所述虚拟实体的资源类型包括虚拟机或者容器;
基于虚拟机和容器对主机的共同资源请求对集群系统中的各个主机进行资源匹配判断,确定所述虚拟实体对应的第一候选主机列表;
确定所述虚拟实体对应的资源类型,并基于所述资源类型对主机的专属资源请求对所述第一候选主机列表中的各个主机进行资源匹配判断,确定所述虚拟实体对应的第二候选主机列表;
基于所述第二候选主机列表中各个主机的虚拟实体开启记录,确定所述虚拟实体对应的目标主机,并在所述目标主机中开启所述虚拟实体;
所述共同资源请求是指虚拟机和容器在主机中运行时对主机资源的共同请求;所述专属资源请求是指不同资源类型的虚拟实体在主机中运行时对主机资源的请求;
所述虚拟机对主机的专属资源请求包括:
在主机使用裸设备存储作为系统盘的情况下,所述裸设备存储不支持主机迁移,以及在主机使用通用串行总线设备的情况下,所述通用串行总线设备不支持主机迁移;
所述容器对主机的专属资源请求包括:
主机中运行的容器管理平台已初始化且处于启用状态,以及容器对应的运行目录的利用率小于预设利用率阈值;
所述基于所述第二候选主机列表中各个主机的虚拟实体开启记录,确定所述虚拟实体对应的目标主机,包括:
遍历所述第二候选主机列表中各个主机的虚拟实体开启记录,确定各个主机开启虚拟实体的失败次数;
在任一主机开启虚拟实体的失败次数为零的情况下,将所述任一主机确定为所述虚拟实体对应的目标主机。
2.根据权利要求1所述的虚拟资源调度方法,其特征在于,所述确定待调度的虚拟实体,包括:
接收虚拟资源调度请求;
确定所述虚拟资源调度请求对应的虚拟实体;
将所述虚拟实体添加至所述集群系统中的待调度任务队列;
基于预设查询周期对所述待调度任务队列进行查询,将位于所述待调度任务队列的队首位置的虚拟实体确定为待调度的虚拟实体。
3.根据权利要求2所述的虚拟资源调度方法,其特征在于,所述接收虚拟资源调度请求之前,所述方法还包括:
确定所述集群系统中运行的容器管理平台;
在所述容器管理平台中禁用容器调度引擎。
4.根据权利要求2所述的虚拟资源调度方法,其特征在于,所述确定所述虚拟资源调度请求对应的虚拟实体,包括:
对所述虚拟资源调度请求进行解析,确定所述虚拟资源调度请求对应的属性信息;所述属性信息包括虚拟资源的标识、名称、状态、类型、虚拟磁盘列表、虚拟网卡列表、主机信息和密级标识中的至少一种;
基于所述属性信息,创建所述虚拟资源调度请求对应的虚拟实体。
5.根据权利要求1所述的虚拟资源调度方法,其特征在于,所述基于虚拟机和容器对主机的共同资源请求对集群系统中的各个主机进行资源匹配判断,确定所述虚拟实体对应的第一候选主机列表,包括:
遍历所述集群系统,确定所述集群系统对应的主机列表;
基于虚拟机和容器对主机的共同资源请求对所述主机列表中的各个主机进行资源匹配判断;
在任一主机满足所述共同资源请求中的各个资源请求的情况下,将所述任一主机添加至所述虚拟实体对应的第一候选主机列表。
6.根据权利要求5所述的虚拟资源调度方法,其特征在于,所述基于虚拟机和容器对主机的共同资源请求对所述主机列表中的各个主机进行资源匹配判断之后,所述方法还包括:
在任一主机不满足所述共同资源请求中的任一资源请求的情况下,将所述任一主机确定为非候选主机。
7.根据权利要求6所述的虚拟资源调度方法,其特征在于,所述共同资源请求包括主机未开启处理器绑定、主机的剩余内存容量满足虚拟实体的内存容量需求、主机的存储容量满足虚拟实体的存储容量需求、主机在所述集群系统中未开启主机绑定、主机的网卡满足虚拟实体的网络资源需求和主机的密级标识与虚拟实体的密级标识一致中的至少一种。
8.根据权利要求1所述的虚拟资源调度方法,其特征在于,所述基于所述资源类型对主机的专属资源请求对所述第一候选主机列表中的各个主机进行资源匹配判断,确定所述虚拟实体对应的第二候选主机列表,包括:
在所述资源类型为虚拟机的情况下,基于虚拟机对主机的专属资源请求对所述第一候选主机列表中的各个主机进行资源匹配判断,确定所述虚拟实体对应的第二候选主机列表;
或者,在所述资源类型为容器的情况下,基于容器对主机的专属资源请求对所述第一候选主机列表中的各个主机进行资源匹配判断,确定所述虚拟实体对应的第二候选主机列表。
9.根据权利要求1所述的虚拟资源调度方法,其特征在于,所述确定各个主机开启虚拟实体的失败次数之后,所述方法还包括:
在所述第二候选主机列表中各个主机开启虚拟实体的失败次数均不为零的情况下,基于各个主机开启虚拟实体的失败次数确定各个主机的开启优先级;所述开启优先级与所述失败次数为负相关关系;
将最高开启优先级对应的主机确定为所述虚拟实体对应的目标主机。
10.根据权利要求9所述的虚拟资源调度方法,其特征在于,所述基于各个主机开启虚拟实体的失败次数确定各个主机的开启优先级之后,所述方法还包括:
在各个主机的开启优先级相同的情况下,获取各个主机的剩余内存容量;
将最高剩余内存容量对应的主机确定为所述虚拟实体对应的目标主机。
11.根据权利要求1所述的虚拟资源调度方法,其特征在于,所述在所述目标主机中开启所述虚拟实体之后,所述方法还包括:
确定所述虚拟实体在所述目标主机中的开启结果;
在所述开启结果为成功的情况下,将所述目标主机的虚拟实体开启记录中开启虚拟实体的失败次数清零。
12.根据权利要求11所述的虚拟资源调度方法,其特征在于,所述确定所述虚拟实体在所述目标主机中的开启结果之后,所述方法还包括:
在所述开启结果为失败的情况下,将所述目标主机的虚拟实体开启记录中开启虚拟实体的失败次数进行加一操作。
13.根据权利要求1所述的虚拟资源调度方法,其特征在于,所述确定所述虚拟实体对应的第一候选主机列表之后,所述方法还包括:
在所述第一候选主机列表为空的情况下,生成所述虚拟实体对应的第一调度失败信息;
所述第一调度失败信息包括所述虚拟实体的资源类型,以及所述共同资源请求对集群系统中的各个主机的资源匹配判断结果。
14.根据权利要求1所述的虚拟资源调度方法,其特征在于,所述确定所述虚拟实体对应的第二候选主机列表之后,所述方法还包括:
在所述第二候选主机列表为空的情况下,生成所述虚拟实体对应的第二调度失败信息;
所述第二调度失败信息包括所述虚拟实体的资源类型,以及所述专属资源请求对所述第一候选主机列表中的各个主机的资源匹配判断结果。
15.一种虚拟资源调度装置,其特征在于,包括:
确定单元,用于确定待调度的虚拟实体;所述虚拟实体的资源类型包括虚拟机或者容器;
第一检测单元,用于基于虚拟机和容器对主机的共同资源请求对集群系统中的各个主机进行资源匹配判断,确定所述虚拟实体对应的第一候选主机列表;
第二检测单元,用于确定所述虚拟实体对应的资源类型,并基于所述资源类型对主机的专属资源请求对所述第一候选主机列表中的各个主机进行资源匹配判断,确定所述虚拟实体对应的第二候选主机列表;
调度单元,用于基于所述第二候选主机列表中各个主机的虚拟实体开启记录,确定所述虚拟实体对应的目标主机,并在所述目标主机中开启所述虚拟实体;
所述共同资源请求是指虚拟机和容器在主机中运行时对主机资源的共同请求;所述专属资源请求是指不同资源类型的虚拟实体在主机中运行时对主机资源的请求;
所述虚拟机对主机的专属资源请求包括:
在主机使用裸设备存储作为系统盘的情况下,所述裸设备存储不支持主机迁移,以及在主机使用通用串行总线设备的情况下,所述通用串行总线设备不支持主机迁移;
所述容器对主机的专属资源请求包括:
主机中运行的容器管理平台已初始化且处于启用状态,以及容器对应的运行目录的利用率小于预设利用率阈值;
所述调度单元用于:
遍历所述第二候选主机列表中各个主机的虚拟实体开启记录,确定各个主机开启虚拟实体的失败次数;
在任一主机开启虚拟实体的失败次数为零的情况下,将所述任一主机确定为所述虚拟实体对应的目标主机。
16.一种集群系统,其特征在于,包括权利要求15所述的虚拟资源调度装置,以及多个主机;
所述主机与所述虚拟资源调度装置连接,用于开启待调度的虚拟实体。
17.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至14任一项所述的虚拟资源调度方法。
18.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至14任一项所述的虚拟资源调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311816266.9A CN117472516B (zh) | 2023-12-27 | 2023-12-27 | 虚拟资源调度方法、装置、集群系统、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311816266.9A CN117472516B (zh) | 2023-12-27 | 2023-12-27 | 虚拟资源调度方法、装置、集群系统、电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117472516A CN117472516A (zh) | 2024-01-30 |
CN117472516B true CN117472516B (zh) | 2024-03-29 |
Family
ID=89626024
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311816266.9A Active CN117472516B (zh) | 2023-12-27 | 2023-12-27 | 虚拟资源调度方法、装置、集群系统、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117472516B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018177042A1 (zh) * | 2017-03-27 | 2018-10-04 | 中兴通讯股份有限公司 | 一种实现资源调度的方法及装置 |
CN113608834A (zh) * | 2021-07-29 | 2021-11-05 | 济南浪潮数据技术有限公司 | 一种基于超融合的资源调度方法、装置、设备及可读介质 |
CN113900773A (zh) * | 2021-10-25 | 2022-01-07 | 北京计算机技术及应用研究所 | 一种基于国产平台虚拟机和容器的超融合调度方法 |
CN114661462A (zh) * | 2022-03-04 | 2022-06-24 | 阿里巴巴(中国)有限公司 | 资源分配方法、系统、计算机可读存储介质及电子设备 |
CN115220861A (zh) * | 2021-06-30 | 2022-10-21 | 达闼机器人股份有限公司 | 虚拟客户机管理方法、装置、介质和设备 |
CN115794386A (zh) * | 2022-11-15 | 2023-03-14 | 北京天数微芯半导体科技有限公司 | 虚拟机的资源调用方法、设备及存储介质 |
CN116932137A (zh) * | 2023-06-30 | 2023-10-24 | 慧之安信息技术股份有限公司 | 基于容器部署的宿主机信息获取控制方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11182196B2 (en) * | 2019-11-13 | 2021-11-23 | Vmware, Inc. | Unified resource management for containers and virtual machines |
US12086634B2 (en) * | 2021-07-23 | 2024-09-10 | VMware LLC | Optimizing VM NUMA configuration and workload placement in a heterogeneous cluster |
-
2023
- 2023-12-27 CN CN202311816266.9A patent/CN117472516B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018177042A1 (zh) * | 2017-03-27 | 2018-10-04 | 中兴通讯股份有限公司 | 一种实现资源调度的方法及装置 |
CN115220861A (zh) * | 2021-06-30 | 2022-10-21 | 达闼机器人股份有限公司 | 虚拟客户机管理方法、装置、介质和设备 |
CN113608834A (zh) * | 2021-07-29 | 2021-11-05 | 济南浪潮数据技术有限公司 | 一种基于超融合的资源调度方法、装置、设备及可读介质 |
CN113900773A (zh) * | 2021-10-25 | 2022-01-07 | 北京计算机技术及应用研究所 | 一种基于国产平台虚拟机和容器的超融合调度方法 |
CN114661462A (zh) * | 2022-03-04 | 2022-06-24 | 阿里巴巴(中国)有限公司 | 资源分配方法、系统、计算机可读存储介质及电子设备 |
CN115794386A (zh) * | 2022-11-15 | 2023-03-14 | 北京天数微芯半导体科技有限公司 | 虚拟机的资源调用方法、设备及存储介质 |
CN116932137A (zh) * | 2023-06-30 | 2023-10-24 | 慧之安信息技术股份有限公司 | 基于容器部署的宿主机信息获取控制方法和系统 |
Non-Patent Citations (1)
Title |
---|
基于Openstack的高能物理虚拟计算集群系统及应用;黄秋兰;李海波;石京燕;孙震宇;伍文静;程耀东;程振京;;计算机科学;20171015(10);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117472516A (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112513811B (zh) | 按需网络代码执行系统中的操作系统定制 | |
US20240220305A1 (en) | Execution of auxiliary functions in an on-demand network code execution system | |
US10817331B2 (en) | Execution of auxiliary functions in an on-demand network code execution system | |
US10635558B2 (en) | Container monitoring method and apparatus | |
EP3761170B1 (en) | Virtual machine creation method and apparatus | |
US20210406079A1 (en) | Persistent Non-Homogeneous Worker Pools | |
US11924117B2 (en) | Automated local scaling of compute instances | |
WO2020005764A1 (en) | Execution of auxiliary functions in an on-demand network code execution system | |
CN109067877B (zh) | 一种云计算平台部署的控制方法、服务器及存储介质 | |
US11334372B2 (en) | Distributed job manager for stateful microservices | |
CN112052068A (zh) | 一种Kubernetes容器平台CPU绑核的方法与装置 | |
CN110597531A (zh) | 分布式的模块升级方法、装置及存储介质 | |
CN104360952B (zh) | 一种软件测试系统及方法 | |
US8104038B1 (en) | Matching descriptions of resources with workload requirements | |
CN111857951A (zh) | 容器化部署平台及部署方法 | |
US12271750B2 (en) | Methods and apparatuses for processing virtual machine migration in response to resource requirement from VNF, device and storage medium | |
US20220141088A1 (en) | Batch Manager For Complex Workflows | |
CN118051166A (zh) | 一种存储处理的方法以及相关装置 | |
CN109062580B (zh) | 一种虚拟化环境部署方法和部署装置 | |
CN117472516B (zh) | 虚拟资源调度方法、装置、集群系统、电子设备和介质 | |
CN114860203B (zh) | 项目创建方法、装置、服务器及存储介质 | |
CN105740065A (zh) | 一种控制异步任务执行的方法及装置 | |
CN116089020B (zh) | 虚拟机运行方法、扩容方法、扩容系统 | |
US20110023018A1 (en) | Software platform and method of managing application individuals in the software platform | |
US11743188B2 (en) | Check-in monitoring for workflows |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |