CN112527454A - Container group scheduling method and device, electronic equipment and computer readable medium - Google Patents

Container group scheduling method and device, electronic equipment and computer readable medium Download PDF

Info

Publication number
CN112527454A
CN112527454A CN202011403462.XA CN202011403462A CN112527454A CN 112527454 A CN112527454 A CN 112527454A CN 202011403462 A CN202011403462 A CN 202011403462A CN 112527454 A CN112527454 A CN 112527454A
Authority
CN
China
Prior art keywords
load
node
working
information
working node
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
CN202011403462.XA
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.)
Shanghai Lianshang Network Technology Co Ltd
Original Assignee
Shanghai Lianshang Network 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 Shanghai Lianshang Network Technology Co Ltd filed Critical Shanghai Lianshang Network Technology Co Ltd
Priority to CN202011403462.XA priority Critical patent/CN112527454A/en
Publication of CN112527454A publication Critical patent/CN112527454A/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/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
    • 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
    • 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/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
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The embodiment of the disclosure discloses a container group scheduling method, a container group scheduling device, electronic equipment and a computer readable medium. One embodiment of the method comprises: acquiring resource occupation information of a working node, wherein the working node is a node in a node cluster for running containerized application; determining load grading information of the working nodes according to the resource occupation information; and changing the load label value of the working node based on the load grading information, wherein the load label value is used for the scheduling of the container group. The implementation method realizes dynamic adjustment of the load label value of the working node, and provides a reference basis for dynamic scheduling of the container group.

Description

