Container Cluster Management System and Method

Through the container cluster management system, container cluster management components, cluster orchestration mirroring and dock container clusters are used to solve the problem of container cluster management in multi-cloud environments, and unified management and efficient operation of container clusters are realized.

CN114327770BActive Publication Date: 2025-05-30ORIENTAL MIND (WUHAN) COMPUTING TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111644324.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-30
Publication Date
2025-05-30
Estimated Expiration
2041-12-30

AI Technical Summary

Technical Problem

In multi-cloud environments, container clusters are difficult to manage in a unified manner, existing tools are difficult to expand and maintain, and resource differences between different cloud service providers are difficult to block.

Method used

Provides a container cluster management system, including container cluster management components, cluster orchestration mirroring, and dock container clusters. The container cluster management component receives client requests, determines container cluster parameters, and issues a scheduling request to the dock container cluster. The cluster orchestration mirror interacts with the corresponding cloud environment based on the container cluster parameters and performs container cluster operations.

Benefits of technology

The unified management of container clusters in multi-cloud environments is realized, eliminating differences in different cloud environments, so that clients do not perceive the differences in multi-cloud environments when requesting container cluster operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114327770B_ABST
    Figure CN114327770B_ABST
Patent Text Reader

Abstract

The present invention belongs to the field of computer technology, and discloses a container cluster management system and method. The system includes: a container cluster management component, a cluster orchestration image, and a base container cluster. When the container cluster management component receives a container cluster operation request issued by a client, it determines corresponding container cluster parameters and sends a scheduling request to the base container cluster. The base container cluster starts the cluster orchestration image in the form of a container according to the scheduling request. The cluster orchestration image receives the container cluster parameters, interacts with the corresponding cloud environment according to the container cluster parameters, and executes container cluster operations in the cloud environment. The present invention utilizes the container cluster management component to manage the entire life cycle of container clusters in a multi-cloud environment, describes the container cluster parameters in a multi-cloud environment in a unified abstract format, and the cluster orchestration image selects the corresponding cloud environment from the multi-cloud environment according to the container cluster parameters to execute the corresponding container cluster operations, realizing the unified management of container clusters in a multi-cloud environment.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and in particular, to a container cluster management system and method. Background Art

[0002] As container technology has become the mainstream implementation solution for PaaS (Platform as a Service) in the cloud environment, many companies or organizations use container clusters to deploy their services in the cloud environment; and according to different requirements or businesses, container clusters are sometimes deployed in different cloud environments. How to efficiently manage the life cycle of container clusters in a multi-cloud environment has become a necessary task for companies or organizations.

[0003] When a company or organization deploys a container cluster in a multi-cloud environment, each platform and service is independent, and there is a problem that it is difficult to uniformly manage the container cluster. Summary of the Invention

[0004] In view of the container cluster management problems existing in the prior art, the present invention provides a container cluster management system and method.

[0005] In a first aspect, the present invention provides a container cluster management system, which includes: a container cluster management component, a cluster orchestration image, and a base container cluster;

[0006] The container cluster management component is configured to, when receiving a container cluster operation request issued by a client, determine corresponding container cluster parameters according to the container cluster operation request, and send a scheduling request to the base container cluster;

[0007] The base container cluster is configured to start the cluster orchestration image in the form of a container according to the scheduling request;

[0008] The cluster orchestration image is configured to receive the container cluster parameters passed in by the container cluster management component, interact with the corresponding cloud environment according to the container cluster parameters, and execute corresponding container cluster operations in the cloud environment.

[0009] Optionally, the container cluster management component is further configured to provide application program interfaces corresponding to different container cluster operations to the client, and receive the container cluster operation request issued by the client based on the application program interfaces.

[0010] Optionally, the container cluster management component is further configured to, when receiving multiple target container cluster operation requests based on multiple application program interfaces, respectively determine target container cluster parameters corresponding to each of the target container cluster operation requests, and send multiple target scheduling requests to the base container cluster;

[0011] The base container cluster is further configured to start multiple cluster orchestration images in the form of containers according to the multiple target scheduling requests;

[0012] The cluster orchestration image is further configured to interact with the corresponding target cloud environment according to the received target container cluster parameters, and execute the corresponding target container cluster operations in the target cloud environment.

[0013] Optionally, the container cluster management component is further configured to extract container cluster metadata from the container cluster operation request, and abstractly describe the container cluster metadata according to a preset configuration language to obtain container cluster parameters.

[0014] Optionally, the cluster orchestration image includes an interpreter, an executor, and cloud environment drivers for multiple cloud environments;

[0015] The interpreter is configured to convert the container cluster parameters into a resource description file;

[0016] The executor is configured to start the corresponding target cloud environment driver according to the resource description file, interact with the corresponding cloud environment through the target cloud environment driver, and execute the corresponding container cluster operations in the cloud environment.

