CN110727512A - 集群资源调度方法、装置、设备及储存介质 - Google Patents

集群资源调度方法、装置、设备及储存介质 Download PDF

Info

Publication number
CN110727512A
CN110727512A CN201910945530.6A CN201910945530A CN110727512A CN 110727512 A CN110727512 A CN 110727512A CN 201910945530 A CN201910945530 A CN 201910945530A CN 110727512 A CN110727512 A CN 110727512A
Authority
CN
China
Prior art keywords
node
pod
scheduled
screening
nodes
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.)
Granted
Application number
CN201910945530.6A
Other languages
English (en)
Other versions
CN110727512B (zh
Inventor
陈松
郑淮城
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Transwarp Technology Shanghai Co Ltd
Original Assignee
Xinghuan Information Technology (shanghai) Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xinghuan Information Technology (shanghai) Co Ltd filed Critical Xinghuan Information Technology (shanghai) Co Ltd
Priority to CN201910945530.6A priority Critical patent/CN110727512B/zh
Publication of CN110727512A publication Critical patent/CN110727512A/zh
Application granted granted Critical
Publication of CN110727512B publication Critical patent/CN110727512B/zh
Priority to PCT/CN2020/118691 priority patent/WO2021063339A1/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Abstract

本发明实施例公开一种集群资源调度方法、装置、设备及储存介质,方法包括根据获取到的待调度pod,基于预设选择策略对集群中的预设节点进行筛选得到节点筛选结果;当节点筛选结果为不存在符合预设选择策略的可调度节点时,根据节点筛选结果、集群的实时资源使用信息和待调度pod的资源请求,从预设节点中筛选出第一节点;基于舍弃资源请求可用性检查的预设选择策略从第一节点中筛选出可运行待调度pod的第二节点;根据待调度pod的属性和第二节点的物理资源大小确定pod运行节点;将待调度pod与pod运行节点进行绑定。本发明实施例的技术方案,更好地利用集群资源,同时避免出现节点间调度不均匀的问题。

Description

集群资源调度方法、装置、设备及储存介质
技术领域
本发明实施例涉及云计算技术,尤其涉及一种集群资源调度方法、装置、设备及储存介质。
背景技术
资源共享的分布式系统中,任务的调度是基于资源预定义进行划分的。这样系统可以根据当前集群资源情况将任务调度到最合理的节点上,尽可能地增加集群的资源使用率和节点间的负载均衡。
Kubernetes是一套全新的基于容器技术的分布式管理系统。他通过限定任务(pod)的资源requests和limits进行任务资源划分,其中调度模块是通过计算任务的资源requests,通过预定义的打分算法进行任务调度。
但是整个过程是以当前局部最优解作为参考,同时调度信息完全依赖任务预定义的资源requests,没有考虑实时资源的使用情况。从该点看来,Kubernetes是一个基于资源预留的系统。然而在实际使用中,用户对任务的实际使用资源量并不能做出合理的预估,而且在实际的使用中也可以看到,用户为了保证自己的任务能够正常的运行,都会request一个较大值,而在实际的集群资源使用监控中可以看到,任务实际的资源使用小于甚至远小于request值的。这样会造成节点的资源利用率低,并且,集群的节点资源使用不均衡。
发明内容
本发明实施例提供一种集群资源调度方法、装置、设备及储存介质,以实现充分利用集群资源,平衡节点调度。
第一方面,本发明实施例提供了一种集群资源调度方法,包括:
根据获取到的待调度pod,基于预设选择策略对集群中的预设节点进行筛选,得到节点筛选结果;
当所述节点筛选结果为不存在符合所述预设选择策略的可调度节点时,根据所述节点筛选结果、所述集群的实时资源使用信息和所述待调度pod的资源请求,从所述预设节点中筛选出第一节点;
基于舍弃资源请求可用性检查的所述预设选择策略,从所述第一节点中筛选出可运行所述待调度pod的第二节点;
根据所述待调度pod的属性和所述第二节点的物理资源大小确定pod运行节点;
将所述待调度pod与所述pod运行节点进行绑定。
第二方面,本发明实施例还提供了一种集群资源调度装置,该装置包括:
预设节点筛选模块,用于根据获取到的待调度pod,基于预设选择策略对集群中的预设节点进行筛选,得到节点筛选结果;
第一节点筛选模块,用于当所述节点筛选结果为不存在符合所述预设选择策略的可调度节点时,根据所述节点筛选结果、所述集群的实时资源使用信息和所述待调度pod的资源请求,从所述预设节点中筛选出第一节点;
第二节点筛选模块,用于基于舍弃资源请求可用性检查的所述预设选择策略,从所述第一节点中筛选出可运行所述待调度pod的第二节点;
pod运行节点确定模块,用于根据所述待调度pod的属性和所述第二节点的物理资源大小确定pod运行节点;
pod绑定模块,用于将所述待调度pod与所述pod运行节点进行绑定。
第三方面,本发明实施例还提供了一种设备,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任意实施例所提供的集群资源调度方法。
第四方面,本发明实施例还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如本发明任意实施例所提供的集群资源调度方法。
本发明实施例通过引入实时调度,增加对实时资源使用情况的分析来调用集群资源,解决节点的资源利用率低,集群的节点资源使用不均衡问题,实现充分利用集群资源,平衡节点调度的效果。
附图说明
图1是本发明实施例一中的一种集群资源调度方法的流程图;
图2是本发明实施例二中的一种集群资源调度方法的流程图;
图3是本发明实施例三中的一种集群资源调度装置的结构示意图;
图4是本发明实施例四中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
Kubernetes是一套全新的基于容器技术的分布式管理系统。Kubernetes调度的根本工作任务是根据各种调度算法将pod绑定(bind)到最合适的工作节点,整个调度流程分为三个阶段:预选(Predicates)、优选(Priorities)和抢占(Preempt)。
预选阶段:以所有节点信息作为输入,输出则是满足预选条件的节点。kube-scheduler根据预选策略过滤掉不满足条件的节点Node。例如,如果某节点的资源不足或者不满足预选策略的条件,如Node的label无法匹配上pod的Selector时则无法通过预选。
优选阶段:以预选阶段筛选出的节点信息作为输入,然后调度器会根据优选策略为通过预选的Node进行打分排名,选择得分最高的Node。例如,资源越充足、负载越小,Node的得分越高。
抢占阶段:经过预选、优选两个阶段,未能找到适合调度当前pod的Node,如果开启了抢占,那么kube-scheduler会启动Preempt流程,根据当前要调度的pod的优先级以及集群上已经正常运行的pod属性等特点筛选出一个适合抢占的节点,抢占某些低优先级的pod,调度当前pod到该节点上。
调度器每次进行pod调度的决策是基于当前集群状态得到的一个局部最优解。但实际情况是,运行在集群上的任务是复杂多样的:有长时任务和短时任务,有在线任务和离线任务,而且由于用户对于资源使用资源的不准确预估,每个任务实际使用的资源也是和预定义资源请求有出入的。以上事实均表明,原生的Kubernetes调度系统并不能很好地满足复杂多样的任务调度。
本发明实施例提供的技术方案,在调度时依然优先考虑默认调度器的方式。以用户的requests作为优先考虑的调度因素下,基于用户设置资源requests不合理的假设,提出一套能够利用实时资源使用信息来进行调度决策的调度系统,该系统作为实时调度阶段,置于预先和优选阶段之后,放在抢占阶段之前。
实施例一
图1为本发明实施例一提供的一种集群资源调度方法的流程图,本实施例可适用于进行集群资源调度的情况,该方法可以由集群资源调度装置来执行,该装置可以由硬件和/或软件来实现,具体包括如下步骤:
步骤110、根据获取到的待调度pod,基于预设选择策略对集群中的预设节点进行筛选,得到节点筛选结果;
其中,在系统开始调度流程时,从pod队列中获取待调度pod。先基于预选策略进行筛选,基于优选策略为通过预选的节点进行打分排名,选出得分最高的节点用于调度待调度pod。预设选择策略为预选阶段的预选策略,如果在预选阶段无法找到可供打分排名的预设节点,那么意味着需要进行实时调度,如果在预选阶段筛选出部分预设节点,就可以进行打分排名,选出最高分的预设节点与待调度pod进行绑定。根据预设选择策略对预设节点进行筛选,确定预设节点与预设选择策略的匹配情况,由此生成节点筛选结果,节点筛选结果包括不可调度节点;还包括这些节点的错误信息,也就是这些节点在预选策略下被认为属于不可调度节点的原因。
可选的,基于预设选择策略对集群中的预设节点进行筛选,得到节点筛选结果,包括:根据预选策略对集群中的预设节点进行筛选,确定不符合预选策略的不可调度节点并记录对应的错误信息;将不可调度节点和对应的错误信息作为节点筛选结果。其中,不可调度节点可能是资源不足不能达到待调度pod的资源请求值,那么,错误信息就是该预设节点资源不足;也可能是节点的标签无法匹配上待调度pod的选择器,那么,错误信息就是节点的标签不匹配待调度pod的选择器。
步骤120、当节点筛选结果为不存在符合预设选择策略的可调度节点时,根据节点筛选结果、集群的实时资源使用信息和待调度pod的资源请求,从预设节点中筛选出第一节点;
其中,如果经过筛选,没有找到符合预选策略的预设节点,就需要采用实时调度策略。依据预选阶段进行筛选时得到的预设节点的信息,以及本阶段得到的集群节点实时利用率筛选出一些可用物理资源满足待调度pod的预设节点作为第一节点。此时筛选出的第一节点具备调度待调度pod的资源。
步骤130、基于舍弃资源请求可用性检查的预设选择策略,从第一节点中筛选出可运行待调度pod的第二节点;
其中,从预选策略中删除对资源请求(request)的可用性检查,再一次针对上一步骤中返回的第一节点运行预选策略,筛选出可运行待调度pod的预设节点作为第二节点。
步骤140、根据待调度pod的属性和第二节点的物理资源大小确定pod运行节点;
其中,上一步骤中返回的第二节点都可以用来运行待调度pod,但是还需要根据待调度pod的属性以及第二节点的物理资源大小排序,筛选出最合适的第二节点,经过这一步骤,集群的物理资源使用均衡性又进一步提高。
可选的,根据待调度pod的属性和第二节点的物理资源大小确定pod运行节点,包括:根据第二节点的物理资源大小进行排序;将与待调度pod的属性相匹配且排序最高的第二节点确定为pod运行节点。
步骤150、将待调度pod与pod运行节点进行绑定。
其中,经过以上步骤筛选出集群中的某个预设节点作为pod运行节点,则将待调度pod与pod运行节点进行绑定,以便在该节点上运行待调度pod。
本实施例的技术方案,通过引入实时调度,增加对实时资源使用情况的分析来调用集群资源,解决节点的资源利用率低,集群的节点资源使用不均衡问题,实现充分利用集群资源,平衡节点调度的效果。
实施例二
图2为本发明实施例二提供的一种集群资源调度方法的流程图,本实施例的技术方案在上述技术方案的基础上进行进一步细化,具体包括:
步骤210、根据获取到的待调度pod,基于预设选择策略对集群中的预设节点进行筛选,得到节点筛选结果;
步骤220、当预设节点全部为不可调度节点,根据错误信息过滤掉状态异常节点和选择器不匹配节点;
其中,在启动实时调度策略后,根据预选阶段返回的不可调度节点的错误信息,在集群的所有预设节点中进一步过滤掉NodeNotReady、NodeSelectorNotMatch等节点。
步骤230、根据实时资源使用信息和待调度pod的资源请求,筛选出可用物理资源满足待调度pod物理资源请求值的第一节点。
其中,获取集群当前的实时资源使用信息,按照调度待调度pod的需求,筛选出可用物理资源满足待调度pod物理资源请求值的节点。
步骤240、基于舍弃资源请求可用性检查的预设选择策略,从第一节点中筛选出可运行待调度pod的第二节点;
步骤250、根据待调度pod的属性和第二节点的物理资源大小确定pod运行节点;
步骤260、将待调度pod与pod运行节点进行绑定。
如果上述的实时调度策略未能筛选出可调度的节点,那么说明当前状态下,集群中的物理资源确实无法满足调度待调度pod的requests所需资源,需要进入抢占阶段。基于集群上任务的复杂多样性,而且任务的资源使用并不是恒定不变的,可以乐观假设集群有能力提供一定的资源供新调度的pod运行,基于这种乐观假设,待调度pod的requests过高,实际上运行它并不需要这么多的资源,而且经过这一段时间,集群的状态很可能发生变化,基于此假设,该待调度pod在逻辑上是可以被调度到节点上运行的。该策略同时输出需要抢占的pod列表作为victims,由于是乐观假设,如果集群真的无法满足当前的资源请求,Eviction manager会优先驱逐这些pod,为集群腾出足够的资源。
可选的,在根据获取到的待调度pod,基于预设选择策略对集群中的预设节点进行筛选,得到节点筛选结果之后,还包括:
当不存在可用物理资源满足待调度pod物理资源请求值的第一节点时,获取潜在可调度节点,其中,潜在可调度节点为不违背亲和性且不存在污点的预设节点;获取潜在的可调度节点,这些节点须是不违背亲和性和不存在污点等,例如,不能为NodeNotReady、NodeSelectorNotMatch等节点。
基于优先级从潜在可调度节点中筛选出可调度节点,并输出可调度节点上待驱逐pod列表;其中,待驱逐pod列表包括因资源抢占而需要驱逐的pod;
将待调度pod与可调度节点进行绑定,并将待驱逐pod列表标记在待调度pod中;
当集群中高优先级的任务资源不足时,驱逐待驱逐pod列表中的pod,以运行待调度pod。
其中,抢占调度策略将上述的待驱逐pod列表标记在待调度pod中,基于乐观假设,不做真正的驱逐,等到集群上其它高优先级的任务资源不足需要发生驱逐时才会做真正的驱逐。上述延迟抢占只进行逻辑上的资源抢占,并没有立即抢占资源,这种延时抢占的调度方法,可以在逻辑上为高优先级的任务腾出资源,在资源没有被充分利用时,继续运行被抢占的任务,可以提高资源的利用率。保证了尽可能多的任务能运行起来,充分地利用了集群的物理资源,同时依赖于集群有压力时的自动驱逐保证了高优先级任务能够得到它需要的物理资源。
实施例三
图3为本发明实施例三提供的一种集群资源调度装置的结构示意图,该装置具体包括:
预设节点筛选模块310,用于根据获取到的待调度pod,基于预设选择策略对集群中的预设节点进行筛选,得到节点筛选结果;
第一节点筛选模块320,用于当所述节点筛选结果为不存在符合所述预设选择策略的可调度节点时,根据所述节点筛选结果、所述集群的实时资源使用信息和所述待调度pod的资源请求,从所述预设节点中筛选出第一节点;
第二节点筛选模块330,用于基于舍弃资源请求可用性检查的所述预设选择策略,从所述第一节点中筛选出可运行所述待调度pod的第二节点;
pod运行节点确定模块340,用于根据所述待调度pod的属性和所述第二节点的物理资源大小确定pod运行节点;
pod绑定模块350,用于将所述待调度pod与所述pod运行节点进行绑定。
本实施例的技术方案,通过引入实时调度,增加对实时资源使用情况的分析来调用集群资源,解决节点的资源利用率低,集群的节点资源使用不均衡问题,实现充分利用集群资源,平衡节点调度的效果。
可选的,预设节点筛选模块310,具体用于:
根据预选策略对所述集群中的所述预设节点进行筛选,确定不符合所述预选策略的不可调度节点并记录对应的错误信息;
将所述不可调度节点和对应的所述错误信息作为所述节点筛选结果。
可选的,第一节点筛选模块320,具体用于:
当所述预设节点全部为所述不可调度节点,根据所述错误信息过滤掉状态异常节点和选择器不匹配节点;
根据所述实时资源使用信息和所述待调度pod的资源请求,筛选出可用物理资源满足所述待调度pod物理资源请求值的所述第一节点。
可选的,pod运行节点确定模块340,具体用于:
根据所述第二节点的物理资源大小进行排序;
将与所述待调度pod的属性相匹配且排序最高的所述第二节点确定为所述pod运行节点。
可选的,集群资源调度装置还包括:
潜在可调度节点获取模块,用于在所述根据获取到的待调度pod,基于预设选择策略对集群中的预设节点进行筛选,得到节点筛选结果之后,当不存在可用物理资源满足所述待调度pod物理资源请求值的所述第一节点时,获取潜在可调度节点,其中,所述潜在可调度节点为不违背亲和性且不存在污点的所述预设节点;
可调度节点筛选模块,用于基于优先级从所述潜在可调度节点中筛选出可调度节点,并输出所述可调度节点上待驱逐pod列表;其中,所述待驱逐pod列表包括因资源抢占而需要驱逐的pod;
可调度节点绑定模块,用于将所述待调度pod与所述可调度节点进行绑定,并将所述待驱逐pod列表标记在所述待调度pod中;
pod驱逐模块,用于当所述集群中高优先级的任务资源不足时,驱逐所述待驱逐pod列表中的pod,以运行所述待调度pod。
本发明实施例所提供的集群资源调度装置可执行本发明任意实施例所提供的集群资源调度方法,具备执行方法相应的功能模块和有益效果。
实施例四
图4为本发明实施例四提供的一种计算机设备的结构示意图。图4示出了适于用来实现本发明实施方式的示例性计算机设备412的框图。图4显示的计算机设备412仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,计算机设备412以通用计算设备的形式表现。计算机设备412的组件可以包括但不限于:一个或者多个处理器416,存储器428,连接不同系统组件(包括存储器428和处理器416)的总线418。
总线418表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备412典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备412访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器428用于存储指令。存储器428可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)430和/或高速缓存存储器432。计算机设备412可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统434可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线418相连。存储器428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块442的程序/实用工具440,可以存储在例如存储器428中,这样的程序模块442包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块442通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备412也可以与一个或多个外部设备414(例如键盘、指向设备、显示器424等)通信,还可与一个或者多个使得用户能与该计算机设备412交互的设备通信,和/或与使得该计算机设备412能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口422进行。并且,计算机设备412还可以通过网络适配器420与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器420通过总线418与计算机设备412的其它模块通信。应当明白,尽管图4中未示出,可以结合计算机设备412使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器416通过运行存储在存储器428中的指令,从而执行各种功能应用以及数据处理,例如执行以下操作:根据获取到的待调度pod,基于预设选择策略对集群中的预设节点进行筛选,得到节点筛选结果;当所述节点筛选结果为不存在符合所述预设选择策略的可调度节点时,根据所述节点筛选结果、所述集群的实时资源使用信息和所述待调度pod的资源请求,从所述预设节点中筛选出第一节点;基于舍弃资源请求可用性检查的所述预设选择策略,从所述第一节点中筛选出可运行所述待调度pod的第二节点;根据所述待调度pod的属性和所述第二节点的物理资源大小确定pod运行节点;将所述待调度pod与所述pod运行节点进行绑定。
在上述各实施例的基础上,处理器416通过运行存储在存储器428中的指令实现根据获取到的待调度pod,基于预设选择策略对集群中的预设节点进行筛选,得到节点筛选结果的方式如下:
根据预选策略对所述集群中的所述预设节点进行筛选,确定不符合所述预选策略的不可调度节点并记录对应的错误信息;
将所述不可调度节点和对应的所述错误信息作为所述节点筛选结果。
在上述各实施例的基础上,处理器416通过运行存储在存储器428中的指令实现所述当所述节点筛选结果为不存在符合所述预设选择策略的可调度节点时,根据所述节点筛选结果、所述集群的实时资源使用信息和所述待调度pod的资源请求,从所述预设节点中筛选出第一节点的方式如下:
当所述预设节点全部为所述不可调度节点,根据所述错误信息过滤掉状态异常节点和选择器不匹配节点;
根据所述实时资源使用信息和所述待调度pod的资源请求,筛选出可用物理资源满足所述待调度pod物理资源请求值的所述第一节点。
在上述各实施例的基础上,处理器416通过运行存储在存储器428中的指令实现所述根据所述待调度pod的属性和所述第二节点的物理资源大小确定pod运行节点的方式如下:
根据所述第二节点的物理资源大小进行排序;
将与所述待调度pod的属性相匹配且排序最高的所述第二节点确定为所述pod运行节点。
在上述各实施例的基础上,处理器416通过运行存储在存储器428中的指令实现在所述根据获取到的待调度pod,基于预设选择策略对集群中的预设节点进行筛选,得到节点筛选结果之后,当不存在可用物理资源满足所述待调度pod物理资源请求值的所述第一节点时,获取潜在可调度节点,其中,所述潜在可调度节点为不违背亲和性且不存在污点的所述预设节点;
基于优先级从所述潜在可调度节点中筛选出可调度节点,并输出所述可调度节点上待驱逐pod列表;其中,所述待驱逐pod列表包括因资源抢占而需要驱逐的pod;
将所述待调度pod与所述可调度节点进行绑定,并将所述待驱逐pod列表标记在所述待调度pod中;
当所述集群中高优先级的任务资源不足时,驱逐所述待驱逐pod列表中的pod,以运行所述待调度pod。
实施例五
本发明实施例五提供了一种计算机可读存储介质,存储介质用于存储指令,指令用于执行本发明任意实施例所提供的集群资源调度方法。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (12)

