CN110780998A - Kubernetes-based dynamic load balancing resource scheduling method - Google Patents

Kubernetes-based dynamic load balancing resource scheduling method Download PDF

Info

Publication number
CN110780998A
CN110780998A CN201910933130.3A CN201910933130A CN110780998A CN 110780998 A CN110780998 A CN 110780998A CN 201910933130 A CN201910933130 A CN 201910933130A CN 110780998 A CN110780998 A CN 110780998A
Authority
CN
China
Prior art keywords
pod
node
scheduling
load
kubernetes
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
CN201910933130.3A
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.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
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 Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN201910933130.3A priority Critical patent/CN110780998A/en
Publication of CN110780998A publication Critical patent/CN110780998A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

The invention discloses a dynamic load balancing resource scheduling method based on Kubernetes, which improves a dynamic load balancing algorithm by combining the characteristics of a Kubernetes scheduling system, divides the scheduling algorithm into a static scheduling part and a dynamic scheduling part, and can still better maintain the load balancing of the system when the cluster environment changes. The Kubernetes container resource scheduling strategy provided by the invention solves the problems that the Kubernetes scheduling strategy is single, and the reasonable scheduling from the container to the machine node in the cluster can not be realized according to the constraint scheduling requirements of the container application on specific factors such as system kernels, network transmission speed and the like. And the dynamic load balancing scheduling strategy of migrating the Pod running on a certain working node to another new working node with higher matching degree with the scheduling strategy is realized.

Description