[0017] Optionally, the container cluster operations include creating a container cluster, destroying a container cluster, obtaining the status of a container cluster, expanding a container cluster, and scaling down a container cluster.

[0018] Optionally, the cluster orchestration image is further configured to record the operation results corresponding to the container cluster operations according to a preset record template;

[0019] The container cluster management component is further configured to obtain the operation results and feedback the operation results to the client.

[0020] In a second aspect, the present invention further provides a container cluster management method, which is applied to the container cluster management system as described in the first aspect. The container cluster management system includes: a container cluster management component, a cluster orchestration image, and a base container cluster;

[0021] The container cluster management method includes:

[0022] When receiving a container cluster operation request sent by a client, the container cluster management component determines corresponding container cluster parameters according to the container cluster operation request, and sends a scheduling request to the base container cluster;

[0023] The base container cluster starts the cluster orchestration image in the form of a container according to the scheduling request;

[0024] The cluster orchestration image receives the container cluster parameters passed in by the container cluster management component, interacts with the corresponding cloud environment according to the container cluster parameters, and executes corresponding container cluster operations in the cloud environment.

[0025] Optionally, the method further includes:

[0026] When the container cluster management component receives multiple target container cluster operation requests based on multiple application programming interfaces, it respectively determines the target container cluster parameters corresponding to each of the target container cluster operation requests, and sends multiple target scheduling requests to the base container cluster;

[0027] The base container cluster starts multiple cluster orchestration images in the form of containers according to the multiple target scheduling requests;

[0028] The cluster orchestration image interacts with the corresponding target cloud environment according to the received target container cluster parameters, and executes corresponding target container cluster operations in the target cloud environment.

[0029] The system proposed by the present invention includes a container cluster management component, a cluster orchestration image, and a base container cluster; when the container cluster management component receives a container cluster operation request sent by a client, it determines the corresponding container cluster parameters according to the container cluster operation request, and sends a scheduling request to the base container cluster; the base container cluster starts a cluster orchestration image in the form of a container according to the scheduling request; the cluster orchestration image receives the container cluster parameters sent by the container cluster management component, interacts with the corresponding cloud environment according to the container cluster parameters, and executes corresponding container cluster operations in the cloud environment. Through the above method, the container cluster management component is used to manage the entire life cycle of the container cluster in a multi-cloud environment. The base container cluster starts the cluster orchestration image under the scheduling of the container cluster management component. The cluster orchestration image selects the corresponding cloud environment from the multi-cloud environment according to the container cluster parameters for interaction and executes corresponding container cluster operations, realizing the unified management of the container cluster in the multi-cloud environment. Description of the Drawings

[0030] In order to more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the following will briefly introduce the drawings required for use in the description of the embodiments or the prior art. Obviously, the drawings in the following description are some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can also be obtained based on these drawings.

[0031] Figure 1 It is a block diagram of the first embodiment structure of the container cluster management system provided by the present invention;

[0032] Figure 2Schematic diagram of the architecture of the container cluster management system provided by the present invention;

[0033] Figure 3 Block diagram of the second embodiment structure of the container cluster management system provided by the present invention;

[0034] Figure 4 Schematic diagram of the container cluster management component of the container cluster management system provided by the present invention;

[0035] Figure 5 Block diagram of the third embodiment structure of the container cluster management system provided by the present invention;

[0036] Figure 6 Schematic diagram of the cluster orchestration image of the container cluster management system provided by the present invention;

[0037] Figure 7 Schematic diagram of the actuator resource creation process of the container cluster management system provided by the present invention;

[0038] Figure 8 Schematic diagram of the actuator resource modification process of the container cluster management system provided by the present invention;

[0039] Figure 9 Schematic diagram of the actuator resource destruction process of the container cluster management system provided by the present invention;

[0040] Figure 10 Schematic diagram of the workflow of the container cluster management system provided by the present invention;

[0041] Figure 11 Schematic diagram of the first embodiment process of the container cluster management method provided by the present invention.

[0042] Explanation of the reference numerals in the drawings:

[0043] Label Name Label Name 10 Container Cluster Management Component 50 Interpreter 20 Base Container Cluster 60 Executor 30 Cluster Orchestration Image 70 Cloud Environment Driver 40 Application Interface Detailed implementation manners

[0044] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are some, but not all, of the embodiments of the present invention. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

[0045] As container technology has become the mainstream implementation solution for PaaS (Platform as a Service) in the cloud environment, many companies or organizations use container clusters to deploy their services in the cloud environment. Depending on requirements or business differences, container clusters are sometimes deployed in different cloud environments. How to efficiently manage the life cycle of container clusters in a multi-cloud environment has become an essential task for companies or organizations.