1.一种集群资源调度方法,其特征在于,包括:
根据获取到的待调度pod,基于预设选择策略对集群中的预设节点进行筛选,得到节点筛选结果;
当所述节点筛选结果为不存在符合所述预设选择策略的可调度节点时,根据所述节点筛选结果、所述集群的实时资源使用信息和所述待调度pod的资源请求,从所述预设节点中筛选出第一节点;
基于舍弃资源请求可用性检查的所述预设选择策略,从所述第一节点中筛选出可运行所述待调度pod的第二节点;
根据所述待调度pod的属性和所述第二节点的物理资源大小确定pod运行节点;
将所述待调度pod与所述pod运行节点进行绑定。
2.根据权利要求1所述的集群资源调度方法,其特征在于,所述根据获取到的待调度pod,基于预设选择策略对集群中的预设节点进行筛选,得到节点筛选结果,包括:
根据预选策略对所述集群中的所述预设节点进行筛选,确定不符合所述预选策略的不可调度节点并记录对应的错误信息;
将所述不可调度节点和对应的所述错误信息作为所述节点筛选结果。
3.根据权利要求2所述的集群资源调度方法,其特征在于,所述当所述节点筛选结果为不存在符合所述预设选择策略的可调度节点时,根据所述节点筛选结果、所述集群的实时资源使用信息和所述待调度pod的资源请求,从所述预设节点中筛选出第一节点,包括:
当所述预设节点全部为所述不可调度节点,根据所述错误信息过滤掉状态异常节点和选择器不匹配节点;
根据所述实时资源使用信息和所述待调度pod的资源请求,筛选出可用物理资源满足所述待调度pod物理资源请求值的所述第一节点。
4.根据权利要求1所述的集群资源调度方法,其特征在于,所述根据所述待调度pod的属性和所述第二节点的物理资源大小确定pod运行节点,包括:
根据所述第二节点的物理资源大小进行排序;
将与所述待调度pod的属性相匹配且排序最高的所述第二节点确定为所述pod运行节点。
5.根据权利要求3所述的集群资源调度方法,其特征在于,在所述根据获取到的待调度pod,基于预设选择策略对集群中的预设节点进行筛选,得到节点筛选结果之后,还包括:
当不存在可用物理资源满足所述待调度pod物理资源请求值的所述第一节点时,获取潜在可调度节点,其中,所述潜在可调度节点为不违背亲和性且不存在污点的所述预设节点;
基于优先级从所述潜在可调度节点中筛选出可调度节点,并输出所述可调度节点上待驱逐pod列表;其中,所述待驱逐pod列表包括因资源抢占而需要驱逐的pod;
将所述待调度pod与所述可调度节点进行绑定,并将所述待驱逐pod列表标记在所述待调度pod中;
当所述集群中高优先级的任务资源不足时,驱逐所述待驱逐pod列表中的pod,以运行所述待调度pod。
6.一种集群资源调度装置,其特征在于,包括:
预设节点筛选模块,用于根据获取到的待调度pod,基于预设选择策略对集群中的预设节点进行筛选,得到节点筛选结果;
第一节点筛选模块,用于当所述节点筛选结果为不存在符合所述预设选择策略的可调度节点时,根据所述节点筛选结果、所述集群的实时资源使用信息和所述待调度pod的资源请求,从所述预设节点中筛选出第一节点;
第二节点筛选模块,用于基于舍弃资源请求可用性检查的所述预设选择策略,从所述第一节点中筛选出可运行所述待调度pod的第二节点;
pod运行节点确定模块,用于根据所述待调度pod的属性和所述第二节点的物理资源大小确定pod运行节点;
pod绑定模块,用于将所述待调度pod与所述pod运行节点进行绑定。
7.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如下操作:
根据获取到的待调度pod,基于预设选择策略对集群中的预设节点进行筛选,得到节点筛选结果;
当所述节点筛选结果为不存在符合所述预设选择策略的可调度节点时,根据所述节点筛选结果、所述集群的实时资源使用信息和所述待调度pod的资源请求,从所述预设节点中筛选出第一节点;
基于舍弃资源请求可用性检查的所述预设选择策略,从所述第一节点中筛选出可运行所述待调度pod的第二节点;
根据所述待调度pod的属性和所述第二节点的物理资源大小确定pod运行节点;
将所述待调度pod与所述pod运行节点进行绑定。
8.根据权利要求7所述的设备,其特征在于,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现所述根据获取到的待调度pod,基于预设选择策略对集群中的预设节点进行筛选,得到节点筛选结果的方式如下:
根据预选策略对所述集群中的所述预设节点进行筛选,确定不符合所述预选策略的不可调度节点并记录对应的错误信息;
将所述不可调度节点和对应的所述错误信息作为所述节点筛选结果。
9.根据权利要求8所述的设备,其特征在于,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现所述当所述节点筛选结果为不存在符合所述预设选择策略的可调度节点时,根据所述节点筛选结果、所述集群的实时资源使用信息和所述待调度pod的资源请求,从所述预设节点中筛选出第一节点的方式如下:
当所述预设节点全部为所述不可调度节点,根据所述错误信息过滤掉状态异常节点和选择器不匹配节点;
根据所述实时资源使用信息和所述待调度pod的资源请求,筛选出可用物理资源满足所述待调度pod物理资源请求值的所述第一节点。
10.根据权利要求7所述的设备,其特征在于,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现所述根据所述待调度pod的属性和所述第二节点的物理资源大小确定pod运行节点的方式如下:
根据所述第二节点的物理资源大小进行排序;
将与所述待调度pod的属性相匹配且排序最高的所述第二节点确定为所述pod运行节点。
11.根据权利要求9所述的设备,其特征在于,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现在所述根据获取到的待调度pod,基于预设选择策略对集群中的预设节点进行筛选,得到节点筛选结果之后,当不存在可用物理资源满足所述待调度pod物理资源请求值的所述第一节点时,获取潜在可调度节点,其中,所述潜在可调度节点为不违背亲和性且不存在污点的所述预设节点;
基于优先级从所述潜在可调度节点中筛选出可调度节点,并输出所述可调度节点上待驱逐pod列表;其中,所述待驱逐pod列表包括因资源抢占而需要驱逐的pod;
将所述待调度pod与所述可调度节点进行绑定,并将所述待驱逐pod列表标记在所述待调度pod中;
当所述集群中高优先级的任务资源不足时,驱逐所述待驱逐pod列表中的pod,以运行所述待调度pod。
12.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-5中任一所述的集群资源调度方法。
CN201910945530.6A 2019-09-30 2019-09-30 集群资源调度方法、装置、设备及储存介质 Active CN110727512B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910945530.6A CN110727512B (zh) 2019-09-30 2019-09-30 集群资源调度方法、装置、设备及储存介质
PCT/CN2020/118691 WO2021063339A1 (zh) 2019-09-30 2020-09-29 集群资源调度方法、装置、设备及储存介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910945530.6A CN110727512B (zh) 2019-09-30 2019-09-30 集群资源调度方法、装置、设备及储存介质

