CN116737344B - Multi-container cluster scheduling method and scheduling service system - Google Patents

Multi-container cluster scheduling method and scheduling service system Download PDF

Info

Publication number
CN116737344B
CN116737344B CN202311000546.2A CN202311000546A CN116737344B CN 116737344 B CN116737344 B CN 116737344B CN 202311000546 A CN202311000546 A CN 202311000546A CN 116737344 B CN116737344 B CN 116737344B
Authority
CN
China
Prior art keywords
deployed
scheduling
cluster
service module
clusters
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.)
Active
Application number
CN202311000546.2A
Other languages
Chinese (zh)
Other versions
CN116737344A (en
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.)
China Electronics Investment Holdings Ltd
Original Assignee
China Electronics Investment Holdings 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 China Electronics Investment Holdings Ltd filed Critical China Electronics Investment Holdings Ltd
Priority to CN202311000546.2A priority Critical patent/CN116737344B/en
Publication of CN116737344A publication Critical patent/CN116737344A/en
Application granted granted Critical
Publication of CN116737344B publication Critical patent/CN116737344B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The invention discloses a dispatching method of multi-container clusters and a dispatching service system, wherein the dispatching service system is deployed on a server, the system comprises a dispatching API service module, a controller service module and a plurality of cluster agent components, and a plurality of mutually independent Kubernetes container clusters are set into member clusters of the dispatching service system through the plurality of cluster agent components; defining a deployment list and a scheduling policy CR of an application APP needing deployment; the controller service module splits and analyzes a deployment list and a scheduling policy CR of the application APP to obtain an identified instance to be deployed, the identified instance to be deployed is stored in a queue to be deployed, and a plurality of cluster agent components monitor the queue to be deployed and acquire respective instances to be deployed from the queue to be deployed and submit the instances to corresponding member clusters for deployment. The method realizes the cross-cluster scheduling and management of the original resources under the condition of not changing the original resource types.

Description