[0046] When companies or organizations deploy container clusters in a multi-cloud environment, they will face the following problems: (1) In a multi-cloud environment, each platform and service is independent, making it difficult to centrally manage container clusters. (2) Libraries such as Boto and Fog provide local access to cloud services by using the APIs (Application Programming Interface) of cloud providers. Some libraries focus on specific clouds, while others attempt to connect them all and obscure semantic differences. These client libraries only provide low-level access to the APIs, requiring application developers to create their own tools to build and manage their container clusters. (3) Most organizations use in-house tools to help automate the mechanical processes involved in managing container clusters. These tools require time and resources to build and maintain. As essential tools, they represent the minimum viable features required by an organization and are built to handle immediate needs. Therefore, they are usually difficult to scale and maintain. (4) Open-source software such as Terraform manages resources separately for each cloud service, but does not shield the resource differences of each cloud service provider in a multi-cloud environment. Organizations or companies need to configure and manage resources for different cloud service providers themselves.

[0047] In response to this, an embodiment of the present invention provides a container cluster management system. Referring to Figure 1 , Figure 1 is a block diagram of the structure of the first embodiment of the container cluster management system provided by the present invention.

[0048] In this embodiment, the container cluster management system includes: a container cluster management component 10, a cluster orchestration image 30, and a base container cluster 20;

[0049] The container cluster management component 10 is configured to, when receiving a container cluster operation request issued by a client, determine corresponding container cluster parameters according to the container cluster operation request, and send a scheduling request to the base container cluster 20.

[0050] The container cluster management component 10 in this embodiment provides a unified API interface (application programming interface) for the client, which is used to receive container cluster operation requests sent by the client for the multi-cloud environment, convert the API requests submitted by the client according to a preset configuration language, schedule the container cluster orchestration image 30 on the base container cluster 20, and provide the client with the container cluster operation results. In a specific implementation, the container cluster management component 10 is used to manage the life cycle management of container clusters in a multi-cloud environment, including but not limited to: creating a cluster, destroying a cluster, expanding a cluster, shrinking a cluster, etc.

[0051] The base container cluster 20 is used to start the cluster orchestration image 30 in the form of a container according to the scheduling request.

[0052] It should be noted that the base container cluster 20 in this embodiment is a container cluster set on the container cluster management system, and the container cluster for executing container cluster operations is a container cluster deployed in a multi-cloud environment. In a specific implementation, when the container cluster management component 10 receives a container cluster operation request from the client, it internally schedules the cluster orchestration image 30, creates a container on the base container cluster 20, and starts the cluster orchestration image 30 in the form of a container.

[0053] The cluster orchestration image 30 is used to receive the container cluster parameters passed in by the container cluster management component 10, interact with the corresponding cloud environment according to the container cluster parameters, and execute corresponding container cluster operations in the cloud environment.

[0054] It should be understood that, optionally, the container cluster management component 10 converts the API requests submitted by the client according to a preset configuration language, submits the converted container cluster parameters to its own base container cluster 20, the base container cluster 20 passes in the container cluster parameters while creating a container, and the cluster orchestration image 30 runs in the container and receives the container cluster parameters passed in by the container cluster management component 10 through the base container cluster 20.

[0055] In another implementation, the container cluster management component 10 stores the converted container cluster parameters in a preset path, and this path is configured as the default path for the cluster orchestration image 30 to extract parameters during operation, and the cluster orchestration image 30 reads the container cluster parameters passed in by the container cluster management component 10 from the preset path.

[0056] It should be noted that the cluster orchestration image 30 in this embodiment parses the container cluster parameters, converts them into resource description files, determines the cloud environment and cloud environment driver for executing container cluster operations according to the resource description files, schedules the corresponding cloud environment driver, interacts with the corresponding cloud environment through the cloud environment driver, and executes corresponding container cluster operations in the corresponding cloud environment according to the resource description files.

[0057] It should be understood that the cluster orchestration image 30 of this embodiment can manage container clusters on one or more cloud environments simultaneously. The types of cloud environments are related to the adaptation support provided by the cluster orchestration image 30. It can monitor the operation status of the container cluster for the container cluster management component 10 to obtain the latest status information of the container cluster.

[0058] Furthermore, the container cluster management component 10 is further configured to extract container cluster metadata from the container cluster operation request, and abstractly describe the container cluster metadata according to a preset configuration language to obtain container cluster parameters.

[0059] In this embodiment, a preset configuration language (also known as: advanced configuration language) for container clusters in a multi-cloud environment is set up to uniformly and abstractly describe container cluster parameters and characteristics, including but not limited to: container cluster name, container cluster type, container cluster version, cluster control node specifications, cluster worker node specifications, number of cluster control nodes, number of cluster worker nodes, etc. By abstractly describing container cluster parameters with the preset configuration language, the differences in various cloud service resources are shielded, making the underlying details transparent to users. Refer to Table 1, which is a schematic table of the preset configuration language.

