CN110515704A - 基于Kubernetes系统的资源调度方法及装置 - Google Patents
基于Kubernetes系统的资源调度方法及装置 Download PDFInfo
- Publication number
- CN110515704A CN110515704A CN201910816568.3A CN201910816568A CN110515704A CN 110515704 A CN110515704 A CN 110515704A CN 201910816568 A CN201910816568 A CN 201910816568A CN 110515704 A CN110515704 A CN 110515704A
- Authority
- CN
- China
- Prior art keywords
- container
- resource
- target
- utilization rate
- computing resource
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000001105 regulatory effect Effects 0.000 title claims abstract description 21
- 238000013500 data storage Methods 0.000 claims abstract description 10
- 238000004590 computer program Methods 0.000 claims description 10
- 238000007726 management method Methods 0.000 claims description 10
- 238000007599 discharging Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 230000006399 behavior Effects 0.000 claims 1
- 230000007812 deficiency Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000002860 competitive effect Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000008439 repair process 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/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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
- 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/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
-
- 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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于Kubernetes系统的资源调度方法、装置、设备及计算机可读存储介质,应用于调度器,包括:当Kubernetes系统调度目标容器时,判断集群资源是否小于所述目标容器的计算资源;若小于,则调取Kubernetes系统管理节点内数据存储中的各个容器的运行等级;其中,所述各个容器的运行等级根据所述各个容器的计算资源使用率与运行时长确定;根据所述各个容器的运行等级,抢占所述各个容器中的最低运行等级容器的当前计算资源,将所述目标容器调度至所述当前计算资源对应的计算节点上。本发明所提供的方法、装置、设备及计算机可读存储介质,提供了一种在集群资源不足时,更加科学合理的资源抢占调度策略。
Description
技术领域
本发明涉及集群管理技术领域,特别是涉及一种基于Kubernetes系统的资源调度方法、装置、设备以及计算机可读存储介质。
背景技术
Kubernetes作为管理跨多主机容器应用程序的系统,不仅具备完备的容器集群管理能力,还增加了多层次的安全防护机制、租户应用支撑、服务器注册和智能负载均衡器的功能,尤其Kubernetes强大的故障发现和自有修复能力,让系统的运维能力得到了极大提升。Kuberenetes卓越的调度能力也是在很多业务场景中得到应用。
现有技术中,Kuberenetes系统的抢占调度策略根据人为设置的容器优先级,在集群资源不足时候,可以kill低优先级的容器,保证高优先级容器可以正常被调度运行。虽然现有技术中的抢占调度策略满足了高优先级的容器的运行,但是也让平台存在很多不确定性。被kill掉的容器,虽然优先级较低,但并不代表重要性就低,如果一个运行了很长时间的容器被kill,其中的训练任务可能需要从头开始,这是让人无法接受的结果。
现有的抢占调度的核心是在容器创建之前人为的为每个容器设置等级,Kubernetes在调度过程中,当集群资源不足的时候,容器是否可以分到资源运行,完全取决于集群中是否存在等级比它更低的容器存在。如果存在,那么可以抢占低级别容器的资源;如果集群中已有容器资源等级和创建容器级别一样或者比创建资源级别高,则无法实现抢占,必须排队等待。
综上所述可以看出,如何提供一种更加合理科学的资源调度策略是目前有待解决的问题。
发明内容
本发明的目的是提供一种基于Kubernetes系统的资源调度方法、装置、设备以及计算机可读存储介质,以解决现有技术中根据容器预设的优先级进行资源调度,会造成被kill的容器虽优先级低但重要性高的问题。
为解决上述技术问题,本发明提供一种基于Kubernetes系统的资源调度方法,应用于调度器,包括:当Kubernetes系统调度目标容器时,判断当前集群资源是否小于所述目标容器的目标计算资源;若所述当前集群资源小于所述目标容器的目标计算资源,则调取所述Kubernetes系统管理节点内数据存储中的各个容器的运行等级;其中,所述各个容器的运行等级根据所述各个容器的计算资源使用率与运行时长确定;根据所述各个容器的运行等级,抢占所述各个容器中的最低运行等级容器的当前计算资源,将所述目标容器调度至所述当前计算资源对应的计算节点上。
优选地,所述根据所述各个容器的运行等级,抢占所述各个容器中的最低运行等级容器的当前计算资源,将所述目标容器调度至所述当前计算资源对应的计算节点上包括:
根据所述各个容器的运行等级,对所述各个容器中的最低运行等级容器执行kill操作,释放所述最低运行等级容器的当前计算资源;
将所述目标容器调度至释放所述当前计算资源的计算节点上。
优选地,所述各个容器的运行等级根据所述各个容器的计算资源使用率与运行时长确定的过程包括:
利用所述Kubernetes系统的各个计算节点上运行的Kubelet组件获取所述各个容器的计算资源使用率与运行时长,根据所述各个容器的计算资源使用率与运行时长确定所述各个容器的运行等级,并将所述各个容器的运行等级反馈至所述Kubernetes系统的管理节点;
其中,所述各个容器的计算资源使用率包括所述各个容器的CPU资源使用率及内存资源使用率。
优选地,所述根据所述各个容器的计算资源使用率与运行时长确定所述各个容器的运行等级包括:
根据podGrade=C*30%*100+M*50%*100+T*20%分别确定每个容器的运行等级podGrade;
其中,C为每个容器的CPU资源使用率,M为每个容器的内存资源使用率,T为每个容器的运行时长。
优选地,所述当Kubernetes系统调度目标容器时,判断当前集群资源是否小于所述目标容器的目标计算资源后还包括:
若所述当前集群资源大于等于所述目标计算资源,则将所述目标容器分配至包含有所述目标计算资源的目标计算节点。
本发明还提供了一种基于Kubernetes系统的资源调度装置,应用于调度器,包括:
判断模块,用于当Kubernetes系统调度目标容器时,判断当前集群资源是否小于所述目标容器的目标计算资源;
调取模块,用于若所述当前集群资源小于所述目标容器的目标计算资源,则调取所述Kubernetes系统管理节点内数据存储中的各个容器的运行等级;其中,所述各个容器的运行等级根据所述各个容器的计算资源使用率与运行时长确定;
调度模块,用于根据所述各个容器的运行等级,抢占所述各个容器中的最低运行等级容器的当前计算资源,将所述目标容器调度至所述当前计算资源对应的计算节点上。
优选地,所述调度模块包括:
释放单元,用于根据所述各个容器的运行等级,对所述各个容器中的最低运行等级容器执行kill操作,释放所述最低运行等级容器的当前计算资源;
调度单元,用于将所述目标容器调度至释放所述当前计算资源的计算节点上。
优选地,所述各个容器的运行等级的确定过程包括:
利用所述Kubernetes系统的各个计算节点上运行的Kubelet组件获取所述各个容器的计算资源使用率与运行时长,根据所述各个容器的计算资源使用率与运行时长确定所述各个容器的运行等级,并将所述各个容器的运行等级反馈至所述Kubernetes系统的管理节点;
其中,所述各个容器的计算资源使用率包括所述各个容器的CPU资源使用率及内存资源使用率。
本发明还提供了一种基于Kubernetes系统的资源调度设备,包括:
存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述一种基于Kubernetes系统的资源调度方法的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种基于Kubernetes系统的资源调度方法的步骤。
本发明所提供的基于Kubernetes系统的资源调度方法,当需要对Kubernetes系统中的目标容器进行调度时,调度器判断当前集群资源是否小于所述目标容器的目标计算资源;若所述当前集群资源小于所述目标容器的目标计算资源,在所述调度器从所述Kubernetes系统管理节点的数据存储中调取各个容器的运行等级。根据所述各个容器的运行等级,抢占所述各个容器中运行等级最低的容器的当前计算资源,并将所述目标容器调度至释放所述当前计算资源后的计算节点上。在本发明中,所述各个容器的运行等级是根据所述各个容器的计算资源使用率与运行时长确定的。依据计算资源使用率与运行时长这两个指标参数得到集群中所有的容器运行等级,从集群中获取等级最低的容器,作为抢占对象,不会出现现有技术中被kill掉的容器优先级低但重要性高的现象或因已有容器资源等级均比创建资源级别高,导致无法实现抢占的现象。本发明提供的抢占调度策略更加科学,也更加温和,极大地优化了Kuberentes系统原有调度策略的缺陷,提高了产品在不同业务场景的支持力度,让产品更有竞争力。
附图说明
为了更清楚的说明本发明实施例或现有技术的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的基于Kubernetes系统的资源调度方法的第一种具体实施例的流程图;
图2为Kubernetes系统的管理节点与计算节点的关系示意图;
图3为本发明所提供的基于Kubernetes系统的资源调度方法的第二种具体实施例的流程图;
图4为本发明实施例提供的一种基于Kubernetes系统的资源调度装置的结构框图。
具体实施方式
本发明的核心是提供一种基于Kubernetes系统的资源调度方法、装置、设备以及计算机可读存储介质,提供了一种更加科学、合理的资源调度策略,极大地优化了Kuberentes系统原有调度策略的缺陷,提高了产品在不同业务场景的支持力度,让产品更有竞争力。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明所提供的基于Kubernetes系统的资源调度方法的第一种具体实施例的流程图。本实施例所提供的方法,应用于调度器,具体操作步骤如下:
步骤S101:当Kubernetes系统调度目标容器时,判断当前集群资源是否小于所述目标容器的目标计算资源;
步骤S102:若所述当前集群资源小于所述目标容器的目标计算资源,则调取所述Kubernetes系统管理节点内数据存储中的各个容器的运行等级;其中,所述各个容器的运行等级根据所述各个容器的计算资源使用率与运行时长确定;
当所述当前集群资源不足时,所述调度器从所述Kubernetes系统管理节点的数据存储中调取各个容器的运行等级。
在所述Kuberentes系统中的每个计算节点上均安装有Kubelet组件,负责每个容器在每个计算节点上的整个生命周期:从创建、运维、监控到释放资源回收。其中,监控为监控容器的资源使用情况。容器资源包括计算资源与存储资源,所述计算资源又分为CPU资源与内存资源。因此,在本实施例中,所述各个容器的计算资源使用率包括CPU资源使用率与内存资源使用率。
所述Kubelet组件在获取当前容器的计算资源使用率与运行时长后,计算得到当前容器的运行等级,获取到的容器运行等级信息可以作为后期Kubernetes调度新容器时的抢占依据。所述Kubelet组件得到所述各个容器的组件后,将所述各个容器的运行等级信息和基本信息(如运行状态、日志等)以及各个计算节点的基本信息一起反馈至所述Kubernetes系统的管理节点(Master),并存储至所述管理节点的数据存储etcd中,所述管理节点与所述计算节点的关系示意图如图2所示。
在本实施例中,可以根据:
podGrade=C*30%*100+M*50%*100+T*20%分别确定每个容器的运行等级podGrade;
其中,C为每个容器的CPU资源使用率,M为每个容器的内存资源使用率,T为每个容器的运行时长,单位为秒。
在本实施例中,将CPU资源使用率的权重设置为30%,是因为CPU资源在集群资源中一般属于较富裕资源,利用率不会特别高,对于平台资源的分配不是瓶颈,而内存资源则为紧缺资源,往往是发生抢占的直接原因。因此,将所述内存资源的权重设置为在为50%,一个容器内存使用率越高说明器任务正处于高运算阶段,也是训练的关键阶段,因此该容器的任务不适合中断,所以根据公式推导这个容器的运行等级也就会比较高,不宜被抢占。所述运行时长也是一个考量因素,由于运行时长较长的容器可能运行的为一个长任务,因此对于运行时长比较大的容器需要慎重抢占。对于运行时长较长的容器如果粗暴抢占会造成比较大的损失,所以在公式中将所述运行时长的权重设置为20%。综合所述每个容器的CPU资源使用率、内存资源使用率及运行时长三个关键因素及各个因素所占比分比则可以计算得到所述每个容器的运行等级。
需要说明的是,在本发明所提供的其他实施例中,对于容器CPU资源使用率、内存资源使用率及运行时长的所占比还可以为其他占比,例如2:6:2、2.5:5.5:2等。
步骤S103:根据所述各个容器的运行等级,抢占所述各个容器中的最低运行等级容器的当前计算资源,将所述目标容器调度至所述当前计算资源对应的计算节点上。
本实施例所提供的方法,基于容器的计算资源使用率与运行时长计算出集群中每个容器的运行等级,然后在调度新容器且集群资源不充足时,调度器基于每个容器的运行等级,在抢占调度过程中选择抢占的运行等级最低的容器的计算资源。本实施所提供的资源调度方法,更加科学与合理,不会出现现有技术中被kill掉的容器优先级低但重要级高的现象,也不会出现集群中已有容器资源等级和新容器级别一样或者比新容器资源级别高,出现无法实现抢占,必须排队等待的现象。
基于上述实施例,在本实施例中,当需要调度新容器时,判断集群资源是否充足。若集群资源充足,则使用Kubernetes系统的原有调度策略,直接按需分配资源;若集群资源不充足时,则扩展所述Kubernetes的原有调度策略,根据集群中各个容器的运行等级,确定被抢占资源的已有容器。
请参考图3,图3为本发明所提供的基于Kubernetes系统的资源调度方法的第二种具体实施例的流程图。本实施例所提供的方法,应用于调度器,具体操作步骤如下:
步骤S301:当Kubernetes系统调度目标容器时,判断当前集群资源是否小于所述目标容器的目标计算资源;
步骤S302:若所述当前集群资源大于等于所述目标计算资源,则根据所述Kubernetes系统的原生资源分配策略为所述目标容器分配计算资源;
步骤S303:若所述当前集群资源小于所述目标计算资源,则调取所述Kubernetes系统管理节点内数据存储中的各个容器的运行等级;其中,所述各个容器的运行等级根据所述各个容器的计算资源使用率与运行时长确定;
步骤S304:根据所述各个容器的运行等级,对所述各个容器中的最低运行等级容器执行kill操作,释放所述最低运行等级容器的当前计算资源;
步骤S305:将所述目标容器调度至释放所述当前计算资源的计算节点上。
在本实施例中,当集群资源充足的时候,调度器无需识别Kubernetes系统各个容器的运行等级,直接依据所述Kubernetes系统的原生调度策略按需为目标容器分配资源,也不会发生抢占。只有当集群资源紧缺,不足以满足新容器时,本实施例所提供的资源抢占策略才会生效。需要扩展所述Kubernetes系统原有的调度策略:在原生调度策略中增加容器运行等级的判断,当集群资源不足的时候,获取etcd中存储容器运行等级最低的容器,首先执行所述运行等级最低的容器的kill操作,杀死低运行等级容器释放计算资源,然后将所述目标容器调度到释放出资源的计算节点即可。
请参考图4,图4为本发明实施例提供的一种基于Kubernetes系统的资源调度装置的结构框图;本实施例所提供的装置,应用于调度器,具体装置可以包括:
判断模块100,用于当Kubernetes系统调度目标容器时,判断当前集群资源是否小于所述目标容器的目标计算资源;
调取模块200,用于若所述当前集群资源小于所述目标容器的目标计算资源,则调取所述Kubernetes系统管理节点内数据存储中的各个容器的运行等级;其中,所述各个容器的运行等级根据所述各个容器的计算资源使用率与运行时长确定;
调度模块300,用于根据所述各个容器的运行等级,抢占所述各个容器中的最低运行等级容器的当前计算资源,将所述目标容器调度至所述当前计算资源对应的计算节点上。
本实施例的基于Kubernetes系统的资源调度装置用于实现前述的基于Kubernetes系统的资源调度方法,因此基于Kubernetes系统的资源调度装置中的具体实施方式可见前文中的基于Kubernetes系统的资源调度方法的实施例部分,例如,判断模块100,调取模块200,调度模块300,分别用于实现上述基于Kubernetes系统的资源调度方法中步骤S101,S102和S103,所以,其具体实施方式可以参照相应的各个部分实施例的描述,在此不再赘述。
本发明具体实施例还提供了一种基于Kubernetes系统的资源调度设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现上述一种基于Kubernetes系统的资源调度方法的步骤。
本发明具体实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述一种基于Kubernetes系统的资源调度方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本发明所提供的基于Kubernetes系统的资源调度方法、装置、设备以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种基于Kubernetes系统的资源调度方法,其特征在于,应用于调度器,包括:
当Kubernetes系统调度目标容器时,判断当前集群资源是否小于所述目标容器的目标计算资源;
若所述当前集群资源小于所述目标容器的目标计算资源,则调取所述Kubernetes系统管理节点内数据存储中的各个容器的运行等级;其中,所述各个容器的运行等级根据所述各个容器的计算资源使用率与运行时长确定;
根据所述各个容器的运行等级,抢占所述各个容器中的最低运行等级容器的当前计算资源,将所述目标容器调度至所述当前计算资源对应的计算节点上。
2.如权利要求1所述的方法,其特征在于,所述根据所述各个容器的运行等级,抢占所述各个容器中的最低运行等级容器的当前计算资源,将所述目标容器调度至所述当前计算资源对应的计算节点上包括:
根据所述各个容器的运行等级,对所述各个容器中的最低运行等级容器执行kill操作,释放所述最低运行等级容器的当前计算资源;
将所述目标容器调度至释放所述当前计算资源的计算节点上。
3.如权利要求1所述的方法,其特征在于,所述各个容器的运行等级根据所述各个容器的计算资源使用率与运行时长确定的过程包括:
利用所述Kubernetes系统的各个计算节点上运行的Kubelet组件获取所述各个容器的计算资源使用率与运行时长,根据所述各个容器的计算资源使用率与运行时长确定所述各个容器的运行等级,并将所述各个容器的运行等级反馈至所述Kubernetes系统的管理节点;
其中,所述各个容器的计算资源使用率包括所述各个容器的CPU资源使用率及内存资源使用率。
4.如权利要求3所述的方法,其特征在于,所述根据所述各个容器的计算资源使用率与运行时长确定所述各个容器的运行等级包括:
根据podGrade=C*30%*100+M*50%*100+T*20%分别确定每个容器的运行等级podGrade;
其中,C为每个容器的CPU资源使用率,M为每个容器的内存资源使用率,T为每个容器的运行时长。
5.如权利要求1所述的方法,其特征在于,所述当Kubernetes系统调度目标容器时,判断当前集群资源是否小于所述目标容器的目标计算资源后还包括:
若所述当前集群资源大于等于所述目标计算资源,则将所述目标容器分配至包含有所述目标计算资源的目标计算节点。
6.一种基于Kubernetes系统的资源调度装置,其特征在于,应用于调度器,包括:
判断模块,用于当Kubernetes系统调度目标容器时,判断当前集群资源是否小于所述目标容器的目标计算资源;
调取模块,用于若所述当前集群资源小于所述目标容器的目标计算资源,则调取所述Kubernetes系统管理节点内数据存储中的各个容器的运行等级;其中,所述各个容器的运行等级根据所述各个容器的计算资源使用率与运行时长确定;
调度模块,用于根据所述各个容器的运行等级,抢占所述各个容器中的最低运行等级容器的当前计算资源,将所述目标容器调度至所述当前计算资源对应的计算节点上。
7.如权利要求6所述的装置,其特征在于,所述调度模块包括:
释放单元,用于根据所述各个容器的运行等级,对所述各个容器中的最低运行等级容器执行kill操作,释放所述最低运行等级容器的当前计算资源;
调度单元,用于将所述目标容器调度至释放所述当前计算资源的计算节点上。
8.如权利要求6所述的装置,其特征在于,所述各个容器的运行等级的确定过程包括:
利用所述Kubernetes系统的各个计算节点上运行的Kubelet组件获取所述各个容器的计算资源使用率与运行时长,根据所述各个容器的计算资源使用率与运行时长确定所述各个容器的运行等级,并将所述各个容器的运行等级反馈至所述Kubernetes系统的管理节点;
其中,所述各个容器的计算资源使用率包括所述各个容器的CPU资源使用率及内存资源使用率。
9.一种基于Kubernetes系统的资源调度设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述一种基于Kubernetes系统的资源调度方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述一种基于Kubernetes系统的资源调度方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910816568.3A CN110515704B (zh) | 2019-08-30 | 2019-08-30 | 基于Kubernetes系统的资源调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910816568.3A CN110515704B (zh) | 2019-08-30 | 2019-08-30 | 基于Kubernetes系统的资源调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110515704A true CN110515704A (zh) | 2019-11-29 |
CN110515704B CN110515704B (zh) | 2023-08-04 |
Family
ID=68629680
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910816568.3A Active CN110515704B (zh) | 2019-08-30 | 2019-08-30 | 基于Kubernetes系统的资源调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110515704B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111522636A (zh) * | 2020-04-03 | 2020-08-11 | 安超云软件有限公司 | 应用容器的调整方法、调整系统、计算机可读介质及终端设备 |
CN111666158A (zh) * | 2020-06-23 | 2020-09-15 | 中信银行股份有限公司 | 一种基于Kubernetes的容器调度方法、装置、存储介质及电子设备 |
CN112015536A (zh) * | 2020-08-28 | 2020-12-01 | 北京浪潮数据技术有限公司 | Kubernetes集群容器组调度方法、装置及介质 |
CN112187894A (zh) * | 2020-09-17 | 2021-01-05 | 杭州谐云科技有限公司 | 一种基于负载相关性预测的容器动态调度方法 |
CN112416530A (zh) * | 2020-12-08 | 2021-02-26 | 西藏宁算科技集团有限公司 | 弹性管理集群物理机节点的方法、装置及电子设备 |
CN112445577A (zh) * | 2020-11-30 | 2021-03-05 | 广州文远知行科技有限公司 | 容器添加方法、装置、终端设备及存储介质 |
CN112965795A (zh) * | 2021-02-23 | 2021-06-15 | 卓望数码技术(深圳)有限公司 | 集群调度方法、电子设备及存储介质 |
CN113127178A (zh) * | 2019-12-30 | 2021-07-16 | 医渡云(北京)技术有限公司 | 资源抢占方法及装置、计算机可读存储介质、电子设备 |
WO2021169342A1 (zh) * | 2020-02-24 | 2021-09-02 | 苏州浪潮智能科技有限公司 | 一种Kubernetes中节点的资源管理方法、设备以及介质 |
CN113722292A (zh) * | 2021-08-30 | 2021-11-30 | 平安国际智慧城市科技股份有限公司 | 分布式数据系统的应灾处理方法、装置、设备及存储介质 |
CN113867927A (zh) * | 2020-06-30 | 2021-12-31 | 北京达佳互联信息技术有限公司 | 资源分配方法、装置、电子设备和存储介质 |
CN114675976A (zh) * | 2022-05-26 | 2022-06-28 | 深圳前海环融联易信息科技服务有限公司 | 基于kubernetes的GPU共享方法、装置、设备及介质 |
CN111831390B (zh) * | 2020-01-08 | 2024-04-16 | 北京嘀嘀无限科技发展有限公司 | 服务器的资源管理方法、装置及服务器 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106027643A (zh) * | 2016-05-18 | 2016-10-12 | 无锡华云数据技术服务有限公司 | 一种基于Kubernetes容器集群管理系统的资源调度方法 |
US20180074855A1 (en) * | 2016-09-14 | 2018-03-15 | Cloudera, Inc. | Utilization-aware resource scheduling in a distributed computing cluster |
CN108519911A (zh) * | 2018-03-23 | 2018-09-11 | 上饶市中科院云计算中心大数据研究院 | 一种基于容器的集群管理系统中资源的调度方法和装置 |
CN108769254A (zh) * | 2018-06-25 | 2018-11-06 | 星环信息科技(上海)有限公司 | 基于抢占式调度的资源共享使用方法、系统及设备 |
CN108920269A (zh) * | 2018-07-19 | 2018-11-30 | 中国联合网络通信集团有限公司 | 容器的i/o传输任务的调度方法和装置 |
CN109271236A (zh) * | 2018-09-18 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种业务调度的方法、装置、计算机存储介质及终端 |
CN109582436A (zh) * | 2018-10-15 | 2019-04-05 | 上海交通大学 | 基于容器集群平台的细粒度抢占式资源调度系统及方法 |
CN109885389A (zh) * | 2019-02-19 | 2019-06-14 | 山东浪潮云信息技术有限公司 | 一种基于容器的并行深度学习调度训练方法及系统 |
-
2019
- 2019-08-30 CN CN201910816568.3A patent/CN110515704B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106027643A (zh) * | 2016-05-18 | 2016-10-12 | 无锡华云数据技术服务有限公司 | 一种基于Kubernetes容器集群管理系统的资源调度方法 |
US20180074855A1 (en) * | 2016-09-14 | 2018-03-15 | Cloudera, Inc. | Utilization-aware resource scheduling in a distributed computing cluster |
CN108519911A (zh) * | 2018-03-23 | 2018-09-11 | 上饶市中科院云计算中心大数据研究院 | 一种基于容器的集群管理系统中资源的调度方法和装置 |
CN108769254A (zh) * | 2018-06-25 | 2018-11-06 | 星环信息科技(上海)有限公司 | 基于抢占式调度的资源共享使用方法、系统及设备 |
CN108920269A (zh) * | 2018-07-19 | 2018-11-30 | 中国联合网络通信集团有限公司 | 容器的i/o传输任务的调度方法和装置 |
CN109271236A (zh) * | 2018-09-18 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种业务调度的方法、装置、计算机存储介质及终端 |
CN109582436A (zh) * | 2018-10-15 | 2019-04-05 | 上海交通大学 | 基于容器集群平台的细粒度抢占式资源调度系统及方法 |
CN109885389A (zh) * | 2019-02-19 | 2019-06-14 | 山东浪潮云信息技术有限公司 | 一种基于容器的并行深度学习调度训练方法及系统 |
Non-Patent Citations (1)
Title |
---|
WEIXIN_34357267: "Kubernetes集群调度器原理剖析及思考", pages 2, Retrieved from the Internet <URL:《https://blog.csdn.net/weixin_34357267/article/details/91689922》> * |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127178B (zh) * | 2019-12-30 | 2024-03-29 | 医渡云(北京)技术有限公司 | 资源抢占方法及装置、计算机可读存储介质、电子设备 |
CN113127178A (zh) * | 2019-12-30 | 2021-07-16 | 医渡云(北京)技术有限公司 | 资源抢占方法及装置、计算机可读存储介质、电子设备 |
CN111831390B (zh) * | 2020-01-08 | 2024-04-16 | 北京嘀嘀无限科技发展有限公司 | 服务器的资源管理方法、装置及服务器 |
WO2021169342A1 (zh) * | 2020-02-24 | 2021-09-02 | 苏州浪潮智能科技有限公司 | 一种Kubernetes中节点的资源管理方法、设备以及介质 |
US11915067B2 (en) | 2020-02-24 | 2024-02-27 | Inspur Suzhou Intelligent Technology Co., Ltd. | Resource management method for node in kubernetes, device, and medium |
CN111522636B (zh) * | 2020-04-03 | 2023-03-14 | 安超云软件有限公司 | 应用容器的调整方法、调整系统、计算机可读介质及终端设备 |
CN111522636A (zh) * | 2020-04-03 | 2020-08-11 | 安超云软件有限公司 | 应用容器的调整方法、调整系统、计算机可读介质及终端设备 |
CN111666158A (zh) * | 2020-06-23 | 2020-09-15 | 中信银行股份有限公司 | 一种基于Kubernetes的容器调度方法、装置、存储介质及电子设备 |
CN113867927A (zh) * | 2020-06-30 | 2021-12-31 | 北京达佳互联信息技术有限公司 | 资源分配方法、装置、电子设备和存储介质 |
CN112015536A (zh) * | 2020-08-28 | 2020-12-01 | 北京浪潮数据技术有限公司 | Kubernetes集群容器组调度方法、装置及介质 |
CN112187894A (zh) * | 2020-09-17 | 2021-01-05 | 杭州谐云科技有限公司 | 一种基于负载相关性预测的容器动态调度方法 |
CN112187894B (zh) * | 2020-09-17 | 2022-06-10 | 杭州谐云科技有限公司 | 一种基于负载相关性预测的容器动态调度方法 |
CN112445577A (zh) * | 2020-11-30 | 2021-03-05 | 广州文远知行科技有限公司 | 容器添加方法、装置、终端设备及存储介质 |
CN112445577B (zh) * | 2020-11-30 | 2023-11-24 | 广州文远知行科技有限公司 | 容器添加方法、装置、终端设备及存储介质 |
CN112416530B (zh) * | 2020-12-08 | 2023-12-22 | 西藏宁算科技集团有限公司 | 弹性管理集群物理机节点的方法、装置及电子设备 |
CN112416530A (zh) * | 2020-12-08 | 2021-02-26 | 西藏宁算科技集团有限公司 | 弹性管理集群物理机节点的方法、装置及电子设备 |
CN112965795A (zh) * | 2021-02-23 | 2021-06-15 | 卓望数码技术(深圳)有限公司 | 集群调度方法、电子设备及存储介质 |
CN112965795B (zh) * | 2021-02-23 | 2024-06-07 | 卓望数码技术(深圳)有限公司 | 集群调度方法、电子设备及存储介质 |
CN113722292B (zh) * | 2021-08-30 | 2024-02-09 | 深圳平安智慧医健科技有限公司 | 分布式数据系统的应灾处理方法、装置、设备及存储介质 |
CN113722292A (zh) * | 2021-08-30 | 2021-11-30 | 平安国际智慧城市科技股份有限公司 | 分布式数据系统的应灾处理方法、装置、设备及存储介质 |
CN114675976B (zh) * | 2022-05-26 | 2022-09-16 | 深圳前海环融联易信息科技服务有限公司 | 基于kubernetes的GPU共享方法、装置、设备及介质 |
CN114675976A (zh) * | 2022-05-26 | 2022-06-28 | 深圳前海环融联易信息科技服务有限公司 | 基于kubernetes的GPU共享方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110515704B (zh) | 2023-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110515704A (zh) | 基于Kubernetes系统的资源调度方法及装置 | |
CN111966500B (zh) | 资源调度方法、装置、电子设备及存储介质 | |
CN112015536B (zh) | Kubernetes集群容器组调度方法、装置及介质 | |
CN109783229A (zh) | 线程资源分配的方法及装置 | |
CN110213371A (zh) | 消息消费方法、装置、设备及计算机存储介质 | |
CN106681835B (zh) | 资源分配的方法和资源管理器 | |
US20170329643A1 (en) | Distributed node intra-group task scheduling method and system | |
CN109062658A (zh) | 实现计算资源服务化的调度方法、装置、介质、设备及系统 | |
CN103825964B (zh) | 一种基于云计算PaaS平台的SLS调度装置和方法 | |
CN110661842B (zh) | 一种资源的调度管理方法、电子设备和存储介质 | |
CN105468435A (zh) | Nfv动态资源分配方法 | |
CN110162388A (zh) | 一种任务调度方法、系统及终端设备 | |
CN109213555A (zh) | 一种面向虚拟桌面云的资源动态调度方法 | |
CN109992422A (zh) | 一种面向gpu资源的任务调度方法、装置和系统 | |
CN108667867A (zh) | 数据存储方法及装置 | |
CN107968810A (zh) | 一种服务器集群的资源调度方法、装置和系统 | |
CN104301257B (zh) | 一种资源分配方法、装置及设备 | |
CN110210789A (zh) | 电网测试业务的资源配置调度方法、装置、设备 | |
CN108170517A (zh) | 一种容器分配方法、装置、服务器及介质 | |
CN110109756A (zh) | 一种网络靶场构建方法、系统及存储介质 | |
CN106713375A (zh) | 云资源的调配方法及装置 | |
CN112799817A (zh) | 一种微服务资源调度系统和方法 | |
CN107729514A (zh) | 一种基于hadoop的副本放置节点确定方法及装置 | |
CN109783225A (zh) | 一种多租户大数据平台的租户优先级管理方法及系统 | |
CN109257399A (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 |