Kubernetes-based dynamic load balancing resource scheduling method
Technical Field
The invention belongs to the technical field of cloud computing, relates to a dynamic load balancing resource scheduling method, and particularly relates to a Kubernetes-based container resource scheduling method.
Background
The rapid development of cloud computing, big data and mobile technology and the continuous change of business requirements of enterprises lead to that the enterprise architecture needs to be changed at any time to meet the business requirements, and keep pace with the technology updating. These burdens will, of course, be placed on enterprise developers. How to coordinate efficiently, deliver products quickly, deploy applications quickly and meet business requirements of enterprises among teams is a problem which needs to be solved urgently by developers. The Docker technique may help developers solve these problems.
Docker is an open source application container engine, so that developers can package their applications and dependency packages into a portable container, and then distribute the container to any popular Linux machine, and also realize virtualization. The containers use a sandbox mechanism entirely without any interface between each other.
Kubernets is built on Docker container technology, provides an integral solution for containerization application for users, has strong container arrangement capacity, follows micro-service architecture theory, and is open source, and has become the most popular open source container cluster scheduling system of Docker ecosphere nowadays. Kubernetes uses Docker to pack, instantiate and run application programs, runs and manages containers across hosts in a cluster mode, and solves the communication problem between the containers running among different hosts. The Scheduler is a Scheduler loaded and operated in the Kubernetes container cluster management system, and is responsible for collecting, statistically analyzing resource usage of all nodes in the container cluster management system, and then allocating the newly-built Pod to an available Node with the highest priority for building according to the resource usage.
The main consideration factors of the Kubernetes scheduler in the prior art are CPU and memory when resource scheduling is carried out, but the resource scheduling mode ignores the influence of network factors on the startup and operation of Pod on a host. After the Pod to be scheduled and the host are bound by the Scheduler component of the control node, the host needs to consider the following two factors to start and normally operate the Pod:
1. the host computer needs to download the image files of all containers in the Pod to the network address specified by the Pod resource description file, and the network transmission speed between the host computer and the image storage system is directly related to the starting speed of the Pod;
the data in the Pod is temporary, and when the Pod is destroyed, the data in the Pod is lost, so the Pod needs to persist the data by means of a data volume. Therefore, after the Pod is started and operated, the Pod also needs to mount a persistent storage system for data access, and the IO speed of an application operated in the Pod is directly influenced by the data transmission speed between the host and the persistent storage.
The Kubernetes carries out resource scheduling according to the resource use condition reported by each working node and the resource amount requested during Pod creation. From the time a Pod is scheduled by the Scheduler onto the appropriate working node to the end of its lifecycle, the Pod will not migrate between working nodes. However, as time progresses, the resources on the worker nodes change, and the Pod is created and deleted, the scheduling choices made by the scheduler may not be available at this point in time. In an actual application scenario, a Pod running at a certain working node often needs to be migrated to a new working node with a higher matching degree with a scheduling policy.
Disclosure of Invention
The invention aims to provide a Kubernetes container resource scheduling method, which solves the problems that the Kubernetes scheduling strategy is single, and reasonable scheduling from a container to a machine node in a cluster cannot be realized according to specific factors such as system kernel, network transmission speed and the like in container application; and the dynamic load balancing scheduling of migrating the Pod running on a certain working node to another new working node with higher matching degree with the scheduling strategy is realized.
The technical scheme adopted by the invention is as follows: a dynamic load balancing resource scheduling method based on Kubernetes adopts a Kubernetes container cluster management system; the system loads and operates a plurality of nodes, wherein the nodes are working nodes of a Kubernetes container cluster;
characterized in that the method comprises the following steps:
step 1: a working node in the Kubernetes container cluster management system reports the resource use condition to a control node;
step 2: creating a Pod on a control node, indicating Pod requirements in a resource description file of the Pod, and placing the Pod requirements into a to-be-scheduled Pod queue;
and step 3: taking out the Pod from the Pod queue to be scheduled by the scheduler, and selecting the most appropriate node for the Pod according to the resource description file of the Pod;
and 4, step 4: scheduling and running the Pod to be scheduled on the target node;
and 5: the monitoring program regularly collects the performance information of the Pod and the host machine and stores the information into the persistent database etcd;
step 6: reading the performance data of the Pod and the host machine thereof from the persistent database etcd, performing processing operation, and feeding back the ratio of the CPU utilization rate, the memory utilization rate, the mirror image average transmission speed and the mirror image network load average value of the cluster to the scheduler after the processing operation;
and 7: and the scheduler dynamically adjusts the resources according to the integral load information of the cluster.
Compared with the existing scheduling strategy, the invention has the advantages that:
the invention improves the resource model of Kubernetes, and provides resource models of network bandwidth, storage space and the like added on the basis of CPU and memory as the weighing factors of scheduling;
2. a load balancing method based on double load queues is designed, a high load queue and a low load queue are realized in a binary heap mode, and through periodically detecting the load condition of a cluster, some Pod of nodes with higher load are migrated to nodes with lower load so as to ensure the load balancing of the cluster;
3. aiming at the defect that Kubernets do not support dynamic scheduling, the invention improves a dynamic load balancing algorithm by combining the characteristics of a Kubernets scheduling system, divides the scheduling algorithm into a static scheduling part and a dynamic scheduling part, and can still better maintain the load balancing of the system when the cluster environment changes.
Drawings
FIG. 1 is a method schematic of an embodiment of the invention;
FIG. 2 is a diagram illustrating a dynamic scheduling trigger condition according to an embodiment of the present invention;
FIG. 3 is a flow chart of dynamic control in an embodiment of the present invention;
fig. 4 is a diagram of a dynamic scheduling process in an embodiment of the present invention.
Detailed Description
In order to facilitate the understanding and implementation of the present invention for those of ordinary skill in the art, the present invention is further described in detail with reference to the accompanying drawings and examples, it is to be understood that the embodiments described herein are merely illustrative and explanatory of the present invention and are not restrictive thereof.
The invention provides a dynamic load balancing resource scheduling method based on Kubernetes, which adopts a Kubernetes container cluster management system; the system loads and operates a plurality of nodes, wherein the nodes are working nodes of a Kubernetes container cluster; the invention can improve the scheduling strategy of the scheduler in the prior Kubernets system, and can ensure that the Pod can be scheduled to the available Node (Node) with the highest priority, thereby improving the overall performance of the Kubernets container cluster, particularly the dynamic scheduling strategy, and realizing the load balance of the whole cluster resource.
Referring to fig. 1, the dynamic load balancing resource scheduling method based on Kubernetes provided by the present invention includes the following steps:
step 1: a working node in the Kubernetes container cluster management system reports the resource use condition to a control node;
the most core component of the Kubernetes resource scheduling module is a Scheduler module on a control Node (Master Node), the module is responsible for managing Pods to be scheduled and all available nodes, establishing a high-load queue and a low-load queue according to cluster load information stored on a persistent database etcd, selecting the best host for the Pods to be scheduled according to a scheduling algorithm and a scheduling policy, binding the Pods and the nodes, and storing binding information into the persistent database etcd.
Step 2: creating a Pod on a control node, indicating Pod requirements in a resource description file of the Pod, and placing the Pod requirements into a to-be-scheduled Pod queue; the Pod requirements comprise the amount of applied resources, mounted storage volumes and the like;
and step 3: taking out the Pod from the Pod queue to be scheduled by the scheduler, and selecting a scheduling algorithm to select the most appropriate node for the Pod according to the resource description file of the Pod;
selecting the most appropriate node for the Pod in the embodiment, which is specifically implemented by selecting the most appropriate node for the Pod by adopting static scheduling or selecting the most appropriate node for the Pod by adopting dynamic scheduling;
static scheduling, when the Pod queue to be scheduled is not empty, taking out the Pod (scheduling the Pod in the Pod queue to be scheduled to a proper node according to a designed scheduling strategy according to a first-in first-out sequence) from the queue to select the most proper host;
and (3) dynamically scheduling, wherein the monitor regularly feeds back the relevant information of the host and the running task to the persistent database etcd, the scheduler reads data from the persistent database etcd, dynamically schedules according to the overall load condition of the cluster, and migrates some Pod of the nodes with the load higher than the preset value to the nodes with the load lower than the preset value.
And 4, step 4: scheduling and running the Pod to be scheduled on the target node;
and 5: the monitoring program regularly collects the performance information of the Pod and the host machine and stores the information into the persistent database etcd;
step 6: reading the performance data of the Pod and the host thereof from the persistent database etcd, and performing processing operation (taking the load average value of each resource in the system and the load ratio of the node as each resource score of the node, and judging the resource condition of the node according to the comprehensive score, aiming at comprehensively considering four factors of the downloading speed among the CPU, the memory and the mirror image warehouse and the data transmission speed among the persistent storage system to measure the load state of the host), and feeding back the ratio of the CPU utilization rate, the memory utilization rate, the mirror image average transmission speed and the mirror image network load average value of the cluster to a scheduler after processing;
and 7: and the scheduler dynamically adjusts the resources according to the integral load information of the cluster.
In this embodiment, to implement a preferred policy based on dynamic load balancing, a LoadBalancePriority policy is designed, which is different from a kubernets default policy, and the LoadBalancePriority policy takes a load average value of each resource in a system and a load ratio of a node as each resource score of the node, calculates a comprehensive score according to the resource scores, and evaluates a resource condition of the node according to the comprehensive score.
In Kubernetes, the preferred strategy for the default algorithm is to take the arithmetic mean of the individual resource scores as the composite score for the node. However, in the cluster environment, different types of resource use conditions have different influences on the performance of the host, different types of applications have different requirements on resources, some applications are high-CPU-consumption type applications, some applications are high-memory-consumption type applications, and even some applications do not need to perform data interaction with the mirror image storage system and the persistent data storage system. Therefore, a weight factor is introduced here to represent the degree of influence of each resource on the total score of the node, and the greater the influence of a certain resource on the operation of Pod, the greater the weight factor of the resource. The weight factor vector is represented as:
Δ=(λ cpu,λ memory,λ imageNet,λ dataNet)
wherein
λ cpumemoryimageNetdataNet=1
Each element of the vector represents a degree of contribution of the corresponding resource to the node composite score.
Composite score of node score iThe calculation formula is as follows:
score i=10×[λ cpu(cpuScore i)+λ memory(memoryScore i)+λ imageNet(imageNetScore i)+λ dataNet(dataNetScore i)]
wherein the CPU score of the ith node is cpuScore iEqual to the ratio of the CPU utilization of this host to the average CPU load of the cluster.
For the CPU and the memory, the value of the corresponding item in the formula is more than 0, which means that the load of the resource is less than the load average value of the cluster, and the value of the corresponding item in the formula is less than 0, which means that the load degree is inferior to the average condition of the cluster; for the mirror network transmission speed and the data network transmission speed, a value greater than 0 indicates that the average network transmission speed is faster than the average network transmission speed of the cluster, and conversely, the average network transmission speed is slower than the average network transmission speed of the cluster.
When the comprehensive score is greater than 0, the comprehensive load condition of the node is superior to the comprehensive load average condition of the cluster, and the node can be taken as a task immigration object; and when the comprehensive score is less than 0, the comprehensive load of the node is poor relative to the comprehensive load average condition of the cluster, and the node can be taken as a task emigration object and a part of Pod is selected for rescheduling.
And (3) realizing a load queue:
the idea of the invention for realizing dynamic load balancing is as follows: two load queues are established in the scheduler: and the high-load queue and the low-load queue divide all the nodes of the cluster into two queues according to the comprehensive score calculated by the LoadBalanancepriority, wherein the score of more than 0 indicates that the comprehensive load is idle relative to the cluster and is stored in the low-load queue, and the score of less than 0 indicates that the comprehensive load is heavy relative to the cluster and is stored in the high-load queue. And migrating some Pod of the nodes with higher load to the nodes with lower load by periodically detecting the load condition of the cluster so as to ensure the load balance of the cluster.
In the load queue, the scores of the nodes are sequentially calculated, the nodes are inserted into the queue, the node with the highest score (or the node with the lowest score) is searched, and the node is deleted. Therefore, the load queue is realized by adopting a priority queue, the priority queue is different from a common queue, the common queue is first-in first-out, the positions of elements in the queue can be dynamically adjusted by each insertion and deletion operation in the priority queue, and the node with the highest (or lowest) weight in the queue can be removed by each deletion operation.
Corresponding to the three basic operations in the load queue, insertion, deletion and search are required in the priority queue. There are three ways to implement priority queues: ordered tables, unordered tables, and binary heaps. The time complexity of the ordered list insertion is O (n), and the time complexity of the deletion is O (1), so that the method is suitable for queues with more insertion operations than deletion operations; the time complexity of the insertion and deletion of the unordered table is opposite to that of the ordered table, and the method is suitable for deleting the queue dominated by operation. In the load queue, the insertion and deletion operations are frequent, so the design adopts a third mode, namely a binary heap to realize the priority queue, the time complexity of the insertion and deletion of the priority queue realized by the binary heap is O (log2n), and the load queue realized by the binary heap can balance the complexity of the algorithm.
The high load queue and the low load queue need to carry out insertion, searching and deletion operations, the high load queue stores the nodes with the comprehensive scores smaller than 0 in the queue in an ascending order, and the low load queue stores the nodes with the comprehensive scores larger than 0 in a descending order.
In the current version of Kubernetes, the main reasons for triggering rescheduling are:
1, Pod operation is abnormal; the Pod terminates its operation at the host for various reasons (e.g., is not compatible with other pods in the Node) by the Kublet, recovering its occupied resources.
2, Node operation is abnormal; if the storage volume of the Pod is mounted in a distributed file system such as a GlusterFS, when the Node stops working due to power failure or damage, the Master Node extracts the Pod related information stored in the network file system and the etcd and recovers the pods on other nodes.
However, in the dynamic load balancing policy, this is obviously insufficient, as shown in fig. 2, two ways of triggering dynamic scheduling are added to the original kubernets way of the design:
1. triggering an external event; the external event may be, in addition to the above-described abnormal operation of Pod or Node, a reason such as cluster capacity expansion and capacity reduction, and may be dynamically scheduled according to an increase or decrease in the number of available nodes of the cluster.
2.Node overload protection; the load condition of each node is periodically detected through a timer, when the load of the nodes in the cluster is too heavy, rescheduling is triggered, and the over-loaded node part Pod is migrated out.
The specific implementation steps of the dynamic control are shown in fig. 3:
step 7.1: initializing a system, and setting parameters such as system resource specification coefficients, required weight factors, dynamic scheduling thresholds, load information collection periods and the like;
step 7.2: the monitor regularly acquires the load information of each working node according to a set period, the period is generally set to be 8-60 seconds, and the collected load information is stored in a persistent database etcd;
step 7.3: the control node reads the load information of the persistent database etc, and calculates the load mean value, each resource score and the comprehensive score of each working node;
step 7.4: a scheduler of the control node establishes a high-load queue and a low-load queue in a binary heap mode according to the comprehensive score;
step 7.5: and completing resource scheduling by the scheduler, and migrating the part of the Pod (sequentially migrating the Pod on the high-load queue to the low-load queue in a polling mode, and removing the node from the high-load queue when the score of the node is changed after migration) on the node with the comprehensive score lower than the lower threshold to the node with relatively lower load.
In this embodiment, the dynamic scheduling may be triggered by an external event, such as: pod or Node exceptions, cluster expansion and contraction, external control commands, etc.
The specific implementation of dynamic scheduling is divided into 4 steps: sorting, preselecting, building a team and scheduling, as shown in fig. 4, a scheduler reads load information of all available nodes from a persistent database etcd at regular time and calculates a comprehensive score, the nodes are divided into two queues according to the score condition, the nodes of each queue are filtered out some nodes which do not meet requirements through a preselection process, a high-load queue and a low-load queue are built for the filtered nodes according to the score value, and the scheduler selects a plurality of Pod from the head of the high-load queue to migrate to the nodes of the low-load queue, so that the overall load balance of the system can be maintained through a dynamic adjustment mode.
The invention discloses a dynamic load balancing resource scheduling strategy based on Kubernetes (an open source container cluster arrangement system). The invention improves the resource model of Kubernetes, and provides the resource models of network bandwidth, storage space and the like added on the basis of CPU and memory as the measurement factors of scheduling; through a load balancing method based on double load queues, through periodically detecting the load condition of a cluster, some Pods (Pod is the minimum unit which can be scheduled by a Kubernets container cluster management system) of nodes with higher load are migrated to nodes with lower load, so as to ensure the load balance of the cluster; aiming at the defect that Kubernets do not support dynamic scheduling, the invention improves a dynamic load balancing algorithm by combining the characteristics of a Kubernets scheduling system, divides the scheduling algorithm into a static scheduling part and a dynamic scheduling part, and can still better maintain the load balancing of the system when the cluster environment changes. The Kubernetes container resource scheduling strategy provided by the invention solves the problems that the Kubernetes scheduling strategy is single, and the reasonable scheduling from the container to the machine node in the cluster can not be realized according to the constraint scheduling requirements of the container application on specific factors such as system kernels, network transmission speed and the like. And the dynamic load balancing scheduling strategy of migrating the Pod running on a certain working node to another new working node with higher matching degree with the scheduling strategy is realized.
It should be understood that parts of the specification not set forth in detail are well within the prior art.
It should be understood that the above description of the preferred embodiments is given for clarity and not for any purpose of limitation, and that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (6)