Container group scheduling method and device, electronic equipment and computer readable medium
Technical Field
The embodiment of the disclosure relates to the technical field of computers, in particular to a container group scheduling method, a container group scheduling device, electronic equipment and a computer readable medium.
Background
Container group scheduling is a technique for deploying a container group to a worker node in a node cluster. At present, when a container group is scheduled, the following methods are generally adopted: and scheduling the container group according to a predetermined static scheduling strategy.
However, when the container group is scheduled in the above manner, there are often technical problems as follows:
firstly, the resource utilization rate of the working node is less considered, and the load label value of the working node is difficult to dynamically adjust according to the resource utilization rate;
secondly, it is difficult to dynamically schedule the container group according to the load tag values of the working nodes, which results in that the load pressure of part of the working nodes is large, the load pressure between the working nodes cannot be balanced, and it is difficult to improve the resource utilization rate of the working nodes with small load pressure.
Disclosure of Invention
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the detailed description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Some embodiments of the present disclosure propose a container group scheduling method, apparatus, electronic device and computer readable medium to solve one or more of the technical problems mentioned in the background section above.
In a first aspect, some embodiments of the present disclosure provide a method of container group scheduling, the method comprising: acquiring resource occupation information of a working node, wherein the working node is a node in a node cluster for running containerized application; determining load grading information of the working nodes according to the resource occupation information; and changing the load label value of the working node based on the load grading information, wherein the load label value is used for the scheduling of the container group.
In a second aspect, some embodiments of the present disclosure provide a container group scheduling apparatus, the apparatus including: an obtaining unit configured to obtain resource occupation information of a work node, wherein the work node is a node in a node cluster for running a containerized application; a determining unit configured to determine load score information of the working node according to the resource occupation information; and a changing unit configured to change a load tag value of the working node based on the load score information, wherein the load tag value is used for scheduling the container group.
In a third aspect, some embodiments of the present disclosure provide an electronic device, comprising: one or more processors; a storage device having one or more programs stored thereon, which when executed by one or more processors, cause the one or more processors to implement the method described in any of the implementations of the first aspect.
In a fourth aspect, some embodiments of the present disclosure provide a computer readable medium on which a computer program is stored, wherein the program, when executed by a processor, implements the method described in any of the implementations of the first aspect.
The above embodiments of the present disclosure have the following advantages: by the container group scheduling method of some embodiments of the present disclosure, the load tag value of a work node can be dynamically adjusted. Specifically, the reason why it is difficult to dynamically adjust the load tag value of the working node is that: the existing container group scheduling method adopts a static scheduling strategy to schedule the container group, and the resource utilization rate of a working node is rarely considered. Based on this, in the container group scheduling method according to some embodiments of the present disclosure, first, resource occupation information of a work node is obtained. The resource occupation information is used for representing the use condition of resources such as a disk, a central processing unit or a memory of the working node. Therefore, the resource utilization rate of the working node is evaluated according to the resource occupation information, and the load grading information of the working node is determined. And finally, changing the load label value of the working node according to the load grading information for use in scheduling of the container group. The load label value of the working node is dynamically adjusted, and a reference basis is provided for dynamic scheduling of the container group.
Drawings
The above and other features, advantages and aspects of various embodiments of the present disclosure will become more apparent by referring to the following detailed description when taken in conjunction with the accompanying drawings. Throughout the drawings, the same or similar reference numbers refer to the same or similar elements. It should be understood that the drawings are schematic and that elements and elements are not necessarily drawn to scale.
Fig. 1 is a schematic diagram of an application scenario of a container group scheduling method according to some embodiments of the present disclosure;
fig. 2 is a flow diagram of some embodiments of a container group scheduling method according to the present disclosure;
FIG. 3 is a flow diagram of further embodiments of a container group scheduling method according to the present disclosure;
FIG. 4 is a schematic block diagram of some embodiments of a container group scheduling apparatus according to the present disclosure;
FIG. 5 is a schematic structural diagram of an electronic device suitable for use in implementing some embodiments of the present disclosure.
Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain embodiments of the present disclosure are shown in the drawings, it is to be understood that the disclosure may be embodied in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided for a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the disclosure are for illustration purposes only and are not intended to limit the scope of the disclosure.
It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings. The embodiments and features of the embodiments in the present disclosure may be combined with each other without conflict.
It should be noted that the terms "first", "second", and the like in the present disclosure are only used for distinguishing different devices, modules or units, and are not used for limiting the order or interdependence relationship of the functions performed by the devices, modules or units.
It is noted that references to "a", "an", and "the" modifications in this disclosure are intended to be illustrative rather than limiting, and that those skilled in the art will recognize that "one or more" may be used unless the context clearly dictates otherwise.
The names of messages or information exchanged between devices in the embodiments of the present disclosure are for illustrative purposes only, and are not intended to limit the scope of the messages or information.
The present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
Fig. 1 is a schematic diagram of an application scenario of a container group scheduling method of some embodiments of the present disclosure.
In the application scenario of fig. 1, first, the computing device 101 may obtain resource occupancy information 103 of the work node 102. The work node 102 is a node in a node cluster for running a containerized application. Next, the computing device 101 may determine load score information 104 of the working node 102 according to the resource occupation information 103. Finally, the computing device 101 may modify the load tag values 105 of the worker nodes based on the load scoring information 104. The load tag value 105 is used for scheduling the container group.
The computing device 101 may be hardware or software. When the computing device is hardware, it may be implemented as a distributed cluster composed of multiple servers or terminal devices, or may be implemented as a single server or a single terminal device. When the computing device is embodied as software, it may be installed in the hardware devices enumerated above. It may be implemented, for example, as multiple software or software modules to provide distributed services, or as a single software or software module. And is not particularly limited herein.
It should be understood that the number of computing devices in FIG. 1 is merely illustrative. There may be any number of computing devices, as implementation needs dictate.
With continued reference to fig. 2, a flow 200 of some embodiments of a container group scheduling method according to the present disclosure is shown. The container group scheduling method comprises the following steps:
step 201, acquiring resource occupation information of the working node.
In some embodiments, an execution subject of the container group scheduling method (e.g., the computing device 101 shown in fig. 1) may obtain the resource occupation information from the above-mentioned work node through a wired connection manner or a wireless connection manner. Wherein the working node is a node in a node cluster for running the containerized application. The node cluster may be a kubernets cluster. The node cluster may include a master node and at least one worker node. The master node is a control node in the node cluster, and is configured to control and manage the node cluster. The above-mentioned work node is a node for running the container group. The master node and the working node may be physical machines or virtual machines. The resource occupation information may include: disk occupancy.
In some optional implementation manners of some embodiments, the execution main body may further obtain resource occupation information of the working node according to a preset time interval.
As an example, the preset time interval may be 30 minutes. The resource occupation information of the working node may be acquired every 30 minutes. The disk occupancy included in the obtained resource occupancy information may be 75%.
In the implementation manner, the time for acquiring the resource occupation information of the working node is increased. The method and the device can avoid the consumption of the memory resource, the network resource and the like caused by frequently acquiring the resource occupation information of the working node, and have higher matching degree with the actual application scene and stronger applicability.
Step 202, determining load grading information of the working nodes according to the resource occupation information.
In some embodiments, the determining, by the executing entity, load score information of the working node according to the resource occupation information may include:
in the first step, in response to determining that the disk occupancy rate included in the resource occupancy information is less than or equal to a preset disk occupancy rate, first preset load scoring information is used as the load scoring information. The preset disk occupancy rate can be used for distinguishing nodes with high disk occupancy rates from nodes with low disk occupancy rates. The first preset load score information may be information for representing that the load of the work node is high.
As an example, the above-mentioned preset disk occupancy may be 70%. The first preset load score information may be "1".
And step two, in response to the fact that the magnetic disk occupancy rate included in the resource occupancy information is larger than the preset magnetic disk occupancy rate, second preset load grading information is used as the load grading information. The second preset load score information may be information for representing that the load of the work node is low.
As an example, the second preset load score information may be "0".
In some optional implementations of some embodiments, the resource occupancy information may include, but is not limited to, at least one of: central processor occupancy, memory occupancy, total number of container groups. Wherein the total number of container groups may refer to a total number of container groups deployed on the working node. The determining, by the execution main body, load scoring information of the working node according to the resource occupation information may include:
the first step, mapping the occupancy rate of the central processing unit to obtain the occupancy rate scoring information of the central processing unit.
As an example, the value range [ 0%, 100% ] of the central processor occupancy may be evenly divided into 10 continuous interval ranges, each interval range corresponding to one central processor occupancy score value. The cpu occupancy score corresponding to the value range [ 0%, 10% ] may be 10. The central processor occupancy score corresponding to the value range [ 10%, 20% ] may be 9. The central processor occupancy score corresponding to the value range [ 20%, 30% ] may be 8. By analogy, the occupancy rate score of the central processing unit corresponding to the value range of [ 90%, 100% ] may be 1. The central processor occupancy rating value may be determined as the central processor occupancy rating information described above. The above-described central processor occupancy may be 65%. 65% is in the value range of [ 60%, 70% ]. The above central processor occupancy rate score information may be 4.
And secondly, mapping the memory occupancy rate to obtain the memory occupancy rate scoring information.
As an example, the value range [ 0%, 100% ] of the memory occupancy rate can be evenly divided into 10 continuous interval ranges, and each interval range corresponds to one memory occupancy rate score value. The memory occupancy rate score corresponding to the value range [ 0%, 10% ] may be 10. The memory occupancy rate score corresponding to the value range [ 10%, 20% ] may be 9. The memory occupancy rate score corresponding to the value range [ 20%, 30% ] may be 8. By analogy, the memory occupancy rate score corresponding to the numeric area [ 90%, 100% ] may be 1. The memory occupancy rate score value may be determined as the memory occupancy rate score information. The memory occupancy may be 51%. 51% is within the value range [ 50%, 60% ]. The above-mentioned memory occupancy rate scoring information may be 5.
And thirdly, determining the load grading information of the working node based on the occupancy rate grading information of the central processing unit, the occupancy rate grading information of the memory and the total number of the container groups.
As an example, a product value of the cpu occupancy rating value, the memory occupancy rating value, and the total number of the container groups may be determined as the load rating information of the work node.
And step 203, changing the load label value of the working node based on the load scoring information.
In some embodiments, the load tag value may be used for scheduling of the container group. The set of containers may be Pod in a kubernets cluster. The worker node may have multiple tags in the format "tag name/tag value". The label may be used to indicate a characteristic of the working node in some respect. For example, the label "hard disk type \ solid state disk" may indicate that the hard disk type of the above working node is a solid state disk. The label "hard disk type \ mechanical hard disk" may indicate that the hard disk type of the working node is a mechanical hard disk. The label may be directly assigned to the worker node at the same time as the worker node is created. The label may also be assigned to the worker node after the worker node is created. The label corresponding to the load label value may be "load \ high" or "load \ low". The tag value may be set to "low" at the time of the corresponding tag creation of the load tag value described above.
The executing body may change the load label value of the working node based on the load scoring information, and may include the following steps: and changing the load label value of the working node into a load label value corresponding to the load scoring information.
As an example, when the above-mentioned load score information is "1", the corresponding load tag value may be "high". When the above load score information is "0", the corresponding load label value may be "low".
In some optional implementations of some embodiments, the executing entity may change the load tag value of the working node to a first preset tag value in response to determining that the load scoring information satisfies a first preset condition. The first preset condition may be that a value represented by the load score information is greater than a preset load score value. The first preset tag value may be "high". The predetermined load score value may be manually set in advance. Or may be an average value of values represented by the load score information of the respective working nodes. The preset load score value can be used for distinguishing a high-load working node from a low-load working node. The work node represented by the load score information having a value greater than the preset load score value may be determined as a high-load work node. The work node whose value represented by the load score information is less than or equal to the preset load score value may be determined as a low-load work node.
In some embodiments, in another optional implementation manner, the executing entity may change the load tag value of the working node to a first preset tag value in response to determining that the load scoring information satisfies a first preset condition and that the load tag value of the working node is a second preset tag value.
In the above implementation, the timing of changing the load tag value of the above working node is increased. The load tag value of the working node can be changed only when the load tag value needs to be changed, so that the consumption of memory resources, network resources and the like caused by frequent change of the load tag value of the working node is avoided. The matching degree with the actual application scene is higher, and the applicability is stronger.
In some optional implementation manners of some embodiments, the executing entity may change the load tag value of the working node to a second preset tag value in response to determining that the load scoring information satisfies a second preset condition. The second preset condition may be that a value represented by the load score information is less than or equal to a preset load score value. The first preset tag value may be "low".
In some embodiments, in another optional implementation manner, the executing entity may change the load tag value of the working node to a second preset tag value in response to determining that the load scoring information satisfies a second preset condition and that the load tag value of the working node is the first preset tag value.
In the above implementation, the timing of changing the load tag value of the above working node is increased. The load tag value of the working node can be changed only when the load tag value needs to be changed, so that the consumption of memory resources, network resources and the like caused by frequent change of the load tag value of the working node is avoided. The matching degree with the actual application scene is higher, and the applicability is stronger.
The above embodiments of the present disclosure have the following advantages: by the container group scheduling method of some embodiments of the present disclosure, the load tag value of a work node can be dynamically adjusted. Specifically, the reason why it is difficult to dynamically adjust the load tag value of the working node is that: the existing container group scheduling method adopts a static scheduling strategy to schedule the container group, and the resource utilization rate of a working node is rarely considered. Based on this, in the container group scheduling method according to some embodiments of the present disclosure, first, resource occupation information of a work node is obtained. The resource occupation information is used for representing the use condition of resources such as a disk, a central processing unit or a memory of the working node. Therefore, the resource utilization rate of the working node is evaluated according to the resource occupation information, and the load grading information of the working node is determined. And finally, changing the load label value of the working node according to the load grading information for use in scheduling of the container group. The load label value of the working node is dynamically adjusted, and a reference basis is provided for dynamic scheduling of the container group.
With further reference to fig. 3, a flow 300 of further embodiments of a container group scheduling method is illustrated. The process 300 of the container group scheduling method includes the following steps:
step 301, acquiring resource occupation information of the working node.
And step 302, determining load grading information of the working nodes according to the resource occupation information.
And 303, changing the load label value of the working node based on the load scoring information.
In some embodiments, the specific implementation of steps 301 and 303 and the technical effect thereof can refer to steps 201 and 203 in the embodiment corresponding to fig. 2, which are not described herein again.
Step 304, in response to determining to create the container group, determining a target working node according to the load label values of the working nodes in the node cluster.
In some embodiments, the executing agent may determine the target work node in a plurality of ways according to the load tag values of the work nodes in the node cluster in response to determining to create the container group.
In some optional implementation manners of some embodiments, the executing body may select one working node from the node cluster as the target working node in response to determining that the number of working nodes whose load tag values are the second preset tag values in the node cluster satisfies a third preset condition. The third preset condition may be that the number of working nodes whose load label values are the second preset label values is the same as the number of all working nodes in the node cluster. A working node may be randomly selected from the node cluster as the target working node. When the third preset condition is met, it may indicate that all the working nodes in the node cluster are high-load working nodes.
In some optional implementation manners of some embodiments, the executing master may further select, in response to determining that the number of working nodes whose load tag values are the second preset tag values in the node cluster satisfies a fourth preset condition, one working node from the working nodes whose load tag values are the second preset tag values in the node cluster as a target working node. The fourth preset condition may be that the third preset condition may be that the number of working nodes whose load label values are the second preset label values is less than the number of all nodes in the node cluster. One working node can be randomly selected from the working nodes with the load tag value being the second preset tag value as a target working node. Or selecting the working node with the smallest value represented by the load score information from the working nodes with the load label value as the second preset label value as the target working node. If a plurality of working nodes with the minimum values represented by the load rating information exist, one working node can be randomly selected from the working nodes with the minimum values represented by the load rating information to serve as a target working node.
The step 304 is an invention point of the embodiment of the present disclosure, and solves a second technical problem mentioned in the background art that "it is difficult to dynamically schedule a container group according to a load tag value of a working node, which results in that load pressure of part of the working nodes is large, load pressure between the working nodes cannot be balanced, and it is difficult to improve resource utilization rate of the working node with small load pressure". Factors that make it difficult to improve the resource utilization of the working node with low load pressure are often as follows: the existing container group scheduling method usually schedules the container group through a predetermined static scheduling strategy, but the static scheduling strategy is not flexible enough and is difficult to dynamically schedule the container group according to the load pressure of the working nodes. If the factors are solved, the resource utilization rate of the working node with lower load pressure can be improved. In order to achieve the effect, the present disclosure selects a working node with a lower load pressure from the node cluster as a target node according to the load label value of each node in the node cluster, so as to schedule the created container group to the target node. Therefore, the resource utilization rate of the working nodes with lower load pressure is improved, and the load pressure among the working nodes is balanced.
Step 305, the created container group is dispatched to the target work node.
In some embodiments, the executing entity may schedule the created container group to the target work node through a wired connection manner or a wireless connection manner.
As can be seen from fig. 3, compared with the description of some embodiments corresponding to fig. 2, the flow 300 of the container group scheduling method in some embodiments corresponding to fig. 3 embodies an extended step of dynamically scheduling the container group according to the load tag value. Therefore, the solutions described in the embodiments can dynamically schedule the container group according to different load tag values, so that the created container group is scheduled to the working node with a lower load, thereby improving the utilization rate of the working node with a lower load and relieving the pressure of the working node with a higher load.
With further reference to fig. 4, as an implementation of the above method for the above figures, the present disclosure provides some embodiments of a container group scheduling apparatus, which correspond to those of the method embodiments described above in fig. 2, and which may be applied to various electronic devices.
As shown in fig. 4, the container group scheduling apparatus 400 of some embodiments includes: an acquisition unit 401, a determination unit 402 and a modification unit 403. The obtaining unit 401 is configured to obtain resource occupation information of a work node, where the work node is a node in a node cluster for running a containerized application. A determining unit 402, configured to determine load score information of the working node according to the resource occupation information. A changing unit 403, configured to change a load tag value of the working node based on the load scoring information, where the load tag value is used for scheduling a container group.
In an optional implementation manner of some embodiments, the container group scheduling apparatus 400 may further include: the system comprises a target work node determining unit and a scheduling unit. Wherein the target working node determining unit may be configured to determine the target working node according to the load tag values of the respective working nodes in the node cluster in response to determining to create the container group. The scheduling unit may be configured to schedule the created group of containers to the target work node.
In an optional implementation manner of some embodiments, the resource occupation information may include at least one of: central processor occupancy, memory occupancy, total number of container groups. And, the determining unit 402 may be further configured to: mapping the occupancy rate of the central processing unit to obtain the occupancy rate rating information of the central processing unit; mapping the memory occupancy rate to obtain memory occupancy rate scoring information; and determining the load grading information of the working node based on the occupancy rate grading information of the central processing unit, the memory occupancy rate grading information and the total number of the container groups.
In an optional implementation manner of some embodiments, the above changing unit 403 may be further configured to: and changing the load label value of the working node into a first preset label value in response to the fact that the load scoring information meets a first preset condition.
In an optional implementation manner of some embodiments, the changing unit 403 may be further configured to: and changing the load label value of the working node into a second preset label value in response to the fact that the load grading information meets a second preset condition.
In an optional implementation manner of some embodiments, the target working node determining unit may be further configured to: and selecting one working node from the node cluster as the target working node in response to the fact that the number of the working nodes with the load label values being the second preset label values in the node cluster meets a third preset condition.
In an optional implementation manner of some embodiments, the target working node determining unit may be further configured to: and selecting one working node from the working nodes with the load label values as the second preset label values in the node cluster as a target working node in response to the fact that the number of the working nodes with the load label values as the second preset label values in the node cluster meets a fourth preset condition.
In an optional implementation manner of some embodiments, the obtaining unit 401 may be further configured to: and acquiring the resource occupation information of the working nodes according to a preset time interval.
It will be understood that the elements described in the apparatus 400 correspond to various steps in the method described with reference to fig. 2. Thus, the operations, features and resulting advantages described above with respect to the method are also applicable to the apparatus 400 and the units included therein, and will not be described herein again.
Referring now to FIG. 5, a block diagram of an electronic device (e.g., computing device 101 of FIG. 1)500 suitable for use in implementing some embodiments of the present disclosure is shown. The electronic device shown in fig. 5 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present disclosure.
As shown in fig. 5, electronic device 500 may include a processing means (e.g., central processing unit, graphics processor, etc.) 501 that may perform various appropriate actions and processes in accordance with a program stored in a Read Only Memory (ROM)502 or a program loaded from a storage means 508 into a Random Access Memory (RAM) 503. In the RAM503, various programs and data necessary for the operation of the electronic apparatus 500 are also stored. The processing device 501, the ROM 502, and the RAM503 are connected to each other through a bus 504. An input/output (I/O) interface 505 is also connected to bus 504.
Generally, the following devices may be connected to the I/O interface 505: input devices 506 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 507 including, for example, a Liquid Crystal Display (LCD), speakers, vibrators, and the like; storage devices 508 including, for example, magnetic tape, hard disk, etc.; and a communication device 509. The communication means 509 may allow the electronic device 500 to communicate with other devices wirelessly or by wire to exchange data. While fig. 5 illustrates an electronic device 500 having various means, it is to be understood that not all illustrated means are required to be implemented or provided. More or fewer devices may alternatively be implemented or provided. Each block shown in fig. 5 may represent one device or may represent multiple devices as desired.
In particular, according to some embodiments of the present disclosure, the processes described above with reference to the flow diagrams may be implemented as computer software programs. For example, some embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In some such embodiments, the computer program may be downloaded and installed from a network via the communication means 509, or installed from the storage means 508, or installed from the ROM 502. The computer program, when executed by the processing device 501, performs the above-described functions defined in the methods of some embodiments of the present disclosure.
It should be noted that the computer readable medium described above in some embodiments of the present disclosure may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In some embodiments of the disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In some embodiments of the present disclosure, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, optical cables, RF (radio frequency), etc., or any suitable combination of the foregoing.
In some embodiments, the clients, servers may communicate using any currently known or future developed network Protocol, such as HTTP (HyperText Transfer Protocol), and may interconnect with any form or medium of digital data communication (e.g., a communications network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the Internet (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed network.
The computer readable medium may be embodied in the apparatus; or may exist separately without being assembled into the electronic device. The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: acquiring resource occupation information of a working node, wherein the working node is a node in a node cluster for running containerized application; determining load grading information of the working nodes according to the resource occupation information; and changing the load label value of the working node based on the load grading information, wherein the load label value is used for the scheduling of the container group.
Computer program code for carrying out operations for embodiments of the present disclosure may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in some embodiments of the present disclosure may be implemented by software, and may also be implemented by hardware. The described units may also be provided in a processor, and may be described as: a processor includes an acquisition unit, a determination unit, and a modification unit. The names of these units do not in some cases form a limitation on the unit itself, and for example, the acquiring unit may also be described as a "unit that acquires resource occupation information of a work node".
The functions described herein above may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), systems on a chip (SOCs), Complex Programmable Logic Devices (CPLDs), and the like.
The foregoing description is only exemplary of the preferred embodiments of the disclosure and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention in the embodiments of the present disclosure is not limited to the specific combination of the above-mentioned features, but also encompasses other embodiments in which any combination of the above-mentioned features or their equivalents is made without departing from the inventive concept as defined above. For example, the above features and (but not limited to) technical features with similar functions disclosed in the embodiments of the present disclosure are mutually replaced to form the technical solution.

Claims (13)

1. A method of container group scheduling, comprising:
acquiring resource occupation information of a working node, wherein the working node is a node in a node cluster for running containerized application;
determining load grading information of the working nodes according to the resource occupation information;
and changing the load label value of the working node based on the load scoring information, wherein the load label value is used for the scheduling of the container group.
2. The method of claim 1, wherein the method further comprises:
in response to determining to create a container group, determining a target working node according to the load tag values of the working nodes in the node cluster;
scheduling the created container group to the target worker node.
3. The method of claim 1, wherein the resource occupancy information comprises at least one of: central processor occupancy rate, memory occupancy rate and total number of container groups; and
the determining the load scoring information of the working node according to the resource occupation information includes:
mapping the occupancy rate of the central processing unit to obtain the occupancy rate scoring information of the central processing unit;
mapping the memory occupancy rate to obtain memory occupancy rate scoring information;
and determining the load grading information of the working node based on the occupancy rate grading information of the central processing unit, the occupancy rate grading information of the memory and the total number of the container groups.
4. The method of claim 1, wherein said altering the load tag value of the working node based on the load scoring information comprises:
and in response to determining that the load scoring information meets a first preset condition, changing the load label value of the working node to a first preset label value.
5. The method of claim 4, wherein said altering a load tag value of said working node based on said load scoring information further comprises:
and in response to determining that the load scoring information meets a second preset condition, changing the load label value of the working node to a second preset label value.
6. The method of claim 2, wherein the determining a target worker node from the load tag values of the worker nodes in the node cluster comprises:
and selecting one working node from the node cluster as the target working node in response to the fact that the number of the working nodes with the load label values being the second preset label values in the node cluster meets a third preset condition.
7. The method of claim 6, wherein the determining a target worker node from the load tag values of the worker nodes in the node cluster further comprises:
and selecting one working node as a target working node from the working nodes with the load label values as the second preset label values in the node cluster in response to the fact that the number of the working nodes with the load label values as the second preset label values in the node cluster meets a fourth preset condition.
8. The method of claim 1, wherein the obtaining resource occupation information of a working node comprises:
and acquiring the resource occupation information of the working nodes according to a preset time interval.
9. The method of claim 4, wherein the modifying the load tag value of the worker node to a first preset tag value in response to determining that the load score information satisfies a first preset condition comprises:
and in response to the fact that the load grading information meets a first preset condition and the load label value of the working node is a second preset label value, changing the load label value of the working node to be a first preset label value.
10. The method of claim 5, wherein the changing the load tag value of the working node to a second preset tag value in response to determining that the load score information satisfies a second preset condition comprises:
and in response to the fact that the load grading information meets a second preset condition and the load label value of the working node is the first preset label value, changing the load label value of the working node to a second preset label value.
11. A container group scheduling apparatus comprising:
an obtaining unit configured to obtain resource occupation information of a work node, wherein the work node is a node in a node cluster for running a containerized application;
a determining unit configured to determine load scoring information of the working node according to the resource occupation information;
and the changing unit is configured to change the load label value of the working node based on the load scoring information, wherein the load label value is used for the scheduling of the container group.
12. An electronic device, comprising:
one or more processors;
a storage device having one or more programs stored thereon;
when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-10.
13. A computer-readable medium, on which a computer program is stored, wherein the program, when executed by a processor, implements the method of any one of claims 1-10.
CN202011403462.XA 2020-12-04 2020-12-04 Container group scheduling method and device, electronic equipment and computer readable medium Pending CN112527454A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011403462.XA CN112527454A (en) 2020-12-04 2020-12-04 Container group scheduling method and device, electronic equipment and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011403462.XA CN112527454A (en) 2020-12-04 2020-12-04 Container group scheduling method and device, electronic equipment and computer readable medium

Publications (1)

Publication Number Publication Date
CN112527454A true CN112527454A (en) 2021-03-19

Family

ID=74997005

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011403462.XA Pending CN112527454A (en) 2020-12-04 2020-12-04 Container group scheduling method and device, electronic equipment and computer readable medium

Country Status (1)

Country Link
CN (1) CN112527454A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116244085A (en) * 2023-05-05 2023-06-09 江苏博云科技股份有限公司 Kubernetes cluster container group scheduling method, device and medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708622A (en) * 2016-07-18 2017-05-24 腾讯科技(深圳)有限公司 Cluster resource processing method and system, and resource processing cluster
CN109960585A (en) * 2019-02-02 2019-07-02 浙江工业大学 A kind of resource regulating method based on kubernetes
CN110262897A (en) * 2019-06-13 2019-09-20 东北大学 A kind of Hadoop calculating task primary distribution method based on load estimation
CN110780998A (en) * 2019-09-29 2020-02-11 武汉大学 Kubernetes-based dynamic load balancing resource scheduling method
CN111694633A (en) * 2020-04-14 2020-09-22 新华三大数据技术有限公司 Cluster node load balancing method and device and computer storage medium
CN111737003A (en) * 2020-06-24 2020-10-02 重庆紫光华山智安科技有限公司 Pod balanced scheduling method and device, main node and storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708622A (en) * 2016-07-18 2017-05-24 腾讯科技(深圳)有限公司 Cluster resource processing method and system, and resource processing cluster
CN109960585A (en) * 2019-02-02 2019-07-02 浙江工业大学 A kind of resource regulating method based on kubernetes
CN110262897A (en) * 2019-06-13 2019-09-20 东北大学 A kind of Hadoop calculating task primary distribution method based on load estimation
CN110780998A (en) * 2019-09-29 2020-02-11 武汉大学 Kubernetes-based dynamic load balancing resource scheduling method
CN111694633A (en) * 2020-04-14 2020-09-22 新华三大数据技术有限公司 Cluster node load balancing method and device and computer storage medium
CN111737003A (en) * 2020-06-24 2020-10-02 重庆紫光华山智安科技有限公司 Pod balanced scheduling method and device, main node and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116244085A (en) * 2023-05-05 2023-06-09 江苏博云科技股份有限公司 Kubernetes cluster container group scheduling method, device and medium

Similar Documents

Publication Publication Date Title
CN112363813A (en) Resource scheduling method and device, electronic equipment and computer readable medium
CN109408205B (en) Task scheduling method and device based on hadoop cluster
CN111580974B (en) GPU instance allocation method, device, electronic equipment and computer readable medium
CN113722056A (en) Task scheduling method and device, electronic equipment and computer readable medium
CN113722055A (en) Data processing method and device, electronic equipment and computer readable medium
CN115357350A (en) Task configuration method and device, electronic equipment and computer readable medium
CN113791891A (en) Continuous integration task construction method, device, equipment and computer readable medium
CN112182374B (en) Inventory control method, apparatus, electronic device, and computer-readable medium
CN112527454A (en) Container group scheduling method and device, electronic equipment and computer readable medium
CN113792869B (en) Video processing method and device based on neural network chip and electronic equipment
CN111694670B (en) Resource allocation method, apparatus, device and computer readable medium
CN114265692A (en) Service scheduling method, device, equipment and storage medium
CN112163176A (en) Data storage method and device, electronic equipment and computer readable medium
CN112685156A (en) Task execution method and device, electronic equipment and computer readable medium
CN112346891A (en) Message storage method, device, equipment and computer readable medium
CN113778850A (en) Data processing method and device, electronic equipment and computer readable medium
CN114095907A (en) Bluetooth connection control method, device and equipment
CN112181605A (en) Load balancing method and device, electronic equipment and computer readable medium
CN111898061A (en) Method, device, electronic equipment and computer readable medium for searching network
CN112561301A (en) Work order distribution method, device, equipment and computer readable medium
CN111694672A (en) Resource allocation method, task submission method, device, electronic equipment and medium
CN113472565B (en) Method, apparatus, device and computer readable medium for expanding server function
CN111698132B (en) Method, apparatus, device and medium for controlling heartbeat events in a cluster
CN112148448B (en) Resource allocation method, apparatus, device and computer readable medium
CN116319322B (en) Power equipment node communication connection method, device, equipment and computer medium

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