Publications (2)

Publication Number Publication Date
CN110727512A true CN110727512A (zh) 2020-01-24
CN110727512B CN110727512B (zh) 2020-06-26

Family

ID=69218763

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910945530.6A Active CN110727512B (zh) 2019-09-30 2019-09-30 集群资源调度方法、装置、设备及储存介质

Country Status (2)

Country Link
CN (1) CN110727512B (zh)
WO (1) WO2021063339A1 (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111352717A (zh) * 2020-03-24 2020-06-30 广西梯度科技有限公司 一种实现kubernetes自定义调度器的方法
CN111741097A (zh) * 2020-06-15 2020-10-02 星环信息科技(上海)有限公司 一种租户独占节点的方法、计算机设备及存储介质
CN111737003A (zh) * 2020-06-24 2020-10-02 重庆紫光华山智安科技有限公司 Pod均衡调度方法、装置、主节点及存储介质
CN112395269A (zh) * 2020-11-16 2021-02-23 中国工商银行股份有限公司 MySQL高可用组的搭建方法及装置
CN112540829A (zh) * 2020-12-16 2021-03-23 恒生电子股份有限公司 容器组驱逐方法、装置、节点设备及存储介质
WO2021063339A1 (zh) * 2019-09-30 2021-04-08 星环信息科技(上海)股份有限公司 集群资源调度方法、装置、设备及储存介质
CN113032102A (zh) * 2021-04-07 2021-06-25 广州虎牙科技有限公司 资源重调度方法、装置、设备和介质
CN113760549A (zh) * 2021-08-30 2021-12-07 聚好看科技股份有限公司 一种pod部署方法及装置
CN113806027A (zh) * 2020-06-15 2021-12-17 广州虎牙信息科技有限公司 任务编排方法、装置、电子设备和计算机可读存储介质
CN114064296A (zh) * 2022-01-18 2022-02-18 北京建筑大学 一种Kubernetes调度方法、装置和存储介质
CN116938943A (zh) * 2023-09-15 2023-10-24 北京城建智控科技股份有限公司 云主机调度方法、装置、设备和存储介质
WO2024066380A1 (zh) * 2022-09-26 2024-04-04 京东科技信息技术有限公司 容器的调度方法、装置及计算机设备

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112559130B (zh) * 2020-12-16 2024-01-19 恒生电子股份有限公司 容器分配方法、装置、电子设备及存储介质
CN113138793B (zh) * 2021-04-28 2024-05-03 上海米哈游璃月科技有限公司 一种应用资源打包过程监控方法、装置、设备和介质
CN113742083A (zh) * 2021-09-13 2021-12-03 京东科技信息技术有限公司 调度仿真方法、装置、计算机设备及存储介质
CN114168292A (zh) * 2021-12-09 2022-03-11 中国建设银行股份有限公司 一种资源调度方法、装置、设备和介质
CN113992758B (zh) * 2021-12-27 2022-04-19 杭州金线连科技有限公司 一种系统数据资源的动态调度方法、装置及电子设备
CN114697322B (zh) * 2022-02-17 2024-03-22 上海生慧樘科技有限公司 一种基于云端业务处理的数据筛选方法
CN114448895B (zh) * 2022-04-11 2022-06-17 苏州浪潮智能科技有限公司 一种应用访问方法、装置、设备及介质
CN114942830A (zh) * 2022-06-30 2022-08-26 中国电信股份有限公司 容器调度方法、容器调度装置、存储介质和电子设备
CN116781917A (zh) * 2022-09-22 2023-09-19 中移(苏州)软件技术有限公司 基于算力网络的视频转码方法、装置、设备及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009708B2 (en) * 2010-03-31 2015-04-14 Sap Se Method and system to effectuate recovery for dynamic workflows
CN104834556A (zh) * 2015-04-26 2015-08-12 西北工业大学 一种多态实时任务与多态计算资源的映射方法
CN106027643A (zh) * 2016-05-18 2016-10-12 无锡华云数据技术服务有限公司 一种基于Kubernetes容器集群管理系统的资源调度方法
CN106569892A (zh) * 2015-10-08 2017-04-19 阿里巴巴集团控股有限公司 资源调度方法与设备
CN108519911A (zh) * 2018-03-23 2018-09-11 上饶市中科院云计算中心大数据研究院 一种基于容器的集群管理系统中资源的调度方法和装置
CN108769254A (zh) * 2018-06-25 2018-11-06 星环信息科技(上海)有限公司 基于抢占式调度的资源共享使用方法、系统及设备
CN109167835A (zh) * 2018-09-13 2019-01-08 重庆邮电大学 一种基于kubernetes的物理资源调度方法及系统
CN109614211A (zh) * 2018-11-28 2019-04-12 新华三技术有限公司合肥分公司 分布式任务预调度方法及装置
CN109753356A (zh) * 2018-12-25 2019-05-14 北京友信科技有限公司 一种容器资源调度方法、装置及计算机可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4606404B2 (ja) * 2006-12-01 2011-01-05 富士通株式会社 計算資源管理プログラムおよび計算資源管理装置
US9794136B1 (en) * 2015-01-21 2017-10-17 Pivotal Software, Inc. Distributed resource allocation
CN109960585B (zh) * 2019-02-02 2021-05-14 浙江工业大学 一种基于kubernetes的资源调度方法
CN110727512B (zh) * 2019-09-30 2020-06-26 星环信息科技(上海)有限公司 集群资源调度方法、装置、设备及储存介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9009708B2 (en) * 2010-03-31 2015-04-14 Sap Se Method and system to effectuate recovery for dynamic workflows
CN104834556A (zh) * 2015-04-26 2015-08-12 西北工业大学 一种多态实时任务与多态计算资源的映射方法
CN106569892A (zh) * 2015-10-08 2017-04-19 阿里巴巴集团控股有限公司 资源调度方法与设备
CN106027643A (zh) * 2016-05-18 2016-10-12 无锡华云数据技术服务有限公司 一种基于Kubernetes容器集群管理系统的资源调度方法
CN108519911A (zh) * 2018-03-23 2018-09-11 上饶市中科院云计算中心大数据研究院 一种基于容器的集群管理系统中资源的调度方法和装置
CN108769254A (zh) * 2018-06-25 2018-11-06 星环信息科技(上海)有限公司 基于抢占式调度的资源共享使用方法、系统及设备
CN109167835A (zh) * 2018-09-13 2019-01-08 重庆邮电大学 一种基于kubernetes的物理资源调度方法及系统
CN109614211A (zh) * 2018-11-28 2019-04-12 新华三技术有限公司合肥分公司 分布式任务预调度方法及装置
CN109753356A (zh) * 2018-12-25 2019-05-14 北京友信科技有限公司 一种容器资源调度方法、装置及计算机可读存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
HYLSON NETTO, CAIO PEREIRA OLIVEIRA: "Incorporating the Raft consensus protocol in containers managed by Kubernetes: an evaluation", 《INTERNATIONAL JOURNAL OF PARALLEL, EMERGENT AND DISTRIBUTED SYSTEMS》 *
左灿,刘晓洁: "一种改进的Kubernetes动态资源调度方法", 《数据通信》 *

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021063339A1 (zh) * 2019-09-30 2021-04-08 星环信息科技(上海)股份有限公司 集群资源调度方法、装置、设备及储存介质
CN111352717B (zh) * 2020-03-24 2023-04-07 广西梯度科技股份有限公司 一种实现kubernetes自定义调度器的方法
CN111352717A (zh) * 2020-03-24 2020-06-30 广西梯度科技有限公司 一种实现kubernetes自定义调度器的方法
CN111741097A (zh) * 2020-06-15 2020-10-02 星环信息科技(上海)有限公司 一种租户独占节点的方法、计算机设备及存储介质
CN113806027B (zh) * 2020-06-15 2023-12-12 广州虎牙信息科技有限公司 任务编排方法、装置、电子设备和计算机可读存储介质
CN111741097B (zh) * 2020-06-15 2021-04-02 星环信息科技(上海)股份有限公司 一种租户独占节点的方法、计算机设备及存储介质
CN113806027A (zh) * 2020-06-15 2021-12-17 广州虎牙信息科技有限公司 任务编排方法、装置、电子设备和计算机可读存储介质
CN111737003A (zh) * 2020-06-24 2020-10-02 重庆紫光华山智安科技有限公司 Pod均衡调度方法、装置、主节点及存储介质
CN111737003B (zh) * 2020-06-24 2023-04-28 重庆紫光华山智安科技有限公司 Pod均衡调度方法、装置、主节点及存储介质
CN112395269A (zh) * 2020-11-16 2021-02-23 中国工商银行股份有限公司 MySQL高可用组的搭建方法及装置
CN112395269B (zh) * 2020-11-16 2023-08-29 中国工商银行股份有限公司 MySQL高可用组的搭建方法及装置
CN112540829A (zh) * 2020-12-16 2021-03-23 恒生电子股份有限公司 容器组驱逐方法、装置、节点设备及存储介质
CN113032102B (zh) * 2021-04-07 2024-04-19 广州虎牙科技有限公司 资源重调度方法、装置、设备和介质
CN113032102A (zh) * 2021-04-07 2021-06-25 广州虎牙科技有限公司 资源重调度方法、装置、设备和介质
CN113760549A (zh) * 2021-08-30 2021-12-07 聚好看科技股份有限公司 一种pod部署方法及装置
CN113760549B (zh) * 2021-08-30 2024-03-15 聚好看科技股份有限公司 一种pod部署方法及装置
CN114064296A (zh) * 2022-01-18 2022-02-18 北京建筑大学 一种Kubernetes调度方法、装置和存储介质
CN114064296B (zh) * 2022-01-18 2022-04-26 北京建筑大学 一种Kubernetes调度方法、装置和存储介质
WO2024066380A1 (zh) * 2022-09-26 2024-04-04 京东科技信息技术有限公司 容器的调度方法、装置及计算机设备
CN116938943B (zh) * 2023-09-15 2024-01-12 北京城建智控科技股份有限公司 云主机调度方法、装置、设备和存储介质
CN116938943A (zh) * 2023-09-15 2023-10-24 北京城建智控科技股份有限公司 云主机调度方法、装置、设备和存储介质

Also Published As

Publication number Publication date
WO2021063339A1 (zh) 2021-04-08
CN110727512B (zh) 2020-06-26

Similar Documents

Publication Publication Date Title
CN110727512B (zh) 集群资源调度方法、装置、设备及储存介质
US9852035B2 (en) High availability dynamic restart priority calculator
US10275277B2 (en) Job distribution within a grid environment using mega-host groupings of execution hosts
CN102667724B (zh) 用于动态管理加速器资源的方法和系统
US8352621B2 (en) Method and system to automatically optimize execution of jobs when dispatching them over a network of computers
US20150178135A1 (en) Facilitating tiered service model-based fair allocation of resources for application servers in multi-tenant environments
US20130346994A1 (en) Job distribution within a grid environment
US11507419B2 (en) Method,electronic device and computer program product for scheduling computer resources in a task processing environment
CN110851236A (zh) 一种实时资源调度方法、装置、计算机设备及存储介质
US9497096B2 (en) Dynamic control over tracing of messages received by a message broker
JP5121936B2 (ja) リソース割り当て装置及びリソース割り当てプログラム及び記録媒体及びリソース割り当て方法
CN108153589B (zh) 用于多线程的处理布置中的数据处理的方法和系统
CN109144697B (zh) 一种任务调度方法、装置、电子设备及存储介质
CN111464659A (zh) 节点的调度、节点的预选处理方法、装置、设备及介质
CN110427258B (zh) 基于云平台的资源调度控制方法及装置
US8458719B2 (en) Storage management in a data processing system
WO2020172852A1 (en) Computing resource scheduling method, scheduler, internet of things system, and computer readable medium
CN114610497A (zh) 容器调度方法、集群系统、装置、电子设备及存储介质
CN113626173B (zh) 调度方法、装置及存储介质
CN114327894A (zh) 资源分配方法、装置、电子设备及存储介质
US8560783B2 (en) Tracking ownership of memory in a data processing system through use of a memory monitor
CN113806594A (zh) 基于决策树的业务数据处理方法、装置、设备及存储介质
CN115543577B (zh) 基于协变量的Kubernetes资源调度优化方法、存储介质及设备
CN113703945B (zh) 微服务集群的调度方法、装置、设备及存储介质
CN115016890A (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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 200233 11-12 / F, building B, 88 Hongcao Road, Xuhui District, Shanghai

Patentee after: Star link information technology (Shanghai) Co.,Ltd.

Address before: 200233 11-12 / F, building B, 88 Hongcao Road, Xuhui District, Shanghai

Patentee before: TRANSWARP TECHNOLOGY (SHANGHAI) Co.,Ltd.

CP01 Change in the name or title of a patent holder