1. A dynamic load balancing resource scheduling method based on Kubernetes adopts a Kubernetes container cluster management system; the system loads and operates a plurality of nodes, wherein the nodes are working nodes of a Kubernetes container cluster;
characterized in that the method comprises the following steps:
step 1: a working node in the Kubernetes container cluster management system reports the resource use condition to a control node;
step 2: creating a Pod on a control node, indicating Pod requirements in a resource description file of the Pod, and placing the Pod requirements into a to-be-scheduled Pod queue;
and step 3: taking out the Pod from the Pod queue to be scheduled by the scheduler, and selecting the most appropriate node for the Pod according to the resource description file of the Pod;
and 4, step 4: scheduling and running the Pod to be scheduled on the target node;
and 5: the monitoring program regularly collects the performance information of the Pod and the host machine and stores the information into the persistent database etcd;
step 6: reading the performance data of the Pod and the host machine thereof from the persistent database etcd, performing processing operation, and feeding back the ratio of the CPU utilization rate, the memory utilization rate, the mirror image average transmission speed and the mirror image network load average value of the cluster to the scheduler after the processing operation;
and 7: and the scheduler dynamically adjusts the resources according to the integral load information of the cluster.
2. The dynamic load balancing resource scheduling method based on Kubernetes according to claim 1, characterized in that: the requirements in step 2 include the amount of resources requested and the mounted storage volume.
3. The dynamic load balancing resource scheduling method based on Kubernetes according to claim 1, characterized in that: selecting the most appropriate node for the Pod in the step 3, wherein the specific implementation comprises selecting the most appropriate node for the Pod by adopting static scheduling or selecting the most appropriate node for the Pod by adopting dynamic scheduling;
in the static scheduling, when the Pod queue to be scheduled is not empty, the pods in the Pod queue to be scheduled are scheduled to a proper node according to a designed scheduling strategy according to a first-in first-out sequence, and the pods are taken out from the node to select the most proper host;
and in the dynamic scheduling, the monitor regularly feeds back the relevant information of the host and the running task to the persistent database etcd, the scheduler reads data from the persistent database etcd, performs dynamic scheduling according to the overall load condition of the cluster, and migrates some Pod of the nodes with the load higher than the preset value to the nodes with the load lower than the preset value.
4. The dynamic load balancing resource scheduling method based on Kubernetes according to claim 1, characterized in that: and 6, performing the processing operation, wherein the load average value of each resource in the system and the load ratio of the node are used as each resource score of the node, and the resource condition of the node is judged according to the comprehensive score.
5. The Kubernetes-based dynamic load balancing resource scheduling method according to any one of claims 1-4, wherein the specific implementation of step 7 comprises the following sub-steps:
step 7.1: initializing a system and setting related parameters; the parameters comprise system resource specification coefficients, demand weight factors, dynamic scheduling thresholds and load information collection periods;
step 7.2: the monitor regularly acquires the load information of each working node according to a set period and stores the collected load information into a persistent database etcd;
step 7.3: the control node reads load information of the persistent database etcd, and calculates a load mean value, each resource score and a comprehensive score of each working node;
step 7.4: a scheduler of the control node establishes a high-load queue and a low-load queue in a binary heap mode according to the comprehensive score;
step 7.5: and completing resource scheduling by the scheduler, and migrating the part Pod on the node with the comprehensive score lower than the lower threshold value to the node with relatively low load.
6. The dynamic load balancing resource scheduling method based on Kubernetes according to any one of claims 1 to 4, characterized in that: in step 7, the dynamic scheduling is triggered by a timer, d or Node exception trigger, cluster capacity expansion and capacity reduction trigger or an external control command.
CN201910933130.3A 2019-09-29 2019-09-29 Kubernetes-based dynamic load balancing resource scheduling method Pending CN110780998A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910933130.3A CN110780998A (en) 2019-09-29 2019-09-29 Kubernetes-based dynamic load balancing resource scheduling method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910933130.3A CN110780998A (en) 2019-09-29 2019-09-29 Kubernetes-based dynamic load balancing resource scheduling method