Multi-container cluster scheduling method and scheduling service system
Technical Field
The invention relates to the technical field of cloud computing, in particular to a scheduling method and a scheduling service system for a multi-container cluster.
Background
The existing container multi-cluster scheduling mainly adopts a federation cluster mode, namely, a plurality of independent clusters form a federation so as to achieve a management and control mode of the clusters. Federation clusters schedule specified federation resources into a federation cluster by defining a series of federation resources, but there are several problems with this: the federal resource is inconsistent with the original resource type, cannot be directly applied and needs to be converted or redeployed; the federal resource cannot cover all standard types, resulting in an inability to cover all application scenarios when scheduled; the federal cluster cannot directly acquire the working state of the workload in the actual cluster, needs to traverse the cluster, and has insufficient performance.
Disclosure of Invention
Aiming at the technical problem of large intrusion into the existing workload type in the existing technical scheme, the invention provides a scheduling method and a scheduling service system for a multi-container cluster. By defining independent dispatch service systems and dispatch strategies CRD (Custom Resource Define, custom resource definition), the cross-cluster dispatch and management of original resources are realized under the condition of not changing the original resource types.
The invention aims to provide a scheduling method of a multi-container cluster, which comprises the following steps:
the method comprises the steps that S1, a dispatching service system is deployed on a server, the dispatching service system comprises a dispatching API service module, a controller service module and a plurality of cluster agent components, the plurality of cluster agent components are connected with the dispatching API service module, the controller service module is connected with the dispatching API service module, and a plurality of independent Kubernetes container clusters which are the same in number as the plurality of cluster agent components are obtained, and are set into member clusters of the dispatching service system;
s2, defining an application APP to be deployed by using a deployment list of a Kubernetes container cluster, and obtaining a deployment list of the application APP;
s3, instantiating a scheduling policy of the application APP to obtain a scheduling policy CR of the application APP;
s4, submitting the deployment list of the application APP and the scheduling policy CR of the application APP to a controller service module through a scheduling API service module;
s5, the controller service module splits and analyzes the scheduling policy CR and the deployment list to obtain an identified instance to be deployed, the identified instance to be deployed is stored in memory data of the scheduling service system to obtain a queue to be deployed, and the plurality of cluster agent components monitor the queue to be deployed respectively, acquire respective instances to be deployed from the queues and submit the respective instances to respective corresponding member clusters for deployment.
Preferably, in S1, a plurality of Kubernetes container clusters independent from each other are set as member clusters of a dispatch service system, which specifically includes:
s11, respectively setting cluster agent components on a plurality of Kubernetes container clusters;
s12, a plurality of cluster agent components are in communication connection with a scheduling API service module;
s13, reporting information of a plurality of Kubernetes container clusters to a scheduling API service module through the corresponding cluster agent components;
and S14, the scheduling API service module carries out nano-tube on the plurality of Kubernetes container clusters according to the received information, so that the plurality of Kubernetes container clusters are used as member clusters of the scheduling service system.
Preferably, the deployment manifest of the application APP in S2 includes the mirrored address of the container, the required resources.
Preferably, the step S3 of instantiating the scheduling policy of the application APP specifically comprises: applications requiring scheduling, allocation schemes, and scheduled cluster objects are specified.
Preferably, the allocation scheme is an equal allocation.
Preferably, the scheduled cluster object is a member cluster of a schedule service system.
Preferably, S2 further includes defining the number of copies of the application APP that needs to be deployed, and in S5, the controller service module splits and parses the scheduling policy CR and the deployment list to obtain an identified instance to be deployed, which specifically includes:
s51, splitting the number of copies of the application APP according to a scheduling strategy CR and a deployment list by a controller service module to generate a plurality of instances to be deployed;
s52, analyzing the plurality of to-be-deployed examples, and respectively identifying the scheduled cluster object for each to-be-deployed example to obtain a plurality of identified to-be-deployed examples.
Preferably, in S5, the plurality of cluster agent components monitor queues to be deployed respectively, obtain respective instances to be deployed therefrom, and submit the instances to respective corresponding member clusters for deployment, which specifically includes:
s53, the plurality of cluster agent components are all in communication connection with a scheduling API service module, and when a queue to be deployed changes, the scheduling API service module sends the instance data to be deployed to the plurality of cluster agent components;
s54, a plurality of cluster agent components acquire to-be-deployed examples which are required to be deployed respectively, convert the to standard Kubernetes objects and submit the standard Kubernetes objects to respective corresponding member clusters;
s55, the member clusters deploy the standard Kubernetes objects.
The invention also provides a dispatching service system of the multi-container clusters, which comprises a dispatching API service module, a controller service module, a plurality of cluster agent components and Kubernetes container clusters, wherein the number of the Kubernetes container clusters is the same as that of the plurality of cluster agent components and the Kubernetes container clusters are mutually independent, the plurality of cluster agent components are connected with the plurality of Kubernetes container clusters in a one-to-one correspondence manner, the plurality of cluster agent components are connected with the dispatching API service module, and the controller service module is connected with the dispatching API service module;
the plurality of cluster agent components are used for acquiring information of a plurality of Kubernetes container clusters, sending the information to the scheduling API service module, monitoring a queue to be deployed through the scheduling API service module, acquiring respective instances to be deployed from the queue to be deployed, and submitting the respective instances to respective corresponding member clusters for deployment;
the scheduling API service module is used for receiving information of a plurality of Kubernetes container clusters, carrying out nano-tube on the plurality of Kubernetes container clusters, enabling the plurality of Kubernetes container clusters to serve as member clusters of a scheduling service system, and further being used for issuing to-be-deployed instance data in a to-be-deployed queue to a plurality of cluster proxy components;
the controller service module is used for receiving a deployment list and a scheduling policy CR which are predefined by an application APP to be deployed, splitting and analyzing the deployment list and the scheduling policy CR, and obtaining a queue to be deployed.
According to the scheduling method and the scheduling service system for the multi-container clusters, the scheduling service system is deployed on the server, and comprises the scheduling API service module, the controller service module and the plurality of cluster agent components, wherein the plurality of independent Kubernetes container clusters are set as member clusters of the scheduling service system; defining an application APP to be deployed by using a deployment list of a Kubernetes container cluster to obtain a deployment list of the application APP; instantiating a scheduling policy of the application APP to obtain a scheduling policy CR of the application APP; submitting a deployment list of the application APP and a scheduling policy CR of the application APP to a controller service module through a scheduling API service module; the controller service module splits and analyzes the scheduling policy CR and the deployment list to obtain an identified instance to be deployed, stores the identified instance to be deployed in memory data of the scheduling service system to obtain a queue to be deployed, and a plurality of cluster agent components monitor the queue to be deployed respectively, acquire respective instances to be deployed from the queue to be deployed and submit the respective instances to respective corresponding member clusters for deployment. The method does not change the definition of the existing service container, can dynamically adjust the scheduling strategy in real time, and realizes the scheduling and management of multiple clusters under the condition of no invasion to the original service.
Drawings
FIG. 1 is a flow chart of a method for scheduling multi-container clusters in accordance with an embodiment of the present invention;
FIG. 2 is a schematic diagram of a dispatch service system with multiple container clusters according to an embodiment of the invention.
Detailed Description
In order to make the technical scheme of the present invention better understood by those skilled in the art, the present invention will be further described in detail with reference to the accompanying drawings.
A method for scheduling a multi-container cluster, the method comprising:
the method comprises the steps that S1, a dispatching service system is deployed on a server, the dispatching service system comprises a dispatching API service module, a controller service module and a plurality of cluster agent components, the plurality of cluster agent components are connected with the dispatching API service module, the controller service module is connected with the dispatching API service module, and a plurality of independent Kubernetes container clusters which are the same in number as the plurality of cluster agent components are obtained, and are set into member clusters of the dispatching service system;
s2, defining an application APP to be deployed by using a deployment list of a Kubernetes container cluster, and obtaining a deployment list of the application APP;
s3, instantiating a scheduling policy of the application APP to obtain a scheduling policy CR of the application APP;
s4, submitting the deployment list of the application APP and the scheduling policy CR of the application APP to a controller service module through a scheduling API service module;
s5, the controller service module splits and analyzes the scheduling policy CR and the deployment list to obtain an identified instance to be deployed, the identified instance to be deployed is stored in memory data of the scheduling service system to obtain a queue to be deployed, and the plurality of cluster agent components monitor the queue to be deployed respectively, acquire respective instances to be deployed from the queues and submit the respective instances to respective corresponding member clusters for deployment.
Specifically, referring to fig. 1 and fig. 2, fig. 1 is a flowchart of a scheduling method of a multi-container cluster according to an embodiment of the present invention, and fig. 2 is a schematic general architecture of a scheduling service system of a multi-container cluster according to an embodiment of the present invention.
Firstly, deploying a dispatching service system on a server, wherein the dispatching service system comprises a dispatching API service module, a controller service module and a plurality of cluster agent components which are sequentially connected, and setting a plurality of mutually independent Kubernetes container clusters into member clusters of the dispatching service system; then, aiming at the application APP needing to be deployed, defining a deployment list of the application APP, and instantiating a scheduling strategy of the application APP to obtain a scheduling strategy CR of the application APP; then submitting a deployment list of the application APP and a scheduling policy CR to a scheduling service system through a scheduling API service module; then, a controller service module in the dispatch service system splits and analyzes the dispatch strategy CR and the deployment list to obtain an instance to be deployed, identifies a member cluster corresponding to the instance to be deployed, places the identified instance to be deployed in memory data of the dispatch service system to obtain a queue to be deployed, monitors the queue to be deployed through a dispatch API service module, acquires the instance data to be deployed belonging to each member cluster from the queue to be deployed, and submits the instance data to the corresponding member cluster for deployment, namely, establishes an instance subset of the application APP.
In one embodiment, in S1, a plurality of Kubernetes container clusters independent from each other are set as member clusters of a dispatch service system, which specifically includes:
s11, respectively setting cluster agent components on a plurality of Kubernetes container clusters;
s12, a plurality of cluster agent components are in communication connection with a scheduling API service module;
s13, reporting information of a plurality of Kubernetes container clusters to a scheduling API service module through the corresponding cluster agent components;
and S14, the scheduling API service module carries out nano-tube on the plurality of Kubernetes container clusters according to the received information, so that the plurality of Kubernetes container clusters are used as member clusters of the scheduling service system.
Specifically, a cluster agent component is respectively arranged on a plurality of mutually independent Kubernetes container clusters, the cluster agent component and the scheduling API service module are connected in a communication mode, the cluster agent component reports information of the respective corresponding Kubernetes container clusters to the scheduling API service module and receives to-be-deployed example data issued by the scheduling API service module, so that the scheduling service system carries out nano-tube on the plurality of mutually independent Kubernetes clusters, the plurality of mutually independent Kubernetes clusters are used as member clusters of the scheduling service system, and the information of the Kubernetes container clusters comprises the connection address of the clusters and the resource condition of the clusters.
In one embodiment, the deployment manifest of the application APP in S2 includes the mirrored address of the container, the required resources.
Specifically, the deployment list is a file, is a data source serving as a queue to be deployed, and is used for describing related information of the application APP needing to be deployed, such as a mirror image address of a container, required resources and the like, wherein the required resources comprise a CPU, a memory and a storage space required by the running of the application APP. Deployment manifest follows the relevant specifications of Kubernetes, including apiVersion, kind, metadata, spec and other descriptive information, apiVersion represents the version of Kubernetes API used to create objects, kined represents the class of created objects, metadata is data used to uniquely identify created objects, spec states the desired created objects.
In one embodiment, the step S3 of instantiating the scheduling policy of the application APP specifically includes: applications requiring scheduling, allocation schemes, and scheduled cluster objects are specified.
Specifically, an application to be scheduled, an allocation scheme and a scheduled cluster object are specified in a scheduling policy. For example, there are multiple applications APP, designate APP1 as the application that needs to be scheduled, the allocation scheme is balanced allocation, and the scheduled cluster objects are member cluster a and member cluster B in the scheduling service system.
In one embodiment, the allocation scheme is an equal allocation.
Specifically, the allocation scheme refers to a mode of allocating copies of an application to be scheduled to a scheduled cluster object, and is based on a scheduling policy of cluster resources, and mainly includes three modes of balancing the cluster resources, maximizing the use of the cluster resources, and disaster recovery scheduling. When the balanced cluster resource strategy is used for scheduling, firstly, idle resources of the current member clusters are compared, and the resource quantity used by each cluster is ensured to be balanced as much as possible; maximizing the use of cluster resources to preferentially use the member clusters with the least current free resources; and the disaster recovery scheduling schedules the application instance to clusters in different areas as much as possible, so that the application can continue to provide service when the clusters are down. When the allocation scheme of the balanced cluster resources is adopted, that is, a balanced allocation mode is adopted, for example, 6 copies are set for the application APP needing to be scheduled, the scheduled cluster objects are a member cluster A and a member cluster B in the scheduling service system, and at the moment, 3 copies of the application APP needing to be scheduled are respectively obtained in the member cluster A and the member cluster B.
In one embodiment, the scheduled cluster object is a member cluster of a schedule service system.
Specifically, the scheduled cluster object may be all members in a member cluster of the scheduling service system, or may be part of members in a member cluster of the scheduling service system.
In one embodiment, S2 further includes defining the number of copies of the APP to be deployed, and in S5, the controller service module splits and parses the scheduling policy CR and the deployment list to obtain an identified instance to be deployed, which specifically includes:
s51, splitting the number of copies of the application APP according to a scheduling strategy CR and a deployment list by a controller service module to generate a plurality of instances to be deployed;
s52, analyzing the plurality of to-be-deployed examples, and respectively identifying the scheduled cluster object for each to-be-deployed example to obtain a plurality of identified to-be-deployed examples.
Specifically, the controller service module finds a deployment list corresponding to the application APP to be deployed according to the submitted scheduling policy CR, and analyzes and splits the deployment list to obtain an instance to be deployed. For example, 6 copies are set for the application APP to be scheduled, the allocation scheme is balanced allocation, the scheduled cluster objects are a member cluster a and a member cluster B in the scheduling service system, at this time, 3 copies of the application APP to be scheduled are obtained in the member cluster a and the member cluster B respectively, and 2 to-be-deployed instances with 3 copies are generated: the method comprises the steps of identifying a first to-be-deployed instance APP-1 and a second to-be-deployed instance APP-2, deploying the first to-be-deployed instance APP-1 into a member cluster A, identifying the second to-be-deployed instance APP-2 into a member cluster B to obtain an identified to-be-deployed instance, and storing the identified to-be-deployed instance into memory data of a dispatch service system to obtain a to-be-deployed queue.
In one embodiment, in S5, the plurality of cluster agent components monitor queues to be deployed respectively, obtain respective instances to be deployed therefrom, and submit the instances to respective corresponding member clusters for deployment, and specifically includes:
s53, the plurality of cluster agent components are all in communication connection with a scheduling API service module, and when a queue to be deployed changes, the scheduling API service module sends the instance data to be deployed to the plurality of cluster agent components;
s54, a plurality of cluster agent components acquire to-be-deployed examples which are required to be deployed respectively, convert the to standard Kubernetes objects and submit the standard Kubernetes objects to respective corresponding member clusters;
s55, the member clusters deploy the standard Kubernetes objects.
Specifically, the cluster agent components of the member clusters are all in communication connection with the scheduling API service module, when the queue to be deployed changes, the scheduling API service module sends the data of the instance to be deployed to the corresponding cluster agent components, and the cluster agent components acquire respective instances to be deployed and convert the respective instances to be deployed into standard Kubernetes objects, and complete deployment through the corresponding member clusters. For example, the respective cluster Agent components Agent-1 and Agent-2 of the member cluster A and the member cluster B monitor data in a queue to be deployed through a scheduling API service module, the cluster Agent component Agent-1 acquires a first instance APP-1 to be deployed, the cluster Agent component Agent-2 acquires a second instance APP-2 to be deployed, the first instance APP-1 to be deployed is converted into a standard Kubernetes object and submitted to the member cluster A for deployment, and the second instance APP-2 to be deployed is converted into the standard Kubernetes object and submitted to the member cluster B for deployment.
The dispatching service system of the multi-container cluster comprises a dispatching API service module, a controller service module, a plurality of cluster agent components and Kubernetes container clusters which are the same as the plurality of cluster agent components in number and independent of each other, wherein the plurality of cluster agent components are connected with the plurality of Kubernetes container clusters in a one-to-one correspondence manner, the plurality of cluster agent components are connected with the dispatching API service module, and the controller service module is connected with the dispatching API service module;
the plurality of cluster agent components are used for acquiring information of a plurality of Kubernetes container clusters, sending the information to the scheduling API service module, monitoring a queue to be deployed through the scheduling API service module, acquiring respective instances to be deployed from the queue to be deployed, and submitting the respective instances to respective corresponding member clusters for deployment;
the scheduling API service module is used for receiving information of a plurality of Kubernetes container clusters, carrying out nano-tube on the plurality of Kubernetes container clusters, enabling the plurality of Kubernetes container clusters to serve as member clusters of a scheduling service system, and further being used for issuing to-be-deployed instance data in a to-be-deployed queue to a plurality of cluster proxy components;
the controller service module is used for receiving a deployment list and a scheduling policy CR which are predefined by an application APP to be deployed, splitting and analyzing the deployment list and the scheduling policy CR, and obtaining a queue to be deployed.
Specifically, referring to fig. 2, fig. 2 is a schematic diagram illustrating an overall architecture of a dispatch service system for a multi-container cluster according to an embodiment of the invention.
In fig. 2, the dispatch service system includes a dispatch API service module and a controller service module, the cluster proxy component 1 and the cluster proxy component 2 are independent Kubernetes container cluster 1 and Kubernetes container cluster 2, the cluster proxy component 1 (corresponding to Agent1 in fig. 2) is set on the Kubernetes container cluster 1, the cluster proxy component 2 (corresponding to Agent2 in fig. 2) is set on the Kubernetes container cluster 2, the cluster proxy components 1 and 2 are both connected with the dispatch API service module, the controller service module is connected with the dispatch API service module, the cluster proxy components 1 and 2 respectively acquire information of the Kubernetes container clusters 1 and 2 and transmit the information to the dispatch API service module, the dispatch API service module receives the information of the Kubernetes container clusters 1 and 2, and performs a nanotube on the Kubernetes container clusters 1 and 2 as member clusters a and B of the dispatch service system, a deployment list of an APP to be deployed is predefined, a CR application policy is obtained by instantiating the deployment policy, the CR application to be deployed is obtained, the CR application to be deployed is a CR policy is deployed to be deployed to the respective member queue, and the application is deployed to be deployed by the control queue, and the application is configured to be deployed to the respective element is required to be deployed to be subjected to a control queue and is configured to a control module and is required to be deployed to a respective to be deployed by the respective to be deployed to the control.
According to the scheduling method and the scheduling service system for the multi-container clusters, the scheduling service system is deployed on the server, and comprises the scheduling API service module, the controller service module and the plurality of cluster agent components, wherein the plurality of independent Kubernetes container clusters are set as member clusters of the scheduling service system; defining an application APP to be deployed by using a deployment list of a Kubernetes container cluster to obtain a deployment list of the application APP; instantiating a scheduling policy of the application APP to obtain a scheduling policy CR of the application APP; submitting a deployment list of the application APP and a scheduling policy CR of the application APP to a controller service module through a scheduling API service module; the controller service module splits and analyzes the scheduling policy CR and the deployment list to obtain an identified instance to be deployed, stores the identified instance to be deployed in memory data of the scheduling service system to obtain a queue to be deployed, and a plurality of cluster agent components monitor the queue to be deployed respectively, acquire respective instances to be deployed from the queue to be deployed and submit the respective instances to respective corresponding member clusters for deployment. The method does not change the definition of the existing service container, can dynamically adjust the scheduling strategy in real time, and realizes the scheduling and management of multiple clusters under the condition of no invasion to the original service.
The scheduling method of the multi-container cluster provided by the invention is described in detail above. The principles and embodiments of the present invention have been described herein with reference to specific examples, the description of which is intended only to facilitate an understanding of the core concepts of the invention. It should be noted that it will be apparent to those skilled in the art that various modifications and adaptations of the invention can be made without departing from the principles of the invention and these modifications and adaptations are intended to be within the scope of the invention as defined in the following claims.

