CN114064226A - 容器集群的资源调协方法、调协装置及存储介质 - Google Patents
容器集群的资源调协方法、调协装置及存储介质 Download PDFInfo
- Publication number
- CN114064226A CN114064226A CN202010783660.7A CN202010783660A CN114064226A CN 114064226 A CN114064226 A CN 114064226A CN 202010783660 A CN202010783660 A CN 202010783660A CN 114064226 A CN114064226 A CN 114064226A
- Authority
- CN
- China
- Prior art keywords
- container cluster
- current node
- utilization rate
- resource
- scheduling
- 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
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/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/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
- G06F9/505—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 considering the load
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开一种容器集群的资源调协方法、调协装置及存储介质,其中容器集群的资源调协方法包括获取当前节点的资源使用率以及当前节点在容器集群中的使用优先级;获取容器集群的平均资源使用率以及容器集群中所有节点在容器集群中的使用优先级;获取使用率上限阈值和使用率下限阈值;根据上述获取到的数据调整使用率上限阈值;当当前节点的资源使用率超过调整后的使用率上限阈值,对当前节点的调度单元进行调度,以使当前节点的资源使用率低于使用率下限阈值;本发明的容器集群的资源调协方法根据当前节点实时的资源使用率动态调整使用率上限阈值,以此对容器集群中各个节点的资源进行合理迁移,以满足对容器集群资源利用率均衡分配的要求。
Description
技术领域
本发明涉及容器集群技术领域,尤其涉及一种容器集群的资源调协方法、调协装置及存储介质。
背景技术
容器集群(cluster)通常由多个节点(node)组成,节点上运行的程序被打包成容器(container),容器集群不直接运行容器,而是通过将一个或多个容器封装到一个调度单元中,将调度单元作为容器集群进行资源调度的最小资源单位。
在基于分布式容器集群的场景下,一个调度单元被调度到某一个节点完全依赖于调度程序所感知的当前容器集群的状态,但容器集群在运行过程中可能存在扩容缩容的情况,也可能存在加入或删除节点的情况,并且随着时间的推移,节点的状态也可能发生变化,造成红一些节点负载过高而另外一些节点负载过低的情况,从而导致无法合理均衡分配容器集群的资源。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供了一种容器集群的资源调协方法、调协装置及存储介质,能够调整容器集群的资源,从而实现容器集群中各节点的负载均衡。
第一方面,本发明实施例提供了一种容器集群的资源调协方法,包括
获取当前节点的资源使用率以及所述当前节点在所述容器集群中的使用优先级;
获取所述容器集群的平均资源使用率以及所述容器集群中所有节点在所述容器集群中的使用优先级;
获取使用率上限阈值和使用率下限阈值;
根据所述当前节点的资源使用率、所述当前节点在所述容器集群中的使用优先级、所述容器集群的平均资源使用率以及所述容器集群中所有节点在所述容器集群中的使用优先级调整所述使用率上限阈值;
对资源使用率超过调整后的所述使用率上限阈值的所述当前节点的调度单元进行调度,以使所述当前节点的资源使用率低于所述使用率下限阈值,其中,所述调度单元为所述容器集群进行资源调度的最小调度单位。
第二方面,本发明实施例提供了一种容器集群的资源调协装置,包括至少一个处理器和用于与所述至少一个处理器通信连接的存储器;所述存储器存储有能够被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述的容器集群的资源调协方法。
第三方面,本发明实施例提供了一种容器集群,包括如前述的一种容器集群的资源调协装置,所述容器集群的资源调协装置作为所述容器集群中的一个节点或者接入到所述容器集群中的一个节点。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行前述第一方面的容器集群的资源调协方法。
本发明实施例提供的容器集群的资源调协方法,能够根据当前节点的资源使用率和当前节点在容器集群中的使用优先级,针对性地调整应用于当前节点的使用率上限阈值,根据调整后的上限阈值对当前节点中的调度单元进行调度,因此根据当前节点实时的资源使用率动态调整使用率上限阈值,实现对容器集群中各个节点的资源进行合理迁移,以满足对容器集群资源利用率均衡分配的要求。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明第一方面一个实施例提供的容器集群的资源调协方法的流程图;
图2是本发明第一方面另一个实施例提供的容器集群的资源调协方法的流程图;
图3是本发明第一方面另一个实施例提供的容器集群的资源调协方法的流程图;
图4是本发明第一方面另一个实施例提供的容器集群的资源调协方法的流程图;
图5是本发明第一方面另一个实施例提供的容器集群的资源调协方法的流程图;
图6是本发明第一方面另一个实施例提供的容器集群的资源调协方法的流程图;
图7是本发明第四方面一个实施例提供的容器集群的资源调度装置的装置结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明实施例提供了一种容器集群的资源调协方法、调协装置及存储介质,根据当前节点的资源使用率和使用优先级调整应用于当前节点的调协策略,从而得到适于当前节点的资源使用率的调协门限值,由此,根据针对容器集群内不同节点得到调整后的调协策略,并对对应节点中的调度单元进行调度,能够合理分配容器集群中的资源情况,实现各个节点的负载均衡。
下面结合附图,对本发明实施例作进一步阐述。
参照图1,本发明实施例第一方面提供了一种容器集群的资源调协方法,包括但不限于步骤S100、步骤S200、步骤S300、步骤S400和步骤S500。
步骤S100,获取当前节点的资源使用率以及当前节点在容器集群中的使用优先级。
节点通常是硬件设备或者虚拟设备,在容器集群中简化成具有CPU(中央处理器,centralprocessing unit)和RAM(随机存取存储器,Random Access Memory)的设备,由此可以忽略设备的具体属性而将设备看作是一个可以使用CPU和RAM资源的点,将各个不同设备简化成节点并交由容器集群的控制***对各个节点进行统一的资源调度,实现集群的组建。本实施例中涉及的节点的资源使用率包括但不限于当前节点的CPU占用率和RAM资源使用率,也可以包括RAM的IO(Input/Output,输入/输出)负载等指标。这些指标通常用关键性能指标(Key Performance Indicator,KPI)来表示。
在容器集群上运行的程序被打包成容器,称为容器化,而一个或者多个容器在容器集群中会被封装成一个调度单元,调度单元作为容器集群进行资源调度的最小调度单位,可以被容器集群的调度程序在节点之间迁移,因此,节点中往往具有多个调度单元,而不同的调度单元具有预定义的不同使用优先级,调度程序在进行资源调度的时候可以根据调度单元的使用优先级顺序进行调度,因此一个节点在容器集群中的使用优先级可以由该节点中所有调度单元的使用优先级来表示,例如,以当前节点中所有调度单元的使用优先级之和表示当前节点在容器集群中的使用优先级。
本实施例获取到的容器集群中一个节点的资源使用率和当前节点在容器集群中的使用优先级,为后续调协门限的调整提供实时数据,实现对调协门限的动态调整;可以理解的是,由于容器集群存在多个节点并且负载均衡是针对容器集群整体执行的,因此本发明实施例的资源调协方法可以应用于容器集群中的多个节点而不仅限于单个节点。
步骤S200,获取容器集群的平均资源使用率以及容器集群中所有节点在容器集群中的使用优先级。
每个节点都看作是使用CPU和RAM资源的设备,因此由多个节点组建而成容器集群实际上可以看作一个汇聚所有节点资源的更强大的设备,其资源使用率代表了当前容器集群中所有节点的资源使用率的平均值;根据步骤S100中对节点的使用优先级的定义,各个节点对自身内部调度单元的使用优先级进行统计,获取容器集群中各个节点的使用优先级。
步骤S300,获取使用率上限阈值和使用率下限阈值。
本实施例所获取使用率上限阈值和使用率下限阈值对应于调协门限初始设定好的上限值和下限值,该上限值和下限值通常是在预定义后固定不变的;对于容器集群来说,设定好的调协门限可以用于容器集群内各个节点的资源调度,对于单个节点来说,也可以单独设置调协门限而不使用容器集群的调协门限来进行资源调度;但是上述调协门限也是固定不变,无法根据当前节点资源情况的动态变化进行调整。
步骤S400,根据当前节点的资源使用率、当前节点在容器集群中的使用优先级、容器集群的平均资源使用率以及容器集群中所有节点在容器集群中的使用优先级调整使用率上限阈值。
考虑到容器集群中实时增删节点和节点内资源的动态变化,为了避免部分节点的负载过高,现有技术下,容器集群的调度程序通过负载均衡的方式分配用户请求,将新到来的用户请求交由当前负载较小的节点来处理,同时,实时监控各个节点的负载,将高负载的节点资源负载迁移到其他节点中去,从而使得整个容器集群保持良好的负载水平,实现数据的高效处理。目前容器集群的调协策略往往是预设的,调协策略设定的上限值和下限值也是固定的,容器集群在进行资源调度过程中依据调协策略对节点中的资源进行调度;但是随着大规模容器集群的兴起,业务数据类型增多,目前固定的调协策略已经无法适应容器集群动态变化的资源情况。
步骤S500,当当前节点的资源使用率超过调整后的使用率上限阈值,对当前节点的调度单元进行调度,以使当前节点的资源使用率低于使用率下限阈值。
步骤S400和步骤S500基于当前节点的资源使用率和当前节点在容器集群中的使用优先级,结合容器集群当前的资源情况,即容器集群的平均资源使用率和容器集群中所有节点的使用优先级,调整调协门限初始设定的使用率上限阈值,此时,根据调整后的使用率上限阈值对当前节点中的调度单元进行调度,从而实现根据当前节点的资源情况调整当前节点的资源负载;由此,对容器集群中的多个节点执行上述的资源调协方法,可以使得容器集群中的资源得到合理迁移。对于具体如何根据上述获取所得的资源使用率和使用优先级调整使用率上限阈值,将在后面进行详细说明。
在一实施例中,参照图2,前述步骤S100具体包括但不限于步骤S110、步骤S120、步骤S130、步骤S140和步骤S150。
步骤S110,获取容器集群的节点列表。
容器的管理工具(如kubernetes、Swarm等)在容器集群组建过程中记录各个节点的增删的操作,形成节点列表;本实施例的步骤S110从管理工具一侧获取当前的节点列表,以对容器集群中各个节点的资源进行调度。值得注意的是,执行本发明实施例的资源调协方法的装置可以独立于容器的管理工具,它通过接入到当前的容器集群,与管理工具进行通信,从而获取节点列表。
步骤S120,在节点列表中选出标记为就绪状态的节点,其中,就绪状态表示节点处于能够部署调度单元的状态。
在节点列表中筛选出就绪状态的节点作为资源调度的对象,从而排除容器集群中不能进行资源调度的节点;例如,在kubernetes中,通过ready状态标识(相当于就绪状态)来表示当前节点能够部署POD(kubernetes中的最小调度单元,与本申请中的调度单元等同)。
步骤S130,在标记为就绪状态的节点中选出一个节点作为当前节点。
筛选出就绪状态的节点后,逐个取出节点列表中的节点进行资源调度,当取出节点列表的所有就绪状态的节点后,完成本次针对容器集群的资源调度。
步骤S140,获取当前节点的资源使用率。
步骤S150,获取当前节点中所有调度单元的使用优先级,根据当前节点中所有调度单元的使用优先级得到当前节点在容器集群中的使用优先级。
通过获取当前节点中所有调度单元的使用优先级,计算得到代表当前节点在容器集群中的使用优先级,例如,调度单元的使用优先级通过数字的大小表示,将当前节点中所有调度单元的使用优先级进行相加,所得结果用于表示当前节点在容器集群中的使用优先级;除了采用相加的运算方式,也可以采用加权运算等方式计算。当然,也可以选择当前节点中使用优先级最高的调度单元的使用优先级来代表当前节点在容器集群中的使用优先级。
在一实施例中,参照图3,前述步骤S300具体但不限于步骤S310和步骤S320。
步骤S310,查找当前节点的第一调协策略,当查找到第一调协策略且第一调协策略为启用状态,根据第一调协策略获取使用率上限阈值和使用率下限阈值。
步骤S320,查找当前节点的第一调协策略,当查找不到第一调协策略,获取容器集群的第二调协策略,当第二调协策略为启用状态,根据第二调协策略获取使用率上限阈值和使用率下限阈值。
按照步骤S310和步骤S320的方法决定了当前节点所采用的调协策略,调协策略是容器集群中用于资源调度的策略,包括各种资源调度的参数、阈值等,其中调协策略包括调协门限,而调协门限包括上限值和下限值,容器集群根据调协门限对各个节点中的调度单元进行调度。由于调协策略分为集群级的调协策略和节点级的调协策略,而且在对节点进行调度的时候,节点级的调协策略使用优先级更高,因此本发明实施例在获取使用率上限阈值(相当于调协门限的上限值)和使用率下限阈值(相当于调协门限的下限值)时,需要先判断当前节点采用的是哪个调协策略;根据步骤S310,先查找当前节点的第一调协策略(节点级的调协策略)并确定第一调协策略是否处于启用状态,如果能够查找到第一调协策略且第一调协策略处于启动状态,那么调用第一调协策略并获取第一调协策略的调协门限的上限值和下限值,分别作为使用率上限阈值和使用率下限阈值;如果查找不到第一调协策略,则改为查找第二调协策略(集群级的调协策略),并确认第二调协策略处于启用状态,如果第二调协策略处于启用状态,那么调用第二调协策略并获取第二调协策略的调协门限的上限值和下限值,分别作为使用率上限阈值和使用率下限阈值。
当然,还存在第一调协策略或者第二调协策略处于关闭状态的情况:当查找到第一调协策略但第一调协策略为关闭状态,那么则认为当前节点不需要按照调协策略进行资源调度,无需限制调度方式;同样,当查找到的第二调协策略是关闭状态,那么则认为当前节点不需要按照调协策略进行资源调度,无需限制调度方式;此时需要判断节点上是否设置有资源压力标识,资源压力标识用于表示节点上资源已经满载或者超过一定值,不能调入外部的调度单元到该节点中,但可以将该节点中调度资源调出,由于前面已经判断出当前节点无需限制调度方式,因此说明当前节点已经不存在资源压力,那么将当前节点设置的资源压力标识(如果有)删除,使当前节点能够被调度。在Kubernetes中,以stain(污点)表示节点处于资源压力标识状态,pod不会被调度到设置有stain标识的节点中。
在一实施例中,参照图4,前述步骤S400具体包括但不限于步骤S410、步骤S420、步骤S430和步骤S440。
步骤S410,根据当前节点的资源使用率与容器集群的平均资源使用率的比值,得到指标比值。
步骤S420,根据容器集群中所有节点在容器集群中的使用优先级,得到优先级总值。
步骤S430,根据当前节点在容器集群中的使用优先级与优先级总值的比值,得到权重系数。
步骤S440,根据指标比值和权重系数更新使用率上限阈值。
将当前节点的资源使用率和容器集群的平均资源使用率进行比值运算,可以得到当前节点的资源使用率与平均资源使用率之间的关系,如果当前节点的资源使用率过高,大大超过容器集群的平均资源使用率,则表明当前节点的负载较重,那么基于所得的指标比值调整使用率上限阈值,将使用率上限阈值下调,可以借由调度将当前节点的调度单元迁移到其他节点中,从而降低当前节点的负载水平;另一方面,将当前节点的使用优先级与容器集群中所有节点的使用优先级之和进行比值运算,可以得到当前节点在容器集群中的使用优先级的比重,使用优先级越高的节点,调整后的使用率上限阈值越高,表明相比一般使用优先级的节点,该节点允许调度进入更多的调度单元。例如,可以采用如下计算方式更新使用率上限阈值:
使用率上限阈值*(1+(指标比值-1)*权重系数),
根据不同节点的资源使用率和使用优先级情况,调整应用于该节点的使用率上限阈值,能够有针对性地调整该节点的资源情况,与一般的资源调度方法相比,本发明实施例的调度依据更加合理,能够更好地满足大规模容器集群的资源情况。
在一实施例中,参照图5,前述步骤S500具体包括但不限于步骤S510、步骤S520和步骤S530。
步骤S510,获取当前节点的调度单元列表。
经过步骤S100到步骤S400,当判断出当前节点的资源使用率超过调整后的使用率上限阈值,则接下来需要对当前节点中的调度单元进行调度;首先获取当前节点的调度单元列表,可以知道当前节点中进入调度队列的调度单元的数量,还可以知道调度单元的使用优先级、运行状态等信息。
步骤S520,在调度单元列表中剔除带有关键标识的调度单元,其中,关键标识表示当前调度单元不参与调度。
将调度单元列表中标记为关键的调度单元进行剔除,被剔除的调度单元不进入调度队列,本实施例中的关键标识表明调度单元在容器集群中处于关键位置,对其调度可能使容器集群***发生错误,因此在对当前节点中的调度单元进行调度之前需要先剔除这些关键表示的调度单元。例如,在Kubernetes中,以critical表示节点中的pod为关键pod,带有critical标记的pod不参与调度。
步骤S530,根据调度单元列表中调度单元的使用优先级,逐个调度调度单元,直到当前节点的资源使用率低于使用率下限阈值。
通过在调度单元列表中获取调度单元的使用优先级,将调度单元按照使用优先级高低进行调度,例如首先将使用优先级较低的调度单元迁移出去,每次调度一个调度单元都应检查当前节点的资源使用率,是否已经低于使用率下限阈值,如果在调度过程中使得当前节点的资源使用率低于使用率下限阈值,则停止对当前节点的调度。调度程序接着取出下一个节点进行调度,或者已到达节点列表的末尾,停止调度。
应该注意的是,在步骤S510之前,还应该对资源使用率超过调整后的使用率上限阈值的当前节点设置资源压力标识,防止在对当前节点进行资源调度的过程中发生其他调度单元调入当前节点的情况。
在一实施例中,参照图6,对于前述步骤S530,具体包括但不限于步骤S531和步骤S532。
步骤S531,获取使用率上限阈值对应的调协速率以及当前节点预设的最小副本数量,其中,最小副本数量为当前节点在资源调度过程中需要保留的调度单元的数量。
步骤S532,根据调协速率和调度单元列表中调度单元的使用优先级,逐个调度调度单元,并在调度过程中保持调度单元列表中参与调度的调度单元的数量不少于最小副本数量。
当确定当前节点所采用的调协策略,还可以获取到调协策略中预先设定的调协速率以及当前节点预设的最小副本数量。副本是指一个调度单元的一个或多个实例,不同副本之间运行的程序相同,每个副本为一个端口提供数据,通过设定最小副本数量来限定当前节点需要保留的服务数量。调度过程中应在保持当前节点余下的调度单元不小于预先设定的最小副本数量的前提,对调度单元进行调度。例如,在Kubernetes中,通过声明的方式设定一个节点中pod应该同时运行多少个副本(即最小副本数量),相当于给出了节点中pod数量的期望状态,容器集群会根据该期望状态自动保持该节点内副本的数量。
在一实施例中,还可以对初始设定的使用率下限阈值进行调整,其调整方法与使用率上限阈值的调整方法相同,即根据当前节点的资源使用率、当前节点在容器集群中的使用优先级、容器集群的平均资源使用率以及容器集群中所有节点在容器集群中的使用优先级调整使用率下限阈值。本实施例中,通过上述调整方式同时对使用率上限阈值和使用率下限阈值进行调整,相当于在保持调协门限的窗口大小的情况下进行调整,与初始调协门限设定的窗口大小一致。
下面以一实际例子对本发明实施例进行说明,以Kubernetes为例的场景下实施本发明实施例的资源调协方法,并假设取出的节点的资源使用率超过调整后的使用率上限阈值;具体包括以下步骤:
获取容器集群的节点列表;
在节点列表中选出标记为ready状态的节点;
在标记为ready状态的节点中选出一个节点作为当前节点;
获取当前节点的资源使用率KPI;
获取当前节点中所有pod的使用优先级,根据当前节点中所有pod的使用优先级得到当前节点在容器集群中的使用优先级;
获取容器集群的平均资源使用率KPI以及容器集群中所有节点在容器集群中的使用优先级;
查找当前节点的第一调协策略,当查找到第一调协策略且第一调协策略为启用状态,根据第一调协策略获取使用率上限阈值和使用率下限阈值;
查找当前节点的第一调协策略,当查找不到第一调协策略,获取容器集群的第二调协策略,当第二调协策略为启用状态,根据第二调协策略获取使用率上限阈值和使用率下限阈值;
当当前节点的第一调协策略为关闭状态,或者第二调协策略为关闭状态,并且当前节点被设置有stain标识,删除stain标识;
根据当前节点的资源使用率KPI与容器集群的平均资源使用率KPI的比值,得到指标比值;
根据容器集群中所有节点在容器集群中的使用优先级,得到优先级总值;
根据当前节点在容器集群中的使用优先级与优先级总值的比值,得到权重系数;
根据指标比值和权重系数更新使用率上限阈值;
获取当前节点的pod列表;
在pod列表中剔除带有critical标识的pod;
获取使用率上限阈值对应的调协速率以及当前节点预设的最小副本数量;
根据调协速率和pod列表中pod的使用优先级,逐个调度pod,直到当前节点的资源使用率KPI低于使用率下限阈值,并在调度过程中保持pod列表中参与调度的pod的数量不少于最小副本数量。
上述执行容器集群的资源调协方法的装置通过与metric采集组件交互,实时获取节点的各种度量指标,来对容器集群的资源进行动态调协管理。执行容器集群的资源调协方法的装置将在下面进行说明。
本发明实施例的第二方面提供了一种容器集群的资源调度装置,包括至少一个处理器和用于与所述至少一个处理器通信连接的存储器;所述存储器存储有能够被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述第一方面的容器集群的资源调协方法。
参照图7,以容器集群的资源调度装置1000中的控制处理器1001和存储器1002可以通过总线连接为例。存储器1002作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器1002可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器1002可选包括相对于控制处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至容器集群的资源调度装置1000。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本领域技术人员可以理解,图7中示出的装置结构并不构成对容器集群的资源调度装置2000的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
通过在资源调协装置执行本发明第一方面实施例的容器集群的资源调协,可以对资源调协装置所在的容器集群进行资源调度,根据当前节点的资源使用率和当前节点在容器集群中的使用优先级,针对性地调整应用于当前节点的使用率上限阈值,根据调整后的上限阈值对当前节点中的调度单元进行调度,因此根据当前节点实时的资源使用率动态调整使用率上限阈值,实现对容器集群中各个节点的资源进行合理迁移,以满足对容器集群资源利用率均衡分配的要求。
本发明实施例的第三方面提供了一种容器集群,包括前述的容器集群的资源调度装置,容器集群的资源调协装置作为容器集群中的一个节点或者接入到容器集群中的一个节点。本实施例中给出了容器集群的资源调协装置在容器集群中的硬件特性,在一种实施方式中,容器集群的资源调协装置作为容器集群中的一个节点,执行容器集群的资源调协方法,在另一种实施例方式中,容器集群的资源调协装置作为一个独立的装置,接入到容器集群的一个节点中,例如容器集群的资源调协装置为一移动存储设备,内部存储有执行容器集群的资源调协方法对应的程序,通过将该移动存储设备连接到节点中,从而使得节点执行该移动存储设备中的容器集群的资源调协方法。根据当前节点的资源使用率和当前节点在容器集群中的使用优先级,针对性地调整应用于当前节点的使用率上限阈值,根据调整后的上限阈值对当前节点中的调度单元进行调度,因此根据当前节点实时的资源使用率动态调整使用率上限阈值,实现对容器集群中各个节点的资源进行合理迁移,以满足对容器集群资源利用率均衡分配的要求。
本发明实施例的第四方面提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,例如,被图7中的一个控制处理器1001执行,可使得上述一个或多个控制处理器执行上述方法实施例中的容器集群的资源调协方法例如执行以上描述的图1中的方法步骤S100至步骤S500图2中的方法步骤S110至步骤S150、图3中的方法步骤S310至步骤S320、图4中的方法步骤S410至步骤S440、图5中的方法步骤S510至步骤S530和图6中的方法步骤S531至步骤S532。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本申请的较佳实施进行了具体说明,但本申请并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (11)
1.一种容器集群的资源调协方法,包括;
获取当前节点的资源使用率以及所述当前节点在所述容器集群中的使用优先级;
获取所述容器集群的平均资源使用率以及所述容器集群中所有节点在所述容器集群中的使用优先级;
获取使用率上限阈值和使用率下限阈值;
根据所述当前节点的资源使用率、所述当前节点在所述容器集群中的使用优先级、所述容器集群的平均资源使用率以及所述容器集群中所有节点在所述容器集群中的使用优先级调整所述使用率上限阈值;
当所述当前节点的资源使用率超过调整后的所述使用率上限阈值,对所述当前节点的调度单元进行调度,以使所述当前节点的资源使用率低于所述使用率下限阈值,其中,所述调度单元为所述容器集群进行资源调度的最小调度单位。
2.根据权利要求1所述的容器集群的资源调协方法,其特征在于,所述获取所述当前节点的资源使用率以及所述当前节点在所述容器集群中的使用优先级,包括:
获取所述容器集群的节点列表;
在所述节点列表中选出标记为就绪状态的节点,其中,所述就绪状态表示节点处于能够部署所述调度单元的状态;
在所述标记为就绪状态的节点中选出一个节点作为当前节点;
获取所述当前节点的资源使用率;
获取所述当前节点中所有调度单元的使用优先级,根据所述当前节点中所有调度单元的使用优先级得到所述当前节点在所述容器集群中的使用优先级。
3.根据权利要求2所述的容器集群的资源调协方法,其特征在于,所述根据所述当前节点的资源使用率、所述当前节点在所述容器集群中的使用优先级、所述容器集群的平均资源使用率以及所述容器集群中所有节点在所述容器集群中的使用优先级调整所述使用率上限阈值,包括:
根据所述当前节点的资源使用率与所述容器集群的平均资源使用率的比值,得到指标比值;
根据所述容器集群中所有节点在所述容器集群中的使用优先级,得到优先级总值;
根据所述当前节点在所述容器集群中的使用优先级与所述优先级总值的比值,得到权重系数;
根据所述指标比值和所述权重系数更新所述使用率上限阈值。
4.根据权利要求1所述的容器集群的资源调协方法,其特征在于,所述获取使用率上限阈值和使用率下限阈值,包括如下之一:
查找所述当前节点的第一调协策略,当查找到所述第一调协策略且所述第一调协策略为启用状态,根据所述第一调协策略获取使用率上限阈值和使用率下限阈值;
查找所述当前节点的第一调协策略,当查找不到所述第一调协策略,获取所述容器集群的第二调协策略,当所述第二调协策略为启用状态,根据所述第二调协策略获取使用率上限阈值和使用率下限阈值。
5.根据权利要求4所述的容器集群的资源调协方法,其特征在于,当所述当前节点的所述第一调协策略为关闭状态,或者所述第二调协策略为关闭状态,并且所述当前节点被设置有资源压力标识,删除所述资源压力标识。
6.根据权利要求1所述的容器集群的资源调协方法,其特征在于,所述对所述当前节点的所述调度单元进行调度,以使所述当前节点的资源使用率低于所述使用率下限阈值,包括:
获取所述当前节点的调度单元列表;
在所述调度单元列表中剔除带有关键标识的调度单元,其中,所述关键标识表示当前调度单元不参与调度;
根据所述调度单元列表中调度单元的使用优先级,逐个调度所述调度单元,直到所述当前节点的资源使用率低于所述使用率下限阈值。
7.根据权利要求6所述的容器集群的资源调协方法,其特征在于,所述根据所述调度单元列表中调度单元的使用优先级,逐个调度所述调度单元,包括:
获取所述使用率上限阈值对应的调协速率以及所述当前节点预设的最小副本数量,其中,所述最小副本数量为所述当前节点在资源调度过程中需要保留的调度单元的数量;
根据所述调协速率和所述调度单元列表中调度单元的使用优先级,逐个调度所述调度单元,并在调度过程中保持所述调度单元列表中参与调度的所述调度单元的数量不少于所述最小副本数量。
8.根据权利要求1至7任一项所述的容器集群的资源调协方法,其特征在于,还包括:
根据所述当前节点的资源使用率、所述当前节点在所述容器集群中的使用优先级、所述容器集群的平均资源使用率以及所述容器集群中所有节点在所述容器集群中的使用优先级调整所述使用率下限阈值。
9.一种容器集群的资源调协装置,其特征在于,包括至少一个处理器和用于与所述至少一个处理器通信连接的存储器;所述存储器存储有能够被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至8中任意一项所述的容器集群的资源调协方法。
10.一种容器集群,其特征在于,包括如权利要求9所述的一种容器集群的资源调协装置,所述容器集群的资源调协装置作为所述容器集群中的一个节点或者接入到所述容器集群中的一个节点。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至8中任意一项所述的容器集群的资源调协方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010783660.7A CN114064226A (zh) | 2020-08-06 | 2020-08-06 | 容器集群的资源调协方法、调协装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010783660.7A CN114064226A (zh) | 2020-08-06 | 2020-08-06 | 容器集群的资源调协方法、调协装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114064226A true CN114064226A (zh) | 2022-02-18 |
Family
ID=80232381
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010783660.7A Pending CN114064226A (zh) | 2020-08-06 | 2020-08-06 | 容器集群的资源调协方法、调协装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114064226A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117806815A (zh) * | 2023-11-27 | 2024-04-02 | 本原数据(北京)信息技术有限公司 | 数据处理方法、***、电子设备及存储介质 |
-
2020
- 2020-08-06 CN CN202010783660.7A patent/CN114064226A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117806815A (zh) * | 2023-11-27 | 2024-04-02 | 本原数据(北京)信息技术有限公司 | 数据处理方法、***、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110297699B (zh) | 调度方法、调度器、存储介质及*** | |
CN110287245B (zh) | 用于分布式etl任务调度执行的方法及*** | |
CN108632365A (zh) | 服务资源调整方法、相关装置和设备 | |
CN111522636A (zh) | 应用容器的调整方法、调整***、计算机可读介质及终端设备 | |
CN104092756A (zh) | 一种基于dht机制的云存储***的资源动态分配方法 | |
US20230266999A1 (en) | Resource scheduling method, resource scheduling system, and device | |
CN113672391B (zh) | 一种基于Kubernetes的并行计算任务调度方法与*** | |
CN111694517B (zh) | 分布式数据迁移方法、***和电子设备 | |
CN113032102B (zh) | 资源重调度方法、装置、设备和介质 | |
EP4170491A1 (en) | Resource scheduling method and apparatus, electronic device, and computer-readable storage medium | |
CN112817728A (zh) | 任务调度方法、网络设备和存储介质 | |
CN108376103A (zh) | 一种云平台的资源平衡控制方法及服务器 | |
CN110167031B (zh) | 一种面向集中式基站的资源分配方法、设备及存储介质 | |
CN114691372A (zh) | 一种多媒体端边云***的群体智能控制方法 | |
CN114064226A (zh) | 容器集群的资源调协方法、调协装置及存储介质 | |
CN109298949B (zh) | 一种分布式文件***的资源调度*** | |
CN116643858A (zh) | 基于业务优先级pod再调度方法、装置、设备及介质 | |
CN110955522B (zh) | 一种协调性能隔离和数据恢复优化的资源管理方法及*** | |
CN115774614A (zh) | 资源调控方法、终端及存储介质 | |
CN114936089A (zh) | 资源调度方法、***、设备及存储介质 | |
CN113760549A (zh) | 一种pod部署方法及装置 | |
CN115878303A (zh) | 一种资源调度方法、装置及电子设备 | |
TW201735596A (zh) | 任務調度方法和裝置 | |
CN113258679A (zh) | 基于服务器实例缩容的电网监控***通道分配方法 | |
CN111158899A (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 |