Publications (1)

Publication Number Publication Date
CN110780998A true CN110780998A (en) 2020-02-11

Family

ID=69384714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910933130.3A Pending CN110780998A (en) 2019-09-29 2019-09-29 Kubernetes-based dynamic load balancing resource scheduling method

Country Status (1)

Country Link
CN (1) CN110780998A (en)

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111352717A (en) * 2020-03-24 2020-06-30 广西梯度科技有限公司 Method for realizing kubernets self-defined scheduler
CN111475251A (en) * 2020-03-08 2020-07-31 苏州浪潮智能科技有限公司 Cluster container scheduling method, system, terminal and storage medium
CN111522639A (en) * 2020-04-16 2020-08-11 南京邮电大学 Multidimensional resource scheduling method under Kubernetes cluster architecture system
CN111767145A (en) * 2020-06-24 2020-10-13 中国工商银行股份有限公司 Container scheduling system, method, device and equipment
CN112328573A (en) * 2020-11-03 2021-02-05 杭州朗澈科技有限公司 Database migration method and system in kubernets cluster
CN112416523A (en) * 2020-11-24 2021-02-26 浪潮云信息技术股份公司 Method for realizing multi-container operation by using RuntimeClass
CN112532751A (en) * 2021-02-09 2021-03-19 中关村科学城城市大脑股份有限公司 Method and system for scheduling distributed heterogeneous computing power of urban brain AI computing center
CN112527454A (en) * 2020-12-04 2021-03-19 上海连尚网络科技有限公司 Container group scheduling method and device, electronic equipment and computer readable medium
CN112799837A (en) * 2021-01-27 2021-05-14 浪潮云信息技术股份公司 Container dynamic balance scheduling method
CN112835714A (en) * 2021-01-29 2021-05-25 中国人民解放军国防科技大学 Container arrangement method, system and medium for CPU heterogeneous cluster in cloud edge environment
CN112988394A (en) * 2021-04-20 2021-06-18 北京世纪好未来教育科技有限公司 Business service publishing method, device, medium and equipment based on cloud native container
CN113010270A (en) * 2021-04-08 2021-06-22 桂林电子科技大学 Kubernetes platform-based dynamic resource load balancing scheduling method and system
CN113032102A (en) * 2021-04-07 2021-06-25 广州虎牙科技有限公司 Resource rescheduling method, device, equipment and medium
CN113065785A (en) * 2021-04-13 2021-07-02 国网江苏省电力有限公司信息通信分公司 Dynamic resource expansion method for electric power internet of things management platform
WO2021135545A1 (en) * 2020-06-30 2021-07-08 平安科技(深圳)有限公司 Kubernetes multi-cluster management system and method, terminal and storage medium
CN113157440A (en) * 2021-03-23 2021-07-23 北京云上曲率科技有限公司 Self-adaptive load balancing and high availability guaranteeing method applied to mobile terminal
WO2021169342A1 (en) * 2020-02-24 2021-09-02 苏州浪潮智能科技有限公司 Resource management method for node in kubernetes, device, and medium
CN113391891A (en) * 2021-05-20 2021-09-14 国网江苏省电力有限公司信息通信分公司 Load balancing resource scheduling method based on Rete and character string pattern matching algorithm
CN113553171A (en) * 2021-06-07 2021-10-26 用友汽车信息科技(上海)股份有限公司 Load balancing control method, device and computer readable storage medium
CN113672391A (en) * 2021-08-23 2021-11-19 烽火通信科技股份有限公司 Parallel computing task scheduling method and system based on Kubernetes
CN113783922A (en) * 2021-03-26 2021-12-10 北京沃东天骏信息技术有限公司 Load balancing method, system and device
CN113946438A (en) * 2021-09-03 2022-01-18 西安电子科技大学 Online migration scheduling method, device, equipment and system based on container integration
CN114579305A (en) * 2022-02-28 2022-06-03 北京百度网讯科技有限公司 Resource control method, device, equipment and medium for function calculation
CN114911615A (en) * 2022-05-06 2022-08-16 江苏安超云软件有限公司 Method and application for intelligent prediction scheduling during micro-service operation
CN115168057A (en) * 2022-09-02 2022-10-11 浙江大华技术股份有限公司 Resource scheduling method and device based on k8s cluster
WO2022225669A1 (en) * 2021-04-19 2022-10-27 Microsoft Technology Licensing, Llc Dynamic relocation of pods to optimize inter-pod networking
CN115280285A (en) * 2020-07-30 2022-11-01 威睿公司 Scheduling workloads on a common set of resources by multiple schedulers operating independently
US11539637B2 (en) 2021-01-25 2022-12-27 Cisco Technology, Inc. Resource orchestration for multiple services
US11616732B2 (en) 2020-05-29 2023-03-28 Hewlett Packard Enterprise Development Lp Enhanced redeploying of computing resources
CN115952008A (en) * 2023-03-15 2023-04-11 之江实验室 Unified scheduling method and device for server cluster resources
CN116483547A (en) * 2023-06-21 2023-07-25 之江实验室 Resource scheduling method, device, computer equipment and storage medium
US11928503B2 (en) 2021-06-22 2024-03-12 International Business Machines Corporation Cognitive scheduler for Kubernetes
CN117714452A (en) * 2023-12-14 2024-03-15 摩尔线程智能科技(北京)有限责任公司 Traffic load balancing method, system and device
CN117729204A (en) * 2024-02-06 2024-03-19 山东大学 K8S container scheduling method and system based on monitoring perception

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109783218A (en) * 2019-01-24 2019-05-21 中国—东盟信息港股份有限公司 A kind of container dispatching method based on Kubernetes container cluster with time correlation connection

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109783218A (en) * 2019-01-24 2019-05-21 中国—东盟信息港股份有限公司 A kind of container dispatching method based on Kubernetes container cluster with time correlation connection

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
唐瑞: "基于Kubernetes的容器云平台资源调度策略研究" *