Claims (8)

1. A method for scheduling a multi-container cluster, the method comprising:
s1, deploying a dispatching service system on a server, wherein the dispatching service system comprises a dispatching API service module, a controller service module and a plurality of cluster agent components, the plurality of cluster agent components are connected with the dispatching API service module, the controller service module is connected with the dispatching API service module, and is used for acquiring Kubernetes container clusters which are the same as the plurality of cluster agent components in number and are mutually independent, and the mutually independent plurality of Kubernetes container clusters are set into member clusters of the dispatching service system;
s2, defining an application APP to be deployed by using a deployment list of a Kubernetes container cluster, and obtaining a deployment list of the application APP;
s3, instantiating a scheduling policy of the application APP to obtain a scheduling policy CR of the application APP;
s4, submitting a deployment list of the application APP and a scheduling policy CR of the application APP to the controller service module through the scheduling API service module;
s5, the controller service module splits and analyzes the scheduling policy CR and the deployment list to obtain an identified instance to be deployed, the identified instance to be deployed is stored in memory data of the scheduling service system to obtain a queue to be deployed, and a plurality of cluster agent components monitor the queue to be deployed respectively, acquire respective instances to be deployed from the queue and submit the instances to respective corresponding member clusters for deployment;
the deployment list of the application APP in S2 includes the mirror address of the container, the required resources.
2. The method for scheduling multi-container clusters according to claim 1, wherein in S1, a plurality of Kubernetes container clusters independent of each other are set as member clusters of the scheduling service system, and specifically includes:
s11, respectively setting cluster agent components on a plurality of Kubernetes container clusters;
s12, connecting a plurality of cluster agent components with the scheduling API service module in a communication way;
s13, reporting the information of a plurality of Kubernetes container clusters to a scheduling API service module through the corresponding cluster agent components;
and S14, the scheduling API service module carries out nano-tube on the plurality of Kubernetes container clusters according to the received information, so that the plurality of Kubernetes container clusters are used as member clusters of the scheduling service system.
3. The multi-container cluster scheduling method according to claim 1, wherein the step of instantiating the scheduling policy of the application APP in S3 specifically includes: applications requiring scheduling, allocation schemes, and scheduled cluster objects are specified.
4. The method for scheduling multi-container clusters according to claim 3, wherein said allocation scheme is a balanced allocation.
5. The method of claim 4, wherein the scheduled cluster object is a cluster of members of the dispatch service system.
6. The method for scheduling multi-container clusters according to claim 5, wherein S2 further includes defining a number of copies of an APP to be deployed, and the controller service module splits and parses the scheduling policy CR and the deployment list in S5 to obtain an identified instance to be deployed, which specifically includes:
s51, the controller service module splits the number of copies of the application APP according to the scheduling policy CR and the deployment list to generate a plurality of instances to be deployed;
s52, analyzing the plurality of to-be-deployed examples, and respectively identifying the scheduled cluster object for each to-be-deployed example to obtain a plurality of identified to-be-deployed examples.
7. The method for scheduling multi-container clusters according to claim 6, wherein in S5, the plurality of cluster agent components monitor the queues to be deployed respectively, obtain respective instances to be deployed therefrom, and submit the instances to respective corresponding member clusters for deployment, and the method specifically comprises:
s53, the plurality of cluster agent components are all in communication connection with the scheduling API service module, and the scheduling API service module sends the data of the to-be-deployed instance to the plurality of cluster agent components when the to-be-deployed queue changes;
s54, a plurality of cluster agent components acquire to-be-deployed examples which are required to be deployed respectively, convert the to standard Kubernetes objects and submit the objects to the corresponding member clusters respectively;
s55, the member clusters deploy the standard Kubernetes objects.
8. A multi-container cluster dispatching service system, which adopts the multi-container cluster dispatching method as claimed in any one of claims 1-7 for dispatching, and is characterized by comprising a dispatching API service module, a controller service module, a plurality of cluster agent components and Kubernetes container clusters which are the same as the plurality of cluster agent components in number and independent from each other, wherein the plurality of cluster agent components are connected with the plurality of Kubernetes container clusters in a one-to-one correspondence manner, the plurality of cluster agent components are connected with the dispatching API service module, and the controller service module is connected with the dispatching API service module;
the cluster agent components are used for acquiring information of the Kubernetes container clusters, sending the information to the scheduling API service module, monitoring a queue to be deployed through the scheduling API service module, acquiring respective instances to be deployed from the queue to be deployed, and submitting the instances to the respective corresponding member clusters for deployment;
the scheduling API service module is used for receiving information of a plurality of Kubernetes container clusters, carrying out nano-tube on the plurality of Kubernetes container clusters, enabling the plurality of Kubernetes container clusters to serve as member clusters of the scheduling service system, and further being used for issuing to-be-deployed instance data in a to-be-deployed queue to a plurality of cluster proxy components;
the controller service module is used for receiving a deployment list and a scheduling policy CR which are predefined by an application APP to be deployed, splitting and analyzing the deployment list and the scheduling policy CR, and obtaining a queue to be deployed.
CN202311000546.2A 2023-08-10 2023-08-10 Multi-container cluster scheduling method and scheduling service system Active CN116737344B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311000546.2A CN116737344B (en) 2023-08-10 2023-08-10 Multi-container cluster scheduling method and scheduling service system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311000546.2A CN116737344B (en) 2023-08-10 2023-08-10 Multi-container cluster scheduling method and scheduling service system