[0060] Table 1:

[0061] Field Name Field Type Field Description cluster_name String Container Cluster Name cluster_type String Container Cluster Type cluster_tag String Container Cluster Version master_flavor Object Cluster Control Node Specification worker_flavor Object Cluster Worker Node Specification infra Object Cloud Environment Information

[0062] In a specific implementation, the preset configuration language is a cluster metadata description in yaml format. A complete data representation in this embodiment is as follows:

[0063]

[0064]

[0065] Specifically, the container cluster operations include creating a container cluster, destroying a container cluster, obtaining the status of a container cluster, expanding a container cluster, and shrinking a container cluster.

[0066] Furthermore, the cluster orchestration image 30 is further configured to record the operation results corresponding to the container cluster operations according to a preset record template; the container cluster management component 10 is further configured to obtain the operation results and feedback the operation results to the client.

[0067] It should be noted that the preset record template is used to uniformly and abstractly record the life cycle of the container cluster, including but not limited to: in creation, creation successful, creation failed, in destruction, destroyed. The cluster orchestration image 30 writes the operation results in a unified format to the log service, and the container cluster management component 10 obtains the operation results corresponding to the container cluster operation requests from the log service and feeds them back to the client.

[0068] Reference Figure 2 , Figure 2 is a schematic architecture diagram of the container cluster management system provided by the present invention; the client submits a unified container cluster request through the REST API interface provided by the container cluster management component 10. Among them, the container cluster request includes the basic information of the operation. The container cluster management component 10 performs container cluster preset configuration language conversion according to the container cluster information carried in the client request, and then passes the converted container cluster parameters to the cluster orchestration image 30. When the cluster orchestration image 30 works, it uses an internal interpreter to parse the container cluster parameters, and then calls the executor to interact with the cloud environment to execute the container cluster operation in the cloud environment.

[0069] The system proposed in this embodiment includes a container cluster management component, a cluster orchestration image, and a container cluster; when the container cluster management component receives a container cluster operation request issued by the client, it determines the corresponding container cluster parameters according to the container cluster operation request, and sends a scheduling request to the container cluster; the container cluster starts the cluster orchestration image in the form of a container according to the scheduling request; the cluster orchestration image receives the container cluster parameters sent by the container cluster management component, interacts with the corresponding cloud environment according to the container cluster parameters, and executes the corresponding container cluster operation in the cloud environment. Through the above method, the container cluster management component is used to manage the entire life cycle of the container cluster in the multi-cloud environment. The container cluster starts the cluster orchestration image under the scheduling of the container cluster management component. The cluster orchestration image selects the corresponding cloud environment from the multi-cloud environment according to the container cluster parameters to interact and execute the corresponding container cluster operation, realizing the unified management of the container cluster in the multi-cloud environment.

[0070] Based on the above embodiment, Figure 3 is a schematic flowchart of the second embodiment of the container cluster management method provided by the present invention;

[0071] As Figure 3 shown, the container cluster management component 10 is further configured to provide application program interfaces 40 corresponding to different container cluster operations to the client, and receive the container cluster operation request issued by the client based on the application program interface 40.

[0072] In a specific implementation, an API (application program interface 40) is provided in a unified abstract format for the client to call; preferably, the API can be a REST API or a Web Service; the application program interfaces 40 corresponding to different container cluster operations include: an API for creating a container cluster in the cloud environment; an API for destroying a container cluster in the cloud environment; an API for obtaining the status of a container cluster; preferably, an API for expanding a container cluster in the cloud environment; preferably, an API for shrinking a container cluster in the cloud environment.

[0073] In one embodiment, the container cluster management component 10 is further configured to, when receiving a plurality of target container cluster operation requests based on a plurality of application programming interfaces 40, respectively determine target container cluster parameters corresponding to each of the target container cluster operation requests, and send a plurality of target scheduling requests to the base container cluster 20;

[0074] The base container cluster 20 is further configured to start a plurality of cluster orchestration images 30 in the form of containers according to the plurality of target scheduling requests;

[0075] The cluster orchestration image 30 is further configured to interact with a corresponding target cloud environment according to the received target container cluster parameters, and perform a corresponding target container cluster operation in the target cloud environment.

[0076] It should be noted that the container cluster management component 10 in this embodiment can schedule a plurality of cluster orchestration images 30 at the same time, allocate the target container cluster parameters corresponding to each target container cluster operation request to different cluster orchestration images 30, and each cluster orchestration image 30 starts a corresponding cloud environment driver 70 according to the obtained target container cluster parameters, interacts with the corresponding target cloud environment, and performs the target container cluster operation corresponding to the target container cluster operation request.