Cited By (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11915067B2 (en) 2020-02-24 2024-02-27 Inspur Suzhou Intelligent Technology Co., Ltd. Resource management method for node in kubernetes, device, and medium
WO2021169342A1 (en) * 2020-02-24 2021-09-02 苏州浪潮智能科技有限公司 Resource management method for node in kubernetes, device, and medium
CN111475251A (en) * 2020-03-08 2020-07-31 苏州浪潮智能科技有限公司 Cluster container scheduling method, system, terminal and storage medium
CN111352717A (en) * 2020-03-24 2020-06-30 广西梯度科技有限公司 Method for realizing kubernets self-defined scheduler
CN111352717B (en) * 2020-03-24 2023-04-07 广西梯度科技股份有限公司 Method for realizing kubernets self-defined scheduler
CN111522639B (en) * 2020-04-16 2022-11-01 南京邮电大学 Multidimensional resource scheduling method under Kubernetes cluster architecture system
WO2021208546A1 (en) * 2020-04-16 2021-10-21 南京邮电大学 Multi-dimensional resource scheduling method in kubernetes cluster architecture system
CN111522639A (en) * 2020-04-16 2020-08-11 南京邮电大学 Multidimensional resource scheduling method under Kubernetes cluster architecture system
US11616732B2 (en) 2020-05-29 2023-03-28 Hewlett Packard Enterprise Development Lp Enhanced redeploying of computing resources
CN111767145A (en) * 2020-06-24 2020-10-13 中国工商银行股份有限公司 Container scheduling system, method, device and equipment
WO2021135545A1 (en) * 2020-06-30 2021-07-08 平安科技(深圳)有限公司 Kubernetes multi-cluster management system and method, terminal and storage medium
CN115280285A (en) * 2020-07-30 2022-11-01 威睿公司 Scheduling workloads on a common set of resources by multiple schedulers operating independently
CN112328573A (en) * 2020-11-03 2021-02-05 杭州朗澈科技有限公司 Database migration method and system in kubernets cluster
CN112416523A (en) * 2020-11-24 2021-02-26 浪潮云信息技术股份公司 Method for realizing multi-container operation by using RuntimeClass
CN112527454A (en) * 2020-12-04 2021-03-19 上海连尚网络科技有限公司 Container group scheduling method and device, electronic equipment and computer readable medium
US11539637B2 (en) 2021-01-25 2022-12-27 Cisco Technology, Inc. Resource orchestration for multiple services
US11991090B2 (en) 2021-01-25 2024-05-21 Cisco Technology, Inc. Resource orchestration for multiple services
CN112799837A (en) * 2021-01-27 2021-05-14 浪潮云信息技术股份公司 Container dynamic balance scheduling method
CN112835714A (en) * 2021-01-29 2021-05-25 中国人民解放军国防科技大学 Container arrangement method, system and medium for CPU heterogeneous cluster in cloud edge environment
CN112835714B (en) * 2021-01-29 2023-07-28 中国人民解放军国防科技大学 Container arrangement method, system and medium for CPU heterogeneous clusters in cloud edge environment
CN112532751A (en) * 2021-02-09 2021-03-19 中关村科学城城市大脑股份有限公司 Method and system for scheduling distributed heterogeneous computing power of urban brain AI computing center
CN112532751B (en) * 2021-02-09 2021-05-07 中关村科学城城市大脑股份有限公司 Method and system for scheduling distributed heterogeneous computing power of urban brain AI computing center
CN113157440B (en) * 2021-03-23 2023-06-27 北京云上曲率科技有限公司 Self-adaptive load balancing and high availability ensuring method applied to mobile terminal
CN113157440A (en) * 2021-03-23 2021-07-23 北京云上曲率科技有限公司 Self-adaptive load balancing and high availability guaranteeing method applied to mobile terminal
CN113783922A (en) * 2021-03-26 2021-12-10 北京沃东天骏信息技术有限公司 Load balancing method, system and device
CN113032102A (en) * 2021-04-07 2021-06-25 广州虎牙科技有限公司 Resource rescheduling method, device, equipment and medium
CN113032102B (en) * 2021-04-07 2024-04-19 广州虎牙科技有限公司 Resource rescheduling method, device, equipment and medium
CN113010270A (en) * 2021-04-08 2021-06-22 桂林电子科技大学 Kubernetes platform-based dynamic resource load balancing scheduling method and system
CN113065785A (en) * 2021-04-13 2021-07-02 国网江苏省电力有限公司信息通信分公司 Dynamic resource expansion method for electric power internet of things management platform
WO2022225669A1 (en) * 2021-04-19 2022-10-27 Microsoft Technology Licensing, Llc Dynamic relocation of pods to optimize inter-pod networking
US11768713B2 (en) 2021-04-19 2023-09-26 Microsoft Technology Licensing, Llc Dynamic relocation of pods to optimize inter-pod networking
CN112988394A (en) * 2021-04-20 2021-06-18 北京世纪好未来教育科技有限公司 Business service publishing method, device, medium and equipment based on cloud native container
CN113391891A (en) * 2021-05-20 2021-09-14 国网江苏省电力有限公司信息通信分公司 Load balancing resource scheduling method based on Rete and character string pattern matching algorithm
CN113391891B (en) * 2021-05-20 2024-03-12 国网江苏省电力有限公司信息通信分公司 Load balancing resource scheduling method based on Rete and character string pattern matching algorithm
CN113553171A (en) * 2021-06-07 2021-10-26 用友汽车信息科技(上海)股份有限公司 Load balancing control method, device and computer readable storage medium
US11928503B2 (en) 2021-06-22 2024-03-12 International Business Machines Corporation Cognitive scheduler for Kubernetes
CN113672391A (en) * 2021-08-23 2021-11-19 烽火通信科技股份有限公司 Parallel computing task scheduling method and system based on Kubernetes
CN113672391B (en) * 2021-08-23 2023-11-28 烽火通信科技股份有限公司 Parallel computing task scheduling method and system based on Kubernetes
CN113946438B (en) * 2021-09-03 2024-04-30 西安电子科技大学 Online migration scheduling method, device, equipment and system based on container integration
CN113946438A (en) * 2021-09-03 2022-01-18 西安电子科技大学 Online migration scheduling method, device, equipment and system based on container integration
CN114579305A (en) * 2022-02-28 2022-06-03 北京百度网讯科技有限公司 Resource control method, device, equipment and medium for function calculation
CN114579305B (en) * 2022-02-28 2023-09-15 北京百度网讯科技有限公司 Resource control method, device, equipment and medium for function calculation
CN114911615B (en) * 2022-05-06 2023-05-30 安超云软件有限公司 Intelligent prediction scheduling method and application during micro-service running
CN114911615A (en) * 2022-05-06 2022-08-16 江苏安超云软件有限公司 Method and application for intelligent prediction scheduling during micro-service operation
CN115168057A (en) * 2022-09-02 2022-10-11 浙江大华技术股份有限公司 Resource scheduling method and device based on k8s cluster
CN115952008B (en) * 2023-03-15 2023-06-16 之江实验室 Unified scheduling method and device for server cluster resources
CN115952008A (en) * 2023-03-15 2023-04-11 之江实验室 Unified scheduling method and device for server cluster resources
CN116483547A (en) * 2023-06-21 2023-07-25 之江实验室 Resource scheduling method, device, computer equipment and storage medium
CN117714452A (en) * 2023-12-14 2024-03-15 摩尔线程智能科技(北京)有限责任公司 Traffic load balancing method, system and device
CN117729204A (en) * 2024-02-06 2024-03-19 山东大学 K8S container scheduling method and system based on monitoring perception
CN117729204B (en) * 2024-02-06 2024-05-10 山东大学 K8S container scheduling method and system based on monitoring perception

Similar Documents

Publication Publication Date Title
CN110780998A (en) Kubernetes-based dynamic load balancing resource scheduling method
US10713080B1 (en) Request-based virtual machine memory transitioning in an on-demand network code execution system
US9442760B2 (en) Job scheduling using expected server performance information
US10089144B1 (en) Scheduling computing jobs over forecasted demands for computing resources
CN105740074B (en) A kind of virtual machine load-balancing method based on cloud computing
CN100571281C (en) Great magnitude of data hierarchical storage method
CN100451976C (en) Migration management based on massive data classified memory system
US9331943B2 (en) Asynchronous scheduling informed by job characteristics and anticipatory provisioning of data for real-time, parallel processing
US8959515B2 (en) Task scheduling policy for limited memory systems
JP5544967B2 (en) Virtual machine management program and virtual machine management apparatus
US20200348863A1 (en) Snapshot reservations in a distributed storage system
US8739169B2 (en) Method for monitoring operating experiences of images to improve workload optimization in cloud computing environments
CN108255582B (en) Method, system, equipment and storage medium for garbage recovery of java virtual machine
CN102929701B (en) Scheduling method and device for batched virtual machines
US8521693B2 (en) Storage system and its operation method
WO2020119649A1 (en) Task scheduling simulation system
US10817380B2 (en) Implementing affinity and anti-affinity constraints in a bundled application
US20140282540A1 (en) Performant host selection for virtualization centers
US11061729B2 (en) Throttling logging processes
CN110427258B (en) Resource scheduling control method and device based on cloud platform
CN110764915A (en) Optimization method for kubernetes main node selection
CN107220125A (en) A kind of cloud resource dispatching method and device
US11188387B2 (en) Administrative resource management QoS for storage appliances
Yang et al. Elastic executor provisioning for iterative workloads on apache spark
CN107273527A (en) A kind of Hadoop clusters and distributed system

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