Publications (2)

Publication Number Publication Date
CN116737344A CN116737344A (en) 2023-09-12
CN116737344B true CN116737344B (en) 2023-11-07

Family

ID=87906347

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311000546.2A Active CN116737344B (en) 2023-08-10 2023-08-10 Multi-container cluster scheduling method and scheduling service system

Country Status (1)

Country Link
CN (1) CN116737344B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110413288A (en) * 2019-07-31 2019-11-05 新华三大数据技术有限公司 Using dispositions method, device, server and storage medium
US10841152B1 (en) * 2017-12-18 2020-11-17 Pivotal Software, Inc. On-demand cluster creation and management
CN112015536A (en) * 2020-08-28 2020-12-01 北京浪潮数据技术有限公司 Kubernetes cluster container group scheduling method, device and medium
CN112910937A (en) * 2019-11-19 2021-06-04 北京金山云网络技术有限公司 Object scheduling method and device in container cluster, server and container cluster
CN114995975A (en) * 2022-06-02 2022-09-02 度小满科技(北京)有限公司 Scheduling method and device for Redis cluster
CN115391006A (en) * 2022-08-15 2022-11-25 鹏城实验室 Heterogeneous multi-cluster data processing method, device, medium and terminal
CN115801799A (en) * 2022-10-27 2023-03-14 兴业银行股份有限公司 System for managing middleware life cycle based on kubernets multiple clusters

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10841152B1 (en) * 2017-12-18 2020-11-17 Pivotal Software, Inc. On-demand cluster creation and management
CN110413288A (en) * 2019-07-31 2019-11-05 新华三大数据技术有限公司 Using dispositions method, device, server and storage medium
CN112910937A (en) * 2019-11-19 2021-06-04 北京金山云网络技术有限公司 Object scheduling method and device in container cluster, server and container cluster
CN112015536A (en) * 2020-08-28 2020-12-01 北京浪潮数据技术有限公司 Kubernetes cluster container group scheduling method, device and medium
CN114995975A (en) * 2022-06-02 2022-09-02 度小满科技(北京)有限公司 Scheduling method and device for Redis cluster
CN115391006A (en) * 2022-08-15 2022-11-25 鹏城实验室 Heterogeneous multi-cluster data processing method, device, medium and terminal
CN115801799A (en) * 2022-10-27 2023-03-14 兴业银行股份有限公司 System for managing middleware life cycle based on kubernets multiple clusters