[0077] Refer to Figure 4 , Figure 4 is a schematic diagram of the container cluster management component of the container cluster management system provided by the present invention; the container cluster management component 10 in this embodiment is a Java middleware developed using Spring Boot technology, which provides an access interface to the user side in the form of a REST API, and mainly includes:

[0078] Provides a REST API for creating a container cluster in a unified abstract data format;

[0079] Provides a REST API for obtaining the status of a container cluster in a unified abstract data format;

[0080] Provides a REST API for destroying a container cluster in a unified abstract data format;

[0081] Preferably, provides a REST API for expanding a container cluster in a unified abstract data format;

[0082] Preferably, provides a REST API for scaling down a container cluster in a unified abstract data format.

[0083] Converts the container cluster operation request received by the REST API into a high-level configuration language and then sends it to the container running the cluster orchestration image 30;

[0084] Use a unified log storage system to obtain the final container cluster operation result output by the container running the cluster orchestration image 30.

[0085] The container cluster management system of this embodiment includes: a container cluster management component, a cluster orchestration image, and a container cluster; the container cluster management component provides application program interfaces corresponding to different container cluster operations to the client, receives container cluster operation requests sent by the client based on the application program interfaces, determines corresponding container cluster parameters according to the container cluster operation requests, and sends a scheduling request to the container cluster; the container cluster starts the cluster orchestration image in the form of a container according to the scheduling request; the cluster orchestration image receives the container cluster parameters passed in by the container cluster management component, interacts with the corresponding cloud environment according to the container cluster parameters, and executes corresponding container cluster operations in the cloud environment. Through the above method, the container cluster management component provides a unified and abstract application program interface to the client, eliminates the burden of building tools, receives container cluster operation requests through the application program interface, invokes the container cluster to start the cluster orchestration image, and the cluster orchestration image selects the corresponding cloud environment from the multi-cloud environment according to the container cluster parameters for interaction and executes corresponding container cluster operations, realizing the unified management of the container cluster in the multi-cloud environment, and the container cluster infrastructure is code.

[0086] Based on the above embodiment, Figure 5 It is a schematic flowchart of the third embodiment of the container cluster management method provided by the present invention;

[0087] As Figure 5 shown, the cluster orchestration image 30 includes an interpreter 50, an executor 60, and a cloud environment driver 70 for the multi-cloud environment;

[0088] The interpreter 50 is used to convert the container cluster parameters into a resource description file.

[0089] In this embodiment, the interpreter 50 parses the container cluster parameters configured by the container cluster management component 10 according to the preset configuration language and converts them into a resource description file in the cloud environment.

[0090] The executor 60 is used to start the corresponding target cloud environment driver 70 according to the resource description file, interact with the corresponding cloud environment through the target cloud environment driver 70, and execute corresponding container cluster operations in the cloud environment.

[0091] It should be noted that the multi-cloud environment can include self-built OpenStack cloud environments, Huawei public cloud environments, Alibaba Cloud environments, Amazon cloud environments, etc., and can also be multi-cloud environments corresponding to different functions. OpenStack is an open-source cloud computing management platform project, a combination of a series of software open-source projects, providing scalable and elastic cloud computing services for private and public clouds, and providing the infrastructure resources required for the container cluster in this embodiment.

[0092] It should be understood that in this embodiment, Kubernetes is used to create the base container cluster 20. Kubernetes is an open-source container orchestration engine by Google, supporting automated deployment, large-scale scalability, and application containerization management. Terraform is used as the executor 60 for the cluster orchestration image 30. Terraform is an open-source tool that can create, change, and improve infrastructure safely and predictably. The cloud environment driver 70 is a driver provided for Terraform to call cloud platform resources. In this embodiment, it includes OpenStack cloud drivers, Huawei cloud drivers, Alibaba Cloud drivers, and so on.

[0093] In specific implementation, the cluster orchestration image 30 in this embodiment is implemented using Docker images, and it internally contains the interpreter 50 and the executor 60 in this embodiment. The interpreter 50 is a script program developed using the Python language, which obtains relevant information about the container cluster operations when the container is running. Its main information includes the container cluster operation type and cloud environment information; the executor 60 is implemented using the open-source software Terraform, and it internally contains the specific cloud environment driver 70.

[0094] Refer to Figure 6 , Figure 6 is a schematic diagram of the cluster orchestration image of the container cluster management system provided by the present invention; the cluster orchestration image 30 respectively includes Huawei cloud drivers, Alibaba Cloud drivers, and OpenStack cloud drivers; the executor 60 Terraform uses the corresponding cloud environment driver 70 to communicate with Huawei Cloud, Alibaba Cloud, and OpenStack to perform actual container cluster operations on the cloud environment.

