[go: up one dir, main page]

CN111475251A - Cluster container scheduling method, system, terminal and storage medium - Google Patents

Cluster container scheduling method, system, terminal and storage medium Download PDF

Info

Publication number
CN111475251A
CN111475251A CN202010154836.2A CN202010154836A CN111475251A CN 111475251 A CN111475251 A CN 111475251A CN 202010154836 A CN202010154836 A CN 202010154836A CN 111475251 A CN111475251 A CN 111475251A
Authority
CN
China
Prior art keywords
memory
node
cpu
average
utilization rate
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
Application number
CN202010154836.2A
Other languages
Chinese (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202010154836.2A priority Critical patent/CN111475251A/en
Publication of CN111475251A publication Critical patent/CN111475251A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention provides a method, a system, a terminal and a storage medium for dispatching a cluster container, wherein the method comprises the following steps: collecting the average utilization rate of a CPU and the average utilization rate of a memory of each node of a cluster; collecting CPU resource consumption and memory consumption of each node of the cluster; calculating the CPU-memory utilization similarity of the nodes according to the average CPU utilization, the average memory utilization, the CPU resource consumption and the memory consumption; and evaluating the nodes of the cluster according to the average CPU utilization rate, the average memory utilization rate and the CPU-memory utilization rate similarity, and selecting the optimal node as a container deployment node. According to the invention, the use balance condition of the node resources can be obviously improved by scheduling according to the use condition of the real-time resources of the nodes and the use influence of the deployment Pod on the node use rate.

Description

一种集群容器调度方法、系统、终端及存储介质A cluster container scheduling method, system, terminal and storage medium

技术领域technical field

本发明涉及容器部署技术领域,具体涉及一种集群容器调度方法、系统、终端及存储介质。The present invention relates to the technical field of container deployment, in particular to a cluster container scheduling method, system, terminal and storage medium.

背景技术Background technique

Kubernetes是Google开源的容器集群管理系统,提供了应用部署、维护、扩展等功能,使用Kubernetes可以方便有效的管理跨集群运行的容器化应用。Pod是Kubernetes中资源调度的基本单位,负责Pod调度的组建是Kubernetes scheduler,它负责接收由controller manager创建的新的Pod,根据调度算法选择优先级最高的节点进行部署。Kubernetes is Google's open source container cluster management system, which provides functions such as application deployment, maintenance, and expansion. Using Kubernetes can easily and effectively manage containerized applications running across clusters. Pod is the basic unit of resource scheduling in Kubernetes. The component responsible for Pod scheduling is the Kubernetes scheduler, which is responsible for receiving new Pods created by the controller manager, and selecting the node with the highest priority for deployment according to the scheduling algorithm.

现有的调度算法主要使用BalancedResources Allocation策略,该算法分别计算候选节点Node上已经运行Pod的CPU和内存的申请总量,以及要调度的Pod的CPU和内存的请求量,分别想加然后除以节点Node的总量,计算出CpuFra和MemFra,通过以下公式进行打分,优选分数最高的节点Node进行Pod部署The existing scheduling algorithm mainly uses the BalancedResources Allocation strategy. This algorithm calculates the total amount of CPU and memory requests for running Pods on the candidate node Node, as well as the CPU and memory requests for the Pods to be scheduled, respectively. Add and divide by Calculate the total number of nodes, calculate CpuFra and MemFra, and use the following formula to score, and select the node with the highest score for Pod deployment

Score=10-|CpuFra-MemFra|*10Score=10-|CpuFra-MemFra|*10

此优选算法虽然也考虑了候选节点Node的CPU和内存资源的使用率情况,但该算法是根据CPU和内存的请求量来计算来衡量调度优先级的,并不能准确的反应节点的实时资源使用情况。Although this optimal algorithm also considers the CPU and memory resource utilization of the candidate node Node, the algorithm calculates the scheduling priority based on the amount of CPU and memory requests, and cannot accurately reflect the real-time resource usage of the node. Happening.

发明内容SUMMARY OF THE INVENTION

针对现有技术的上述不足,本发明提供一种集群容器调度方法、系统、终端及存储介质,以解决上述技术问题。In view of the above shortcomings of the prior art, the present invention provides a cluster container scheduling method, system, terminal and storage medium to solve the above technical problems.

第一方面,本发明提供一种集群容器调度方法,包括:In a first aspect, the present invention provides a cluster container scheduling method, including:

采集集群各节点的CPU平均利用率和内存平均利用率;Collect the average CPU utilization and average memory utilization of each node in the cluster;

采集集群各节点的CPU资源消耗度和内存消耗度;Collect the CPU resource consumption and memory consumption of each node in the cluster;

根据CPU平均利用率、内存平均利用率、CPU资源消耗度和内存消耗度计算节点的CPU-内存使用率相近度;Calculate the CPU-memory usage similarity of nodes according to the average CPU utilization, average memory utilization, CPU resource consumption and memory consumption;

根据CPU平均利用率、内存平均利用率和CPU-内存使用率相近度评估集群的节点并选取最优节点作为容器部署节点。The nodes of the cluster are evaluated according to the average CPU utilization, average memory utilization, and CPU-memory utilization similarity, and the optimal node is selected as the container deployment node.

进一步的,所述采集集群各节点的CPU平均利用率和内存平均利用率,包括:Further, the average CPU utilization and average memory utilization of each node in the collection cluster include:

设置数据采集周期;Set the data collection period;

采集集群各节点在采集周期内的CPU利用率和内存利用率;Collect the CPU utilization and memory utilization of each node in the cluster during the collection period;

计算各节点在采集周期内的平均CPU利用率和平均内存利用率。Calculate the average CPU utilization and average memory utilization of each node during the collection period.

进一步的,所述采集集群各节点的CPU资源消耗度和内存消耗度,包括:Further, the collection of CPU resource consumption and memory consumption of each node of the cluster includes:

采集节点上的现有容器的CPU申请量,利用所述CPU申请量除以节点CPU资源总量得到节点CPU资源消耗度;Collect the CPU application amount of the existing containers on the node, and divide the CPU application amount by the total amount of node CPU resources to obtain the node CPU resource consumption degree;

采集节点上的现有容器的内存申请量,利用所述内存申请量除以节点内存总量得到节点的内存消耗度。The memory application amount of the existing containers on the node is collected, and the memory consumption degree of the node is obtained by dividing the memory application amount by the total memory amount of the node.

进一步的,所述根据CPU平均利用率、内存平均利用率、CPU资源消耗度和内存消耗度计算节点的CPU-内存使用率相近度,包括:Further, the CPU-memory usage similarity of the node is calculated according to the average CPU utilization, average memory utilization, CPU resource consumption and memory consumption, including:

设置第一系数和第二系数,令所述第一系数与第二系数之和为1,且第一系数与第二系数之比等于CPU资源消耗度与内存消耗度之比;Setting the first coefficient and the second coefficient, so that the sum of the first coefficient and the second coefficient is 1, and the ratio of the first coefficient to the second coefficient is equal to the ratio of CPU resource consumption to memory consumption;

设置固定常数;set a fixed constant;

将第一系数与CPU平均利用率之积和第二系数与内存平均利用率的差作为常数系数;Take the product of the first coefficient and the average CPU utilization and the difference between the second coefficient and the average memory utilization as a constant coefficient;

将固定常数减去固定常数与常数系数之积得到的差值作为CPU-内存使用率相近度。The difference between the fixed constant minus the product of the fixed constant and the constant coefficient is used as the CPU-memory usage similarity.

进一步的,所述根据CPU平均利用率、内存平均利用率和CPU-内存使用率相近度评估集群的节点并选取最优节点作为容器部署节点,包括:Further, evaluating the nodes of the cluster according to the average CPU utilization, average memory utilization and CPU-memory utilization similarity and selecting the optimal node as the container deployment node, including:

设置CPU权值和内存权值;Set CPU weight and memory weight;

计算各节点的CPU平均利用率与内存平均利用率的加权和;Calculate the weighted sum of the average CPU utilization and the average memory utilization of each node;

筛选出集群中所述加权和最小的节点作为待选节点;Screen out the node with the smallest weighted sum in the cluster as the candidate node;

若存在多个待选节点,则选取CPU-内存使用率相近度高的待选节点作为容器部署节点。If there are multiple candidate nodes, the candidate node with high CPU-memory usage similarity is selected as the container deployment node.

第二方面,本发明提供一种集群容器调度系统,包括:In a second aspect, the present invention provides a cluster container scheduling system, including:

平均采集单元,配置用于采集集群各节点的CPU平均利用率和内存平均利用率;The average collection unit is configured to collect the average CPU utilization and average memory utilization of each node in the cluster;

消耗采集单元,配置用于采集集群各节点的CPU资源消耗度和内存消耗度;The consumption collection unit is configured to collect the CPU resource consumption and memory consumption of each node of the cluster;

相近计算单元,配置用于根据CPU平均利用率、内存平均利用率、CPU资源消耗度和内存消耗度计算节点的CPU-内存使用率相近度;The proximity computing unit is configured to calculate the CPU-memory usage similarity of the node according to the average CPU utilization, average memory utilization, CPU resource consumption, and memory consumption;

节点选取单元,配置用于根据CPU平均利用率、内存平均利用率和CPU-内存使用率相近度评估集群的节点并选取最优节点作为容器部署节点。The node selection unit is configured to evaluate the nodes of the cluster according to the average CPU utilization, average memory utilization, and CPU-memory utilization similarity, and select the optimal node as the container deployment node.

进一步的,所述消耗采集单元包括:Further, the consumption collection unit includes:

CPU采集模块,配置用于采集节点上的现有容器的CPU申请量,利用所述CPU申请量除以节点CPU资源总量得到节点CPU资源消耗度;The CPU collection module is configured to collect the CPU application amount of the existing containers on the node, and divide the CPU application amount by the total amount of the node CPU resources to obtain the node CPU resource consumption degree;

内存采集模块,配置用于采集节点上的现有容器的内存申请量,利用所述内存申请量除以节点内存总量得到节点的内存消耗度。The memory collection module is configured to collect the memory application amount of the existing containers on the node, and divide the memory application amount by the total memory amount of the node to obtain the memory consumption degree of the node.

进一步的,所述节点选取单元包括:Further, the node selection unit includes:

权值设置模块,配置用于设置CPU权值和内存权值;Weight setting module, configured to set CPU weight and memory weight;

加权求和模块,配置用于计算各节点的CPU平均利用率与内存平均利用率的加权和;The weighted sum module is configured to calculate the weighted sum of the average CPU utilization and the average memory utilization of each node;

一次筛选模块,配置用于筛选出集群中所述加权和最小的节点作为待选节点;A primary screening module, configured to screen out the node with the smallest weighted sum in the cluster as a candidate node;

二次筛选模块,配置用于若存在多个待选节点,则选取CPU-内存使用率相近度高的待选节点作为容器部署节点。The secondary screening module is configured to select the candidate node with high CPU-memory usage similarity as the container deployment node if there are multiple candidate nodes.

第三方面,提供一种终端,包括:In a third aspect, a terminal is provided, including:

处理器、存储器,其中,processor, memory, which,

该存储器用于存储计算机程序,The memory is used to store computer programs,

该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。The processor is used to call and run the computer program from the memory, so that the terminal executes the above-mentioned method of the terminal.

第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。In a fourth aspect, a computer storage medium is provided, and instructions are stored in the computer-readable storage medium, which, when executed on a computer, cause the computer to perform the methods described in the above aspects.

本发明的有益效果在于,The beneficial effect of the present invention is that,

本发明提供的集群容器调度方法、系统、终端及存储介质,通过采用平均资源利用率以及资源消耗度对集群的节点进行评价,兼顾了资源利用率和资源平衡度。本发明根据节点实时资源使用情况,结合部署Pod对节点使用率的使用影响进行调度,能够明显提高节点资源使用均衡情况。The cluster container scheduling method, system, terminal and storage medium provided by the present invention take into account the resource utilization and resource balance by using the average resource utilization and resource consumption to evaluate the nodes of the cluster. The present invention performs scheduling according to the real-time resource usage of the node and in combination with the influence of deploying Pods on the usage of the node, which can significantly improve the balance of resource usage of the node.

此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。In addition, the present invention has reliable design principle and simple structure, and has a very wide application prospect.

附图说明Description of drawings

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the accompanying drawings that need to be used in the description of the embodiments or the prior art. In other words, other drawings can also be obtained based on these drawings without creative labor.

图1是本发明一个实施例的方法的示意性流程图。FIG. 1 is a schematic flowchart of a method according to an embodiment of the present invention.

图2是本发明一个实施例的系统的示意性框图。FIG. 2 is a schematic block diagram of a system according to an embodiment of the present invention.

图3为本发明实施例提供的一种终端的结构示意图。FIG. 3 is a schematic structural diagram of a terminal according to an embodiment of the present invention.

具体实施方式Detailed ways

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。In order to make those skilled in the art better understand the technical solutions of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described The embodiments are only some of the embodiments of the present invention, but not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by persons of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.

下面对本发明中出现的关键术语进行解释。Key terms appearing in the present invention are explained below.

容器,pod,类似于虚拟机的任务处理节点。Containers, pods, are task processing nodes similar to virtual machines.

图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种集群容器调度系统。FIG. 1 is a schematic flowchart of a method according to an embodiment of the present invention. Wherein, the execution body of FIG. 1 may be a cluster container scheduling system.

如图1所示,该方法100包括:As shown in Figure 1, the method 100 includes:

步骤110,采集集群各节点的CPU平均利用率和内存平均利用率;Step 110: Collect the average CPU utilization and average memory utilization of each node in the cluster;

步骤120,采集集群各节点的CPU资源消耗度和内存消耗度;Step 120, collecting the CPU resource consumption and memory consumption of each node of the cluster;

步骤130,根据CPU平均利用率、内存平均利用率、CPU资源消耗度和内存消耗度计算节点的CPU-内存使用率相近度;Step 130: Calculate the CPU-memory usage similarity of the node according to the average CPU utilization, the average memory utilization, the CPU resource consumption and the memory consumption;

步骤140,根据CPU平均利用率、内存平均利用率和CPU-内存使用率相近度评估集群的节点并选取最优节点作为容器部署节点。Step 140: Evaluate the nodes of the cluster according to the average CPU utilization, average memory utilization, and CPU-memory utilization similarity, and select the optimal node as the container deployment node.

为了便于对本发明的理解,下面以本发明集群容器调度方法的原理,结合实施例中对集群容器进行调度的过程,对本发明提供的集群容器调度方法做进一步的描述。In order to facilitate the understanding of the present invention, the cluster container scheduling method provided by the present invention is further described below based on the principles of the cluster container scheduling method of the present invention and the process of scheduling the cluster containers in the embodiment.

具体的,所述集群容器调度方法包括:Specifically, the cluster container scheduling method includes:

S1、采集集群各节点的CPU平均利用率和内存平均利用率。S1. Collect the average CPU utilization and average memory utilization of each node in the cluster.

假设设置采集周期为1h,则Kubernetes采集集群内每个节点在1h内的CPU利用率和内存利用率。以CPU平均利用率为例,假设1h采集周期内有60个采集点,则对60个采集点的节点CPU利用率,将所有CPU利用率之和除以60即可得到节点的平均CPU利用率。平均内存利用率计算方法相同。Assuming that the collection period is set to 1h, Kubernetes collects the CPU utilization and memory utilization of each node in the cluster within 1h. Taking the average CPU utilization as an example, assuming that there are 60 collection points in the 1h collection period, for the CPU utilization of the 60 collection points, the average CPU utilization of the node can be obtained by dividing the sum of all CPU utilizations by 60. . Average memory utilization is calculated the same way.

S2、采集集群各节点的CPU资源消耗度和内存消耗度。S2. Collect the CPU resource consumption and memory consumption of each node in the cluster.

Pod针对节点上CPU资源的消耗程度(Rc),用Pod的CPU申请量除以节点上CPU的资源总量。The Pod's consumption level (Rc) of CPU resources on the node is divided by the CPU application amount of the Pod by the total amount of CPU resources on the node.

Pod针对节点上内存的消耗程度(Rm),用Pod的内存申请量除以节点上内存的资源总量。The consumption level (Rm) of the Pod's memory on the node is divided by the Pod's memory application amount by the total amount of memory resources on the node.

S3、根据CPU平均利用率、内存平均利用率、CPU资源消耗度和内存消耗度计算节点的CPU-内存使用率相近度。S3. Calculate the CPU-memory usage similarity of the node according to the average CPU utilization, the average memory utilization, the CPU resource consumption and the memory consumption.

引入参数第一参数α和第二参数β,CPU-内存使用率相近度(Score)计算公式如下:The first parameter α and the second parameter β are introduced, and the calculation formula of CPU-memory usage similarity (Score) is as follows:

Score=10-|αCpuSr-βMemSr|*10Score=10-|αCpuSr-βMemSr|*10

其中,in,

α+β=1;α+β=1;

α/β=Rc/Rm;α/β=Rc/Rm;

CpuSr为CPU平均利用率,MemSr为内存平均利用率。CpuSr is the average CPU utilization, and MemSr is the average memory utilization.

S4、根据CPU平均利用率、内存平均利用率和CPU-内存使用率相近度评估集群的节点并选取最优节点作为容器部署节点。S4. Evaluate the nodes of the cluster according to the average CPU utilization, average memory utilization, and CPU-memory utilization similarity, and select the optimal node as the container deployment node.

设置CPU权值和内存权值,计算各节点的CPU平均利用率与内存平均利用率的加权和,筛选出集群中所述加权和最小的节点作为待选节点。若筛选出多个待选节点,则选取CPU-内存使用率相近度高的待选节点作为容器部署节点。Set the CPU weight and the memory weight, calculate the weighted sum of the average CPU utilization and the average memory utilization of each node, and select the node with the smallest weighted sum in the cluster as a candidate node. If multiple candidate nodes are filtered out, the candidate node with high CPU-memory usage similarity is selected as the container deployment node.

如图2示,该系统200包括:As shown in Figure 2, the system 200 includes:

平均采集单元210,配置用于采集集群各节点的CPU平均利用率和内存平均利用率;The average collection unit 210 is configured to collect the average CPU utilization and the average memory utilization of each node in the cluster;

消耗采集单元220,配置用于采集集群各节点的CPU资源消耗度和内存消耗度;The consumption collection unit 220 is configured to collect the CPU resource consumption and memory consumption of each node of the cluster;

相近计算单元230,配置用于根据CPU平均利用率、内存平均利用率、CPU资源消耗度和内存消耗度计算节点的CPU-内存使用率相近度;The proximity computing unit 230 is configured to calculate the CPU-memory usage similarity of the node according to the average CPU utilization, the average memory utilization, the CPU resource consumption and the memory consumption;

节点选取单元240,配置用于根据CPU平均利用率、内存平均利用率和CPU-内存使用率相近度评估集群的节点并选取最优节点作为容器部署节点。The node selection unit 240 is configured to evaluate the nodes of the cluster according to the average CPU utilization, the average memory utilization and the similarity of CPU-memory utilization, and select the optimal node as the container deployment node.

可选地,作为本发明一个实施例,所述消耗采集单元包括:Optionally, as an embodiment of the present invention, the consumption collection unit includes:

CPU采集模块,配置用于采集节点上的现有容器的CPU申请量,利用所述CPU申请量除以节点CPU资源总量得到节点CPU资源消耗度;The CPU collection module is configured to collect the CPU application amount of the existing containers on the node, and divide the CPU application amount by the total amount of the node CPU resources to obtain the node CPU resource consumption degree;

内存采集模块,配置用于采集节点上的现有容器的内存申请量,利用所述内存申请量除以节点内存总量得到节点的内存消耗度。The memory collection module is configured to collect the memory application amount of the existing containers on the node, and divide the memory application amount by the total memory amount of the node to obtain the memory consumption degree of the node.

可选地,作为本发明一个实施例,所述节点选取单元包括:Optionally, as an embodiment of the present invention, the node selection unit includes:

权值设置模块,配置用于设置CPU权值和内存权值;Weight setting module, configured to set CPU weight and memory weight;

加权求和模块,配置用于计算各节点的CPU平均利用率与内存平均利用率的加权和;The weighted sum module is configured to calculate the weighted sum of the average CPU utilization and the average memory utilization of each node;

一次筛选模块,配置用于筛选出集群中所述加权和最小的节点作为待选节点;A primary screening module, configured to screen out the node with the smallest weighted sum in the cluster as a candidate node;

二次筛选模块,配置用于若存在多个待选节点,则选取CPU-内存使用率相近度高的待选节点作为容器部署节点。The secondary screening module is configured to select the candidate node with high CPU-memory usage similarity as the container deployment node if there are multiple candidate nodes.

图3为本发明实施例提供的一种终端系统300的结构示意图,该终端系统300可以用于执行本发明实施例提供的集群容器调度方法。FIG. 3 is a schematic structural diagram of a terminal system 300 according to an embodiment of the present invention. The terminal system 300 may be used to execute the cluster container scheduling method provided by the embodiment of the present invention.

其中,该终端系统300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。The terminal system 300 may include: a processor 310 , a memory 320 and a communication unit 330 . These components communicate through one or more buses. Those skilled in the art can understand that the structure of the server shown in the figure does not constitute a limitation of the present invention. It can be either a bus structure, a star structure, or a More or fewer components than shown may be included, or some components may be combined, or a different arrangement of components.

其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。Wherein, the memory 320 can be used to store the execution instructions of the processor 310, and the memory 320 can be implemented by any type of volatile or non-volatile storage terminal or their combination, such as static random access memory (SRAM), electrical Erasable Programmable Read Only Memory (EEPROM), Erasable Programmable Read Only Memory (EPROM), Programmable Read Only Memory (PROM), Read Only Memory (ROM), Magnetic Memory, Flash Memory, Magnetic Disk or Optical Disk . When the execution instructions in the memory 320 are executed by the processor 310, the terminal 300 is enabled to execute some or all of the steps in the following method embodiments.

处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。The processor 310 is the control center of the storage terminal, using various interfaces and lines to connect various parts of the entire electronic terminal, by running or executing the software programs and/or modules stored in the memory 320, and calling the data stored in the memory, To perform various functions of the electronic terminal and/or process data. The processor may be composed of an integrated circuit (Integrated Circuit, IC for short), for example, may be composed of a single packaged IC, or may be composed of a plurality of packaged ICs connected with the same function or different functions. For example, the processor 310 may only include a central processing unit (Central Processing Unit, CPU for short). In the embodiment of the present invention, the CPU may be a single computing core, or may include multiple computing cores.

通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。The communication unit 330 is used for establishing a communication channel, so that the storage terminal can communicate with other terminals. Receive user data sent by other terminals or send user data to other terminals.

本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。The present invention also provides a computer storage medium, wherein the computer storage medium can store a program, and when the program is executed, it can include some or all of the steps in the embodiments provided by the present invention. The storage medium may be a magnetic disk, an optical disk, a read-only memory (English: read-only memory, ROM for short) or a random access memory (English: random access memory, RAM for short).

因此,本发明通过采用平均资源利用率以及资源消耗度对集群的节点进行评价,兼顾了资源利用率和资源平衡度。本发明根据节点实时资源使用情况,结合部署Pod对节点使用率的使用影响进行调度,能够明显提高节点资源使用均衡情况,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。Therefore, the present invention evaluates the nodes of the cluster by using the average resource utilization rate and the resource consumption degree, taking into account the resource utilization rate and the resource balance degree. The present invention performs scheduling according to the real-time resource usage of nodes and in combination with the impact of deploying Pods on the usage of nodes, which can significantly improve the balance of resource usage of nodes. The technical effects that can be achieved in this embodiment can refer to the description above. Repeat.

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。Those skilled in the art can clearly understand that the technology in the embodiments of the present invention can be implemented by means of software plus a necessary general hardware platform. Based on such understanding, the technical solutions in the embodiments of the present invention can be embodied in the form of software products in essence or in the parts that make contributions to the prior art. The computer software products are stored in a storage medium such as a USB flash drive, a mobile Hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program codes, including several instructions to make a computer terminal (It may be a personal computer, a server, or a second terminal, a network terminal, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention.

本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。It is sufficient to refer to each other for the same and similar parts among the various embodiments in this specification. In particular, for the terminal embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and for related parts, please refer to the description in the method embodiment.

在本发明所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided by the present invention, it should be understood that the disclosed system and method may be implemented in other manners. For example, the system embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented. On the other hand, the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection between systems or units, and may be in electrical, mechanical or other forms.

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this embodiment.

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.

尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。Although the present invention has been described in detail in conjunction with the preferred embodiments with reference to the accompanying drawings, the present invention is not limited thereto. Without departing from the spirit and essence of the present invention, those of ordinary skill in the art can make various equivalent modifications or substitutions to the embodiments of the present invention, and these modifications or substitutions should all fall within the scope of the present invention/any Those skilled in the art can easily think of changes or substitutions within the technical scope disclosed by the present invention, which should all be included within the protection scope of the present invention. Therefore, the protection scope of the present invention should be based on the protection scope of the claims.

Claims (10)

1. A method for scheduling a cluster container, comprising:
collecting the average utilization rate of a CPU and the average utilization rate of a memory of each node of a cluster;
collecting CPU resource consumption and memory consumption of each node of the cluster;
calculating the CPU-memory utilization similarity of the nodes according to the average CPU utilization, the average memory utilization, the CPU resource consumption and the memory consumption;
and evaluating the nodes of the cluster according to the average CPU utilization rate, the average memory utilization rate and the CPU-memory utilization rate similarity, and selecting the optimal node as a container deployment node.
2. The method of claim 1, wherein the collecting the average utilization rate of the CPU and the average utilization rate of the memory of each node of the cluster comprises:
setting a data acquisition period;
collecting the CPU utilization rate and the memory utilization rate of each node of the cluster in a collection period;
and calculating the average CPU utilization rate and the average memory utilization rate of each node in the acquisition period.
3. The method of claim 1, wherein the collecting CPU resource consumption and memory consumption of each node of the cluster comprises:
acquiring CPU application amount of an existing container on a node, and dividing the CPU application amount by the total amount of node CPU resources to obtain node CPU resource consumption;
and acquiring the memory application amount of the existing container on the node, and dividing the memory application amount by the total amount of the node memory to obtain the memory consumption of the node.
4. The method of claim 1, wherein calculating the CPU-memory utilization proximity of the node based on the average CPU utilization, the average memory utilization, the CPU resource consumption, and the memory consumption comprises:
setting a first coefficient and a second coefficient, wherein the sum of the first coefficient and the second coefficient is 1, and the ratio of the first coefficient to the second coefficient is equal to the ratio of the CPU resource consumption to the memory consumption;
setting a fixed constant;
taking the difference between the first coefficient and the CPU average utilization rate and the difference between the second coefficient and the memory average utilization rate as constant coefficients;
and the difference value obtained by subtracting the product of the fixed constant and the constant coefficient from the fixed constant is used as the CPU-memory utilization approximation.
5. The method of claim 1, wherein the evaluating nodes of the cluster according to the average utilization rate of the CPU, the average utilization rate of the memory, and the CPU-memory utilization similarity and selecting an optimal node as a container deployment node comprises:
setting a CPU weight and a memory weight;
calculating the weighted sum of the average CPU utilization rate and the average memory utilization rate of each node;
screening out the node with the minimum weighted sum in the cluster as a node to be selected;
and if a plurality of nodes to be selected exist, selecting the nodes to be selected with high CPU-memory utilization rate similarity as container deployment nodes.
6. A cluster container scheduling system, comprising:
the average acquisition unit is configured for acquiring the average utilization rate of the CPU and the average utilization rate of the memory of each node of the cluster;
the consumption acquisition unit is configured for acquiring the CPU resource consumption and the memory consumption of each node of the cluster;
the close calculation unit is configured for calculating the CPU-memory utilization close degree of the node according to the average CPU utilization rate, the average memory utilization rate, the CPU resource consumption degree and the memory consumption degree;
and the node selection unit is configured to evaluate the nodes of the cluster according to the average CPU utilization rate, the average memory utilization rate and the CPU-memory utilization rate similarity and select the optimal node as a container deployment node.
7. The system of claim 6, wherein the consumption collection unit comprises:
the CPU acquisition module is used for acquiring the CPU application amount of the existing container on the node and dividing the CPU application amount by the total amount of the node CPU resources to obtain the consumption degree of the node CPU resources;
and the memory acquisition module is configured for acquiring the memory application amount of the existing container on the node and dividing the memory application amount by the total amount of the node memory to obtain the memory consumption of the node.
8. The system of claim 6, wherein the node selection unit comprises:
the weight setting module is configured for setting a CPU weight and a memory weight;
the weighted summation module is configured to calculate a weighted sum of the CPU average utilization rate and the memory average utilization rate of each node;
the primary screening module is configured to screen out the node with the minimum weighted sum in the cluster as a node to be selected;
and the secondary screening module is configured to select a node to be selected with high CPU-memory utilization rate similarity as a container deployment node if a plurality of nodes to be selected exist.
9. A terminal, comprising:
a processor;
a memory for storing instructions for execution by the processor;
wherein the processor is configured to perform the method of any one of claims 1-5.
10. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the method according to any one of claims 1-5.
CN202010154836.2A 2020-03-08 2020-03-08 Cluster container scheduling method, system, terminal and storage medium Pending CN111475251A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010154836.2A CN111475251A (en) 2020-03-08 2020-03-08 Cluster container scheduling method, system, terminal and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010154836.2A CN111475251A (en) 2020-03-08 2020-03-08 Cluster container scheduling method, system, terminal and storage medium

Publications (1)

Publication Number Publication Date
CN111475251A true CN111475251A (en) 2020-07-31

Family

ID=71747253

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010154836.2A Pending CN111475251A (en) 2020-03-08 2020-03-08 Cluster container scheduling method, system, terminal and storage medium

Country Status (1)

Country Link
CN (1) CN111475251A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858069A (en) * 2020-08-03 2020-10-30 网易(杭州)网络有限公司 Cluster resource scheduling method and device and electronic equipment
CN111966500A (en) * 2020-09-07 2020-11-20 网易(杭州)网络有限公司 Resource scheduling method and device, electronic equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140380303A1 (en) * 2013-06-21 2014-12-25 International Business Machines Corporation Storage management for a cluster of integrated computing systems
CN109960585A (en) * 2019-02-02 2019-07-02 浙江工业大学 A resource scheduling method based on kubernetes
CN110780998A (en) * 2019-09-29 2020-02-11 武汉大学 Dynamic load balancing resource scheduling method based on Kubernetes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140380303A1 (en) * 2013-06-21 2014-12-25 International Business Machines Corporation Storage management for a cluster of integrated computing systems
CN109960585A (en) * 2019-02-02 2019-07-02 浙江工业大学 A resource scheduling method based on kubernetes
CN110780998A (en) * 2019-09-29 2020-02-11 武汉大学 Dynamic load balancing resource scheduling method based on Kubernetes

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111858069A (en) * 2020-08-03 2020-10-30 网易(杭州)网络有限公司 Cluster resource scheduling method and device and electronic equipment
CN111966500A (en) * 2020-09-07 2020-11-20 网易(杭州)网络有限公司 Resource scheduling method and device, electronic equipment and storage medium
CN111966500B (en) * 2020-09-07 2023-08-11 网易(杭州)网络有限公司 Resource scheduling method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
CN111966500B (en) Resource scheduling method and device, electronic equipment and storage medium
CN105808328B (en) The methods, devices and systems of task schedule
CN104102543B (en) The method and apparatus of adjustment of load in a kind of cloud computing environment
CN111459665A (en) Distributed edge computing system and distributed edge computing method
CN110221915A (en) Node scheduling method and apparatus
CN114416352A (en) Computing resource allocation method and device, electronic equipment and storage medium
CN111158852A (en) Training resource dynamic allocation method, system, terminal and storage medium
CN118819870B (en) Method and system for realizing resource scheduling based on cloud computing
CN106528288A (en) Resource management method, device and system
CN111796933A (en) Resource scheduling method, device, storage medium and electronic equipment
CN111506434A (en) Task processing method and device and computer readable storage medium
US12260256B2 (en) Hybrid resource scheduling method and system for online and offline transactions
CN112486642A (en) Resource scheduling method and device, electronic equipment and computer readable storage medium
CN118796380A (en) Virtual machine resource scheduling method and device
CN111475251A (en) Cluster container scheduling method, system, terminal and storage medium
CN117149424A (en) Resource capacity expansion method, device, equipment and storage medium
CN115617451B (en) Data processing method and data processing device
CN111124854A (en) Method, system, terminal and storage medium for distributing smoking test cases
CN107203256A (en) Energy-conservation distribution method and device under a kind of network function virtualization scene
CN111796934B (en) Task issuing method and device, storage medium and electronic equipment
CN113886086A (en) Cloud platform computing resource allocation method, system, terminal and storage medium
CN112363826A (en) Project resource comprehensive management system, method, terminal and storage medium
CN118260080A (en) Server load balancing method and device, server cluster, equipment and medium
CN117149382A (en) Virtual machine scheduling method, device, computer equipment and storage medium
CN104793985B (en) A kind of dispatching method of virtual machine and management equipment

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200731