Also Published As

Publication number Publication date
CN116737344A (en) 2023-09-12

Similar Documents

Publication Publication Date Title
CN109150987B (en) Two-layer container cluster elastic expansion method based on host layer and container layer
CN111414233A (en) Online model reasoning system
CN109347974B (en) Hybrid scheduling system for improving online service quality and cluster resource utilization rate
US20210255899A1 (en) Method for Establishing System Resource Prediction and Resource Management Model Through Multi-layer Correlations
CN109558260B (en) Kubernetes fault elimination system, method, equipment and medium
CN112910937B (en) Object scheduling method and device in container cluster, server and container cluster
CN111147538B (en) Service function chain path selection method and system
CN109117244B (en) Method for implementing virtual machine resource application queuing mechanism
CN107819632A (en) A kind of dynamic load leveling group system based on performance monitoring system and Docker Swarm
US8032636B2 (en) Dynamically provisioning clusters of middleware appliances
CN113687956A (en) Message routing distribution method and device, computer equipment and storage medium
CN114666335B (en) Distributed system load balancing device based on data distribution service DDS
CN113364888B (en) Service scheduling method, system, electronic device and computer readable storage medium
CN114924851A (en) Training task scheduling method and device, electronic equipment and storage medium
CN116737344B (en) Multi-container cluster scheduling method and scheduling service system
CN112269647A (en) Node scheduling, switching and coordinating method and corresponding device, equipment and medium thereof
CN112035579A (en) Graph management method, data storage method, data query method, device and storage medium
CN114844788B (en) Network data analysis method, system, equipment and storage medium
CN116719623A (en) Job scheduling method, job result processing method and device
CN111435319A (en) Cluster management method and device
CN113238928B (en) End cloud collaborative evaluation system for audio and video big data task
CN114090201A (en) Resource scheduling method, device, equipment and storage medium
CN114338670A (en) Edge cloud platform and three-level cloud control platform for internet traffic with same
CN111221644B (en) Resource scheduling method, device and equipment
CN114546631A (en) Task scheduling method, control method, core, electronic device and readable 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
GR01 Patent grant
GR01 Patent grant