[0095] After the cluster orchestration image 30 of this embodiment completes the container cluster operations on the relevant cloud environment, it saves the unified abstract description of the metadata information of the operated cluster in the unified operation log for the container cluster management component 10 to obtain the operation results and information of the container cluster. Optionally, in other embodiments, the cluster orchestration image 30 can also use other methods to feedback the results to the container cluster management component 10, such as databases, message middleware, etc. The unified abstract container cluster metadata information agreed upon between the cluster orchestration image 30 and the container cluster management component 10 in this embodiment includes: cluster name, job cluster type, job cluster access address, and authentication information for accessing the job cluster.

[0096] In one embodiment, referring to Figure 7 , Figure 7 is a schematic diagram of the resource creation process of the executor of the container cluster management system provided by the present invention; the container cluster management component 10 of this embodiment receives a container cluster creation request sent by the client through the API, schedules the base container cluster 20 to start the cluster orchestration image 30, the interpreter 50 of the cluster orchestration image 30 configures the resource description file according to the relevant parameters for creating the container cluster, and the executor 60 calls the cloud environment driver 70 according to the resource description file to perform the corresponding resource creation operation in the corresponding cloud environment. When the creation is successful, the resource status data is recorded and stored in the log file.

[0097] In one embodiment, referring to Figure 8 , Figure 8 is a schematic diagram of the resource modification process of the executor of the container cluster management system provided by the present invention; the container cluster management component 10 of this embodiment receives a container cluster expansion or contraction request sent by the client through the API, schedules the base container cluster 20 to start the cluster orchestration image 30, the interpreter 50 of the cluster orchestration image 30 configures the resource description file according to the relevant parameters for expanding or contracting the container cluster, and the executor 60 calls the cloud environment driver 70 according to the resource description file to perform the corresponding resource modification operation in the corresponding cloud environment. It judges whether the modification is legal according to the resource status data. If the modification is legal, it judges whether the modification is successful. When the modification is successful, the resource status data is recorded and stored in the log file.

[0098] In one embodiment, referring to Figure 9 , Figure 9Schematic diagram of the resource destruction process of the executor of the container cluster management system provided by the present invention; the container cluster management component 10 of this embodiment receives a container cluster destruction request issued by the client through an API, schedules the base container cluster 20 to start the cluster orchestration image 30, the interpreter 50 of the cluster orchestration image 30 configures the resource description file according to the relevant parameters of the container cluster destruction, the executor 60 calls the cloud environment driver 70 according to the resource description file, executes the corresponding resource destruction operation in the corresponding cloud environment, and records the resource status data in the log file when the destruction is successful.

[0099] Reference Figure 10 , Figure 10 The present invention provides a workflow diagram of a container cluster management system; the container cluster management component in this embodiment receives a container cluster operation request submitted by a client through a REST API, converts the client request into a unified high-level configuration language, obtains a cluster orchestration image of a cloud environment from a cluster orchestration image group, passes the converted high-level configuration language to the obtained cluster orchestration image, and submits it to a base container cluster; the base container cluster in this embodiment creates a container that runs the cluster orchestration image, and simultaneously passes in parameters such as the high-level configuration language; after the container of the cluster orchestration image in this embodiment runs, an internal interpreter is used to uniformly interpret the passed-in container cluster operation request parameters, converts them into a resource description file, starts an executor in the container using the converted resource description file, communicates with the cloud environment according to the corresponding cloud environment driver, and performs specific container cluster operations on the cloud environment; after the operation is completed, the executor of the cluster orchestration image in this embodiment stores the relevant information of the container cluster in the cloud environment and the operation results in a log file according to a pre-agreed data structure; the container cluster management component in this embodiment obtains the result and relevant information of the container cluster operation from the log, and feeds back to the client.

[0100] In this embodiment, the base container cluster 20 is an open source Kubernetes cluster, and the container cluster management component 10 initiates a request to the base container cluster 20 to run the cluster orchestration image 30 through the REST API; after receiving the request, the base container cluster 20 creates a corresponding container and mounts the log file system into the container for the cluster orchestration image 30 to write logs when it is running. In this embodiment, the log information recorded by the cluster orchestration image 30 after executing the container cluster operation in the cloud environment is in the general yaml format, which is used by the container cluster management component 10 to obtain the container cluster operation results. The log information is expressed as follows:

[0101] cluster_name:some cluster name

[0102] cluster_id: 2f0b6b45 - a487 - 4dcd - 882b - f2a319ff1d1d

[0103] host: https: / / x.x.x.x:6443

[0104] token: xxxxxx

