CN113900822A - 一种新的权重可变的资源调度方法 - Google Patents
一种新的权重可变的资源调度方法 Download PDFInfo
- Publication number
- CN113900822A CN113900822A CN202111263932.1A CN202111263932A CN113900822A CN 113900822 A CN113900822 A CN 113900822A CN 202111263932 A CN202111263932 A CN 202111263932A CN 113900822 A CN113900822 A CN 113900822A
- Authority
- CN
- China
- Prior art keywords
- nodes
- node
- task
- mirror image
- target task
- 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 27
- 238000012216 screening Methods 0.000 claims abstract description 9
- 238000004519 manufacturing process Methods 0.000 claims abstract description 7
- 238000012544 monitoring process Methods 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 5
- 238000007726 management method Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
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
本发明公开了一种新的权重可变的资源调度方法,涉及容器集群领域,该方法包括对容器化集群中资源(CPU,内存,存储,镜像)的监控,并以固定时间间隔将获取的资源信息,保存在数组中;当有新任务调度时,从数组中按照比例获取满足其资源需求的节点,并对满足任务资源需要的节点进行初始筛选;根据生产需要手动赋予不同的权重,对通过筛选的节点,权值累加求和,进而选出总分最高的工作节点进行任务绑定。本公开方案能够在新任务加入集群时,减少任务调度的时间消耗,并在任务部署阶段有效节约占用的网络带宽。
Description
技术领域
本公开涉及计算机技术领域,具体涉及一种容器化集群的权重可变的资源调度方法。
背景技术
容器技术越来越普及,据Gartner估计,2022年,全球将有3/4的公司使用容器技术,而在2017年使用容器技术的公司还不到20%。容器技术的火热应用引发了上层应用容器编排技术的发展,目前最受欢迎的容器编排系统是谷歌公司开源的Kubernetes,其引领着技术潮流,用于应对生产环境中编排容器所需的额外复杂度及成本。Kubernetes系统帮助企业加快了容器编排的速度,并实现了对多容器集群的大规模管理。它允许持续集成和交付、网络处理、服务发现及存储服务等,并具有在多云环境下进行操作的能力。
目前,主流的容器编排系统的调度方案,均是由独立的调度器组件集中调度,一般的调度流程为:对需要调度的任务,遍历一定数量的节点,依次对节点进行验证是否满足任务需求,接下来将满足任务需求的节点按调度策略进行打分,选择分数最高的节点部署任务。
Kubernetes每次进行任务调度时,都会依次遍历每一个节点的资源使用状况,从中选择满足资源需求的节点,这种方式会对大量不满足基本资源需求的节点进行操作,占用部分运算资源,并延长了调度任务的时间。同时,在实际场景中工作节点中往往存在部分调度任务需要的镜像,Kubernetes调度时未考虑节点中已存在的镜像,若调度到不含需求镜像的节点时会占用大量网络带宽。
发明内容
针对上述问题,本公开实施例提供一种新的权重可变的资源调度方法,以缩减调度时间,并减少网络带宽消耗。
为达到以上目的,本发明采用如下的技术方案:一种新的权重可变的资源调度方法,其中包括能够预先获取节点的资源使用情况,并存储节点上已有镜像列表,其中包括CPU的空闲资源、剩余内存、剩余存储空间。
在上述的权重可变的资源调度方法中,周期性获取资源使用情况,时间长度默认为30分钟,可以自定义时间长度。
在上述的权重可变的资源调度方法中,预先获取的节点资源使用情况,以空闲CPU和剩余内存的大小为横纵坐标,对应的节点编号作为值存储在二维数组中。
在上述的权重可变的资源调度方法中,节点上已有的镜像存储在以节点编号为键,镜像列表为值的哈希表上。
在上述的权重可变的资源调度方法中,以满足目标任务的CPU和内存需求为首选筛选策略,在二维数组中选取符合要求的节点。
对通过资源检测的节点,进行约束条件检测包括:目标任务所需的卷和备选节点中已存在的卷是否存在冲突;目标任务所需的HostPort是否已被节点上的其他容器或服务占用;节点是否满足目标任务指定的节点主机名;节点标签是否匹配目标任务的nodeSelector属性要求;节点已挂载的EBS、GCE、Azure存储卷不超过设置的最大值;节点是否已经进入到内存压力状态;节点是否已经进入到磁盘压力状态;节点亲和性筛选。
对通过约束条件检测的节点,根据实际生产需要,对节点的不同属性赋予不同的权重。
在上述的权重可变的资源调度方法中,CPU和内存的使用率越低得分越高,节点所含任务需要的镜像数量越多得分越高,已有镜像大小越大得分越高。
在上述的权重可变的资源调度方法中,入选节点总分为各模块得分与权重的乘积和。
附图说明
图1为本发明实施例一种新的权重可变的资源调度方法的流程示意图之一;
图2为本发明实施例一种新的权重可变的资源调度方法的流程示意图之二;
具体实施方式
显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
术语说明:
工作节点:集群中除了提供集群管理服务的其他服务器被称为工作节点,工作节点可以是一台物理主机,也可以是一台虚拟机。每个工作节点都会被分配一些工作负载(容器)。
目标任务:也称作服务,Service,一般来说,Service指的是无状态服务,通常由多个程序副本提供服务,在特殊情况下也可以是有状态的单例服务,比如MySQL这种数据存储类服务。
存储卷:存储卷是能够被多个容器访问的共享目录。存储卷被定义在Pod中,被一个Pod里的多个容器挂载到具体的文件目录下;存储卷的生命周期和容器的生命周期不相关,当容器终止或重启时,存储卷中的数据也不会丢失。
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述。
本发明实施例提供了一种新的权重可变的资源调度方法,其通过对工作节点资源的监控,减少调度时的时间消耗,并节约网络带宽消耗。
为了达到上述技术效果,本申请的总体思路如下:
以固定时间周期获取集群中工作节点的资源使用状况,并更新到数据结构中。
筛选通过资源限制的节点,并设置不同条件的权重。
对通过所有筛选条件的节点,进行打分,做权重分数乘积的累加和。
成功将任务绑定到节点后,将节点资源状况更新到数据结构中。
实施例一
如图1所示,本发明实施例提供一种新的权重可变的资源调度方法,其包括:
S1:以固定时长周期性获取集群中所有工作节点的资源(CPU,内存)的使用状况和已存在的镜像id,分别存储在二维数组和镜像列表中;
提前获取工作节点资源的剩余情况,并设置一定的冗余,可以确保要进入筛选的工作节点,均满足资源需求。
S2:目标任务运行时,根据目标任务对资源(CPU,内存)的约束,遍历二维数组中满足约束条件的节点,同时对它们进行其他约束条件的验证。
经S1操作后,可节约筛选时间,并同时缩小筛选范围。筛选过程,去除不符合任务需求的工作节点,经此步骤的节点,均可作为任务的工作节点。
S3:对满足约束条件的节点,根据实际生产需要设置不同的权重(节点的镜像列表存在目标镜像,赋予高权值),累加求和。
根据实际生产需要。包括容灾、网络带宽消耗、稳定性、传输距离。对同属一个server,replicationcontroller或replica的多个任务副本,尽量调度到多个不同节点上。如果指定区域,会尽量将任务分散到不同区域的不同工作节点上;根据节点上是否存在目标任务运行所需的镜像,节点匹配镜像数量多的节点优先。
S4:将目标任务绑定到分数最高的节点上,并将CPU和内存的使用状况和已有镜像更新到二维数组与镜像列表中。
将任务绑定到节点上后,更新节点资源使用情况,以保持实时性。
虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改或者对部分技术特征进行等同替换。本公开的范围由所附权利要求来限定。
Claims (5)
1.一种新的权重可变的资源调度方法,其特征在于,包括:
以固定时长周期性获取集群中所有工作节点的资源(CPU,内存)的使用状况和已存在的镜像ID,分别存储在二维数组和镜像列表中;
目标任务运行时,根据目标任务对资源(CPU,内存)的约束,遍历二维数组中满足约束条件的节点,同时对它们进行其他约束条件的验证;
对满足约束条件的节点,根据实际生产需要设置不同的权重(节点的镜像列表存在目标镜像,赋予高权值),累加求和;
将目标任务绑定到分数最高的节点上,并将CPU和内存的使用状况和已有镜像更新到二维数组与镜像列表中。
2.根据权利要求1所述的方法,其特征在于:
所述工作节点资源包括:CPU、内存、存储、已有镜像;
所述数据结构包括:二维数组、镜像列表;
所述目标任务包括:创建/启动一个指定镜像的容器。
3.根据权利要求1所述的方法,其中,约束条件包括:
目标任务所需的卷和备选节点中已存在的卷是否存在冲突;
目标任务所需的HostPort是否已被节点上的其他容器或服务占用;
节点是否满足目标任务指定的节点主机名;
节点标签是否匹配目标任务的nodeSelector属性要求;
节点已挂载的EBS、GCE、Azure存储卷不超过设置的最大值;
节点是否已经进入到内存压力状态;
节点是否已经进入到磁盘压力状态;
节点亲和性筛选。
4.根据权利要求1所述的方法,其中,实际生产需要包括:
CPU和内存的使用率,资源空闲比越高的节点得分越高;
为了容灾,对同属一个server,replication controller或replica的多个任务副本,尽量调度到多个不同节点上。如果指定区域,会尽量将任务分散到不同区域的不同工作节点上;
根据节点上是否存在目标任务运行所需的镜像,节点匹配镜像数量多的节点优先。
5.根据权利要求4所述的方法,其中,匹配镜像数量多的节点优先包括:
工作节点上任务所需的镜像一个都不存在,分值为0;
工作节点上存在任务所需的部分镜像,根据镜像的大小决定分值;
工作节点上存在任务所需的部分镜像,分值为10。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111263932.1A CN113900822A (zh) | 2021-10-27 | 2021-10-27 | 一种新的权重可变的资源调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111263932.1A CN113900822A (zh) | 2021-10-27 | 2021-10-27 | 一种新的权重可变的资源调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113900822A true CN113900822A (zh) | 2022-01-07 |
Family
ID=79026792
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111263932.1A Pending CN113900822A (zh) | 2021-10-27 | 2021-10-27 | 一种新的权重可变的资源调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113900822A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108519911A (zh) * | 2018-03-23 | 2018-09-11 | 上饶市中科院云计算中心大数据研究院 | 一种基于容器的集群管理系统中资源的调度方法和装置 |
CN108829509A (zh) * | 2018-05-03 | 2018-11-16 | 山东汇贸电子口岸有限公司 | 基于国产cpu和操作系统的分布式容器集群框架资源管理方法 |
CN111522639A (zh) * | 2020-04-16 | 2020-08-11 | 南京邮电大学 | Kubernetes集群架构系统下多维资源调度方法 |
CN111522667A (zh) * | 2020-04-27 | 2020-08-11 | 中国地质大学(武汉) | 容器云环境下基于镜像存在机制评分策略的资源调度方法 |
-
2021
- 2021-10-27 CN CN202111263932.1A patent/CN113900822A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108519911A (zh) * | 2018-03-23 | 2018-09-11 | 上饶市中科院云计算中心大数据研究院 | 一种基于容器的集群管理系统中资源的调度方法和装置 |
CN108829509A (zh) * | 2018-05-03 | 2018-11-16 | 山东汇贸电子口岸有限公司 | 基于国产cpu和操作系统的分布式容器集群框架资源管理方法 |
CN111522639A (zh) * | 2020-04-16 | 2020-08-11 | 南京邮电大学 | Kubernetes集群架构系统下多维资源调度方法 |
WO2021208546A1 (zh) * | 2020-04-16 | 2021-10-21 | 南京邮电大学 | Kubernetes集群架构系统下多维资源调度方法 |
CN111522667A (zh) * | 2020-04-27 | 2020-08-11 | 中国地质大学(武汉) | 容器云环境下基于镜像存在机制评分策略的资源调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106776005B (zh) | 一种面向容器化应用的资源管理系统及方法 | |
CN106919445B (zh) | 一种在集群中并行调度容器的方法和装置 | |
CN108833197B (zh) | 一种基于云的主动探测方法和探测平台 | |
US7451201B2 (en) | Policy driven autonomic computing-specifying relationships | |
CN109150987B (zh) | 基于主机层和容器层的两层式容器集群弹性扩容方法 | |
CN110300130B (zh) | 一种资源调度方法、装置、电子设备及存储介质 | |
CN112506659A (zh) | 一种边缘设备的管理方法以及相关装置 | |
US8381222B2 (en) | Policy driven automation—specifying equivalent resources | |
CN113645300A (zh) | 一种基于Kubernetes集群的节点智能调度方法和系统 | |
CN113918281A (zh) | 一种提升容器云资源扩展效率的方法 | |
CN114153580A (zh) | 一种跨多集群的工作调度方法及装置 | |
CN111767145A (zh) | 容器调度系统、方法、装置和设备 | |
CN116340005B (zh) | 容器集群的调度方法、装置、设备及存储介质 | |
CN113315754A (zh) | 容器出访防火墙智能联动方法及装置、设备、介质 | |
CN105553732A (zh) | 一种分布式网络模拟方法及系统 | |
CN116483546B (zh) | 分布式训练任务调度方法、装置、设备及存储介质 | |
CN110958138B (zh) | 一种容器扩容方法及装置 | |
US12028269B2 (en) | Method for optimal resource selection based on available GPU resource analysis in large-scale container platform | |
CN115866059B (zh) | 一种区块链节点调度方法和装置 | |
CN114816272B (zh) | Kubernetes环境下的磁盘管理系统 | |
CN113900822A (zh) | 一种新的权重可变的资源调度方法 | |
CN113157476B (zh) | 虚拟云环境中显卡故障的处理方法及装置 | |
CN115061811A (zh) | 一种资源调度方法、装置、设备及存储介质 | |
CN110209475A (zh) | 数据采集方法及装置 | |
EP4211879B1 (en) | Reducing placement conflicts between concurrent virtual machine allocations |
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 |