[0105] The container cluster management system of this embodiment includes: a container cluster management component, a cluster orchestration image, and a container cluster; when the container cluster management component receives a container cluster operation request sent by a client, it determines corresponding container cluster parameters according to the container cluster operation request, and sends a scheduling request to the container cluster; the container cluster starts the cluster orchestration image in the form of a container according to the scheduling request; the cluster orchestration image includes an interpreter, an executor, and a cloud environment driver for a multi - cloud environment; the interpreter converts the container cluster parameters into a resource description file; the executor starts the corresponding target cloud environment driver according to the resource description file, interacts with the corresponding cloud environment through the target cloud environment driver, and executes the corresponding container cluster operation in the cloud environment. In the above - mentioned manner, the differences between different cloud environments are eliminated, and container clusters are created and managed in a unified manner within different cloud environments, so that the client does not perceive the differences in the multi - cloud environment during the process of requesting container cluster operations.

[0106] The system embodiments described above are merely illustrative. The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed to multiple network units. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art can understand and implement it without creative effort.

[0107] Refer to Figure 11 , Figure 11 which is a schematic flowchart of the first embodiment of the container cluster management method provided by the present invention.

[0108] As Figure 11 shown, the container cluster management method proposed in the embodiments of the present invention is applied to the container cluster management system described above. The container cluster management system includes: a container cluster management component, a cluster orchestration image, and a base container cluster;

[0109] The container cluster management method includes:

[0110] Step S10: When the container cluster management component receives a container cluster operation request sent by a client, it determines corresponding container cluster parameters according to the container cluster operation request, and sends a scheduling request to the base container cluster.

[0111] Step S20: The base container cluster starts the cluster orchestration image in the form of a container according to the scheduling request.

[0112] Step S30: The cluster orchestration image receives the container cluster parameters passed in by the container cluster management component, interacts with the corresponding cloud environment according to the container cluster parameters, and performs corresponding container cluster operations in the cloud environment.

[0113] The system proposed in this embodiment includes a container cluster management component, a cluster orchestration image, and a base container cluster; when the container cluster management component receives a container cluster operation request sent by a client, it determines corresponding container cluster parameters according to the container cluster operation request and sends a scheduling request to the base container cluster; the base container cluster starts the cluster orchestration image in the form of a container according to the scheduling request; the cluster orchestration image receives the container cluster parameters sent by the container cluster management component, interacts with the corresponding cloud environment according to the container cluster parameters, and performs corresponding container cluster operations in the cloud environment. In the above manner, the container cluster management component is used to manage the entire life cycle of the container cluster in a multi-cloud environment. The base container cluster starts the cluster orchestration image under the scheduling of the container cluster management component. The cluster orchestration image selects the corresponding cloud environment from the multi-cloud environment according to the container cluster parameters for interaction and performs corresponding container cluster operations, realizing the unified management of the container cluster in the multi-cloud environment.

[0114] Further, before the container cluster management component determines corresponding container cluster parameters according to the container cluster operation request when receiving the container cluster operation request sent by the client, the method further includes: the container cluster management component provides application program interfaces corresponding to different container cluster operations to the client, and receives the container cluster operation request sent by the client based on the application program interfaces.

[0115] Further, the method further includes: when the container cluster management component receives multiple target container cluster operation requests based on multiple application program interfaces, it respectively determines target container cluster parameters corresponding to each of the target container cluster operation requests, and sends multiple target scheduling requests to the base container cluster; the base container cluster starts multiple cluster orchestration images in the form of containers according to the multiple target scheduling requests; the cluster orchestration image interacts with the corresponding target cloud environment according to the received target container cluster parameters and performs corresponding target container cluster operations in the target cloud environment.

[0116] Further, the container cluster management component determines corresponding container cluster parameters according to the container cluster operation request, including: the container cluster management component extracts container cluster metadata from the container cluster operation request, and abstractly describes the container cluster metadata according to a preset configuration language to obtain container cluster parameters.

[0117] Further, the cluster orchestration image includes an interpreter, an executor, and a cloud environment driver for a multi-cloud environment;

[0118] The step S30 includes: the interpreter converts the container cluster parameters into a resource description file; the executor starts the corresponding target cloud environment driver according to the resource description file, interacts with the corresponding cloud environment through the target cloud environment driver, and executes the corresponding container cluster operation in the cloud environment.

[0119] Further, the container cluster operations include creating a container cluster, destroying a container cluster, obtaining the status of a container cluster, scaling out a container cluster, and scaling in a container cluster.

[0120] Further, after the step S30, the method further includes:

[0121] The cluster orchestration image records the operation results corresponding to the container cluster operations according to a preset record template;

[0122] The container cluster management component obtains the operation results and feeds the operation results back to the client.

[0123] Through the description of the above embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, also by hardware. Based on such an understanding, the above technical solutions in essence or the part that contributes to the prior art can be embodied in the form of a software product, which can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several commands for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0124] Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: they can still modify the technical solutions described in the foregoing embodiments, or perform equivalent replacements for some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of each embodiment of the present invention.

Claims

1. A container cluster management system, characterized in that, the container cluster management system includes: a container cluster management component, a cluster orchestration image, and a base container cluster; the container cluster management component is used for, when receiving a container cluster operation request sent by a client, determining corresponding container cluster parameters according to the container cluster operation request, and sending a scheduling request to the base container cluster; the base container cluster is used for starting the cluster orchestration image in the form of a container according to the scheduling request; the cluster orchestration image is used for receiving the container cluster parameters passed in by the container cluster management component, interacting with the corresponding cloud environment according to the container cluster parameters, and performing corresponding container cluster operations in the cloud environment; wherein, the cluster orchestration image includes an interpreter, an executor, and cloud environment drivers for multiple cloud environments; the interpreter is used for converting the container cluster parameters into a resource description file; the executor is used for starting the corresponding target cloud environment driver according to the resource description file, interacting with the corresponding cloud environment through the target cloud environment driver, and performing corresponding container cluster operations in the cloud environment.

2. The container cluster management system according to claim 1, characterized in that, the container cluster management component is further used for providing application program interfaces corresponding to different container cluster operations to the client, and receiving the container cluster operation request sent by the client based on the application program interfaces.

3. The container cluster management system according to claim 2, characterized in that, the container cluster management component is further used for, when receiving multiple target container cluster operation requests based on multiple application program interfaces, respectively determining target container cluster parameters corresponding to each of the target container cluster operation requests, and sending multiple target scheduling requests to the base container cluster; the base container cluster is further used for starting multiple cluster orchestration images in the form of containers according to the multiple target scheduling requests; the cluster orchestration image is further used for interacting with the corresponding target cloud environment according to the received target container cluster parameters, and performing corresponding target container cluster operations in the target cloud environment.

4. The container cluster management system according to claim 1, characterized in that, the container cluster management component is further used for extracting container cluster metadata from the container cluster operation request, and abstractly describing the container cluster metadata according to a preset configuration language to obtain container cluster parameters.

5. The container cluster management system according to claim 1, characterized in that, the container cluster operations include creating a container cluster, destroying a container cluster, obtaining the status of a container cluster, expanding a container cluster, and shrinking a container cluster.

6. The container cluster management system according to claim 1, characterized in that, the cluster orchestration image is further used for recording the operation result corresponding to the container cluster operation according to a preset record template; the container cluster management component is further used for obtaining the operation result and feeding back the operation result to the client.

7. A container cluster management method, characterized in that, The container cluster management method is applied to the container cluster management system as described in any one of claims 1-6. The container cluster management system includes: a container cluster management component, a cluster orchestration image, and a base container cluster; The container cluster management method includes: When receiving a container cluster operation request issued by a client, the container cluster management component determines corresponding container cluster parameters according to the container cluster operation request, and sends a scheduling request to the base container cluster; The base container cluster starts the cluster orchestration image in the form of a container according to the scheduling request; The cluster orchestration image receives the container cluster parameters passed in by the container cluster management component, interacts with the corresponding cloud environment according to the container cluster parameters, and executes corresponding container cluster operations in the cloud environment; Wherein, the cluster orchestration image includes an interpreter, an executor, and cloud environment drivers for multiple cloud environments. The cluster orchestration image receives the container cluster parameters passed in by the container cluster management component, interacts with the corresponding cloud environment according to the container cluster parameters, and executes corresponding container cluster operations in the cloud environment, including: The interpreter converts the container cluster parameters into a resource description file; The executor starts the corresponding target cloud environment driver according to the resource description file, interacts with the corresponding cloud environment through the target cloud environment driver, and executes corresponding container cluster operations in the cloud environment.

8. The container cluster management method according to claim 7, wherein, Before the container cluster management component determines corresponding container cluster parameters according to the container cluster operation request when receiving the container cluster operation request issued by the client, the method further includes: The container cluster management component provides application program interfaces corresponding to different container cluster operations to the client, and receives the container cluster operation request issued by the client based on the application program interfaces.

9. The container cluster management method according to claim 8, wherein, The method further includes: When the container cluster management component receives multiple target container cluster operation requests based on multiple application program interfaces, it respectively determines target container cluster parameters corresponding to each of the target container cluster operation requests, and sends multiple target scheduling requests to the base container cluster; The base container cluster starts multiple cluster orchestration images in the form of containers according to the multiple target scheduling requests; The cluster orchestration image interacts with the corresponding target cloud environment according to the received target container cluster parameters, and executes corresponding target container cluster operations in the target cloud environment.

Citation Information

Patent Citations

  • Method for deploying container cloud on OpenStack, storage medium, electronic equipment and system

    CN109656686A

  • Container cluster management method, device and system, electronic equipment and storage medium

    CN113687912A