A cloud resource orchestration method, device, equipment and storage medium

Through cloud resource orchestration methods, utilizing Helm components and the CRD mechanism of Kubernetes, the problems of passive response and lack of automation in infrastructure operation and maintenance management are solved, fast, flexible and secure infrastructure management is achieved, and resource utilization and response speed are improved.

CN114020448BActive Publication Date: 2025-09-12GUANGDONG INSPUR BIG DATA RES CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111154242.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-29
Publication Date
2025-09-12
Estimated Expiration
2041-09-29

AI Technical Summary

Technical Problem

The existing infrastructure operation and maintenance management suffers from passive response, lack of automation connection and disconnection with product teams, resulting in low resource utilization and untimely response.

Method used

Through cloud resource orchestration methods, utilizing Helm components and the CRD mechanism of Kubernetes, we can achieve management of various new cloud resource types and infrastructure coding, supporting unattended automated resource deployment.

Benefits of technology

It achieves fast, flexible and secure infrastructure management, improves resource utilization and response speed, reduces manual operations, and supports dynamic environment creation and automatic disaster recovery.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114020448B_ABST
    Figure CN114020448B_ABST
Patent Text Reader

Abstract

The present application discloses a cloud resource orchestration method, apparatus, device and storage medium. The method includes: displaying cloud resources and PaaS services through a cloud resource orchestration visualization service, and obtaining the resource orchestration configuration of the cloud resources and PaaS services by the user through visual orchestration to obtain an orchestration file; based on the orchestration file, using the Helm component to generate a corresponding Helmchart file; judging the resource type of the resource to be deployed based on the resource information in the Helmchart file; the resource type includes Kubernetes built-in resources and CRD extended resources; executing the corresponding resource scheduling operation according to the resource type through the execution engine of the Helm component to generate the corresponding underlying resources in the Kubernetes deployment; the resource scheduling operation includes the operation of docking the cloud platform of the target service using the CRD mechanism corresponding to the CRD extended resource. It can realize the management of various cloud resource types and the coding of infrastructure in Kubernetes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of resource orchestration, and in particular to a cloud resource orchestration method, apparatus, device and storage medium. Background Art

[0002] Modern software development places increasingly stringent demands on infrastructure management. Products need to adapt to a rapidly changing market, requiring infrastructure to be more responsive. The promotion of continuous delivery and DevOps requires product teams to have greater autonomy over deployment and operations. Furthermore, the rapid advancement and evolution of technology necessitates frequent changes in infrastructure configuration. In this rapidly changing landscape, infrastructure must be both flexible and secure and reliable. Existing infrastructure operations management suffers from the following issues: a. Reactive response: Product teams obtain server resources through a request-based system, which involves multiple approval processes and requires waiting for implementation by the operations team, resulting in delayed response times. b. Lack of automation: While some automation exists, it is not fully automated, requiring ad hoc intervention. Due to the high cost of releasing and recreating environments, there is a tendency to not release them, resulting in low resource utilization. c. Disconnected from product teams, it is difficult to dynamically add environments based on demand. Additional documentation is required to describe environments, which can be out of date. Furthermore, product teams must manage environment definition scripts in addition to the project code itself. Summary of the Invention

[0003] In view of this, the purpose of the present invention is to provide a cloud resource orchestration method, apparatus, device, and medium that can enable Kubernetes to manage various new cloud resource types and code infrastructure. The specific solution is as follows:

[0004] In a first aspect, the present application discloses a cloud resource orchestration method, comprising:

[0005] Display cloud resources and PaaS services through cloud resource orchestration visualization services, and obtain resource orchestration configurations of the cloud resources and PaaS services by users through visualization orchestration to obtain orchestration files;

[0006] Based on the orchestration file, use the Helm component to generate the corresponding Helmchart file;

[0007] Determine the resource type of the resources to be deployed based on the resource information in the Helmchart file; the resource types include Kubernetes built-in resources and CRD extended resources;

[0008] The execution engine of the Helm component performs corresponding resource scheduling operations according to the resource type to generate corresponding underlying resources in the Kubernetes deployment; the resource scheduling operations include operations corresponding to the CRD extended resources using the CRD mechanism to connect to the cloud platform of the target service.

[0009] Optionally, generating a corresponding Helmchart file based on the orchestration file using the Helm component includes:

[0010] After receiving the orchestration deployment instructions sent by the user, the Helm component is called in a RESTful manner;

[0011] The Helm component is used to convert the orchestration file saved in the JSON format in the database into a YAML format file to obtain the Helmchart file.

[0012] Optionally, the cloud resource orchestration method further includes:

[0013] Monitor cloud resource status changes and resource audit information through the webhook mechanism; the resource audit information includes interface call information;

[0014] Manage the lifecycle of Helmchart through the Helm chart repository.

[0015] Optionally, the process of generating corresponding underlying resources during Kubernetes deployment also includes:

[0016] Obtain business information generated during resource deployment;

[0017] The open application programming interface of the cloud resource orchestration visualization service is called through pre-configured Helm chart hooks to write the business information into the corresponding business system.

[0018] Optionally, obtaining the resource orchestration configuration of the cloud resources and PaaS services by the user through visual orchestration includes:

[0019] Obtain the dependency configuration between the cloud resources and PaaS services, as well as the basic parameter configuration of the cloud resources and PaaS services, configured by the user through visual orchestration; the basic parameter configuration includes virtual machine specifications, network information, and script information executed by the deployment software.

[0020] Optionally, the execution engine of the Helm component performs corresponding resource scheduling operations according to the resource type to generate corresponding underlying resources in the Kubernetes deployment, including:

[0021] If the resource to be deployed is a kubernetes built-in resource, the execution engine is used to generate a deployment file corresponding to the Helmchart file;

[0022] The deployment file is sent to the Kubernetes so that the Kubernetes automatically deploys the corresponding underlying resources according to the deployment file.

[0023] Optionally, the execution engine of the Helm component performs corresponding resource scheduling operations according to the resource type to generate corresponding underlying resources in the Kubernetes deployment, including:

[0024] If the resource to be deployed is a CRD extension resource, the preset service orchestration control plane interface is called;

[0025] The service orchestration control plane extracts data information related to the resources to be deployed from the Helmchart file and calls relevant cloud platform interfaces to generate corresponding underlying resources in Kubernetes deployment.

[0026] In a second aspect, the present application discloses a cloud resource orchestration device, comprising:

[0027] A cloud resource orchestration visualization module is used to display cloud resources and PaaS services through a cloud resource orchestration visualization service, and obtain resource orchestration configurations of the cloud resources and PaaS services by the user through visualization orchestration to obtain an orchestration file;

[0028] A Helmchart file generation module, configured to generate a corresponding Helmchart file based on the orchestration file using the Helm component;

[0029] A resource type determination module is used to determine the resource type of the resource to be deployed based on the resource information in the Helmchart file; the resource type includes Kubernetes built-in resources and CRD extended resources;

[0030] The resource scheduling module is used to perform corresponding resource scheduling operations according to the resource type through the execution engine of the Helm component to generate corresponding underlying resources in the Kubernetes deployment; the resource scheduling operations include operations corresponding to the CRD extended resources that use the CRD mechanism to connect to the cloud platform of the target service.

[0031] In a third aspect, the present application discloses an electronic device, comprising:

[0032] Memory, used to store computer programs;

[0033] The processor is configured to execute the computer program to implement the aforementioned cloud resource orchestration method.

[0034] In a fourth aspect, the present application discloses a computer-readable storage medium for storing a computer program; wherein the computer program implements the aforementioned cloud resource orchestration method when executed by a processor.

[0035] In this application, cloud resources and PaaS services are displayed through a cloud resource orchestration visualization service, and the user's resource orchestration configuration of the cloud resources and PaaS services through visual orchestration is obtained to obtain an orchestration file; based on the orchestration file, a corresponding Helmchart file is generated using the Helm component; the resource type of the resource to be deployed is determined according to the resource information in the Helmchart file; the resource type includes Kubernetes built-in resources and CRD extended resources; the execution engine of the Helm component performs corresponding resource scheduling operations according to the resource type to generate corresponding underlying resources in the Kubernetes deployment; the resource scheduling operations include operations corresponding to the CRD extended resources that use the CRD mechanism to connect to the cloud platform of the target service. It can be seen that for CRD extended resources, by utilizing the CRD mechanism of Kubernetes to extend the interface to connect to the cloud platform of the target service, Kubernetes can support various new types of cloud resources and manage multiple underlying resources, so that Kubernetes no longer only supports containerized resources. At the same time, according to the orchestration file obtained by resource orchestration and configuration of cloud resources and PaaS services, the Helm component is used to generate the Helmchart file corresponding to the orchestration file, which can realize the dependency management of the underlying cloud resource instances and configurations to realize the infrastructure coding capability, and the deployment process does not require human operation and can realize unattended automated resource deployment. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are merely embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying any creative work.

[0037] Figure 1 A flow chart of a cloud resource orchestration method provided in this application;

[0038] Figure 2 A schematic diagram of the resource arrangement and configuration of a specific cloud resource and service provided for this application;

[0039] Figure 3A diagram of the dependency relationships between specific cloud resources and services provided for this application;

[0040] Figure 4 A schematic diagram of the cloud resource orchestration system architecture provided for this application;

[0041] Figure 5 A flowchart of a specific cloud resource orchestration method provided for this application;

[0042] Figure 6 A schematic diagram of the structure of a cloud resource orchestration device provided in this application;

[0043] Figure 7 This is a structural diagram of an electronic device provided in this application. DETAILED DESCRIPTION

[0044] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative efforts shall fall within the scope of protection of the present invention.

[0045] In the existing technology, infrastructure operation and maintenance management has problems such as passive response, lack of automation connection, and disconnection with product teams. To overcome the above technical problems, this application proposes a cloud resource orchestration method based on Helm, which uses the CRD mechanism of Kubernetes to extend the interface to connect to the cloud platform of the target service, and can enable Kubernetes to manage various new types of cloud resources. It also obtains an orchestration file based on the resource orchestration configuration of cloud resources and PaaS (Platform as a Service) services, and uses the Helm component to generate a Helmchart file corresponding to the orchestration file to realize the coding of infrastructure.

[0046] This application embodiment discloses a cloud resource arrangement method, see Figure 1 As shown, the method may include the following steps:

[0047] Step S11: displaying cloud resources and PaaS services through a cloud resource orchestration visualization service, and obtaining resource orchestration configuration of the cloud resources and PaaS services by the user through visualization orchestration to obtain an orchestration file.

[0048] In this embodiment, a cloud resource orchestration visualization service created using resource visualization technology displays cloud resources and PaaS services, obtains user resource orchestration configurations for the displayed cloud resources and PaaS services, and obtains an orchestration file. Under the cloud resource orchestration visualization service, users can implement resource orchestration configuration by dragging and dropping. That is, the cloud resource orchestration visualization service provides services such as cloud resource and PaaS service display, visual editing of cloud resource and PaaS service dependency relationships, and display of cloud resource and PaaS service dependency graph relationships, thereby improving the user's efficiency in resource orchestration configuration and user experience. Among them, the above-mentioned PaaS services include but are not limited to Redis clusters, MariaDB (database management system), etc., and cloud resources include computing, networking, servers, storage, application software, and services, such as CDN (Content Delivery Network), object storage, and cloud hosts purchased from manufacturers.

[0049] In this embodiment, obtaining the resource orchestration configuration of the cloud resources and PaaS services by the user through visual orchestration may include: obtaining the dependency configuration between the cloud resources and PaaS services by the user through visual orchestration, as well as the basic parameter configuration of the cloud resources and PaaS services; the basic parameter configuration includes virtual machine specifications, network information, and script information executed by the deployment software.

[0050] In this embodiment, obtaining the dependency relationship configuration between the cloud resources and the PaaS service through visual orchestration by the user may include: monitoring the dragging and connection operations of the user on the target resource in the cloud resources and the target service in the PaaS service through visual orchestration; and generating the dependency relationship configuration between the cloud resources and the PaaS service according to the dragging and connection operations. Figure 2 As shown in the figure, in order to deploy and generate MariaDB, the user first installs the cloud host on the master node through visual orchestration. The cloud host can be dragged to the master node to create a cloud host on the master node. Then, the relational database management system (MySQL) is downloaded and installed on the cloud host of the master node by dragging and dropping. Similarly, a standby node cloud host is created and the master node cloud host is connected to the standby node cloud host through the port to generate the following: Figure 3 The dependency relationship of MariaDB deployment is shown, where the master node software download depends on the master node having a cloud host installed, the master node software installation depends on the master node having a cloud host and master node software download installed, and the standby node software download depends on the standby node having a cloud host installed.

[0051] Step S12: Based on the orchestration file, use the Helm component to generate a corresponding Helmchart file.

[0052] In this embodiment, after obtaining the orchestration file, the Helm component is used to generate the corresponding Helmchart file. The Helmchart file is used to encapsulate the YAML (YAML Ain't Markup Language) file of the Kubernetes native application. When deploying the application, some metadata of the application can be customized to facilitate the distribution of the application.

[0053] In this embodiment, the Helm component is used to generate the corresponding Helmchart file based on the orchestration file, which may include: after obtaining the orchestration deployment instruction sent by the user, calling the Helm component through the RESTful (Representational State Transfer) method; using the Helm component, converting the orchestration file saved in the database in JSON (JavaScript Object Notation, JS object notation) format into a YAML format file to obtain the Helmchart file. It can be understood that the designed orchestration file is saved in the database in JSON format. After obtaining the orchestration deployment instruction sent by the user, for example Figure 4 As shown, the Helm component is called in a RESTful manner, and then the Helm component is used to convert the orchestration file saved in JSON format in the database into a YAML format file to obtain a Helmchart file including the final state information of the desired resources, configuration information, and the relationship between resources.

[0054] Step S13: Determine the resource type of the resources to be deployed based on the resource information in the Helmchart file; the resource types include Kubernetes built-in resources and CRD extended resources.

[0055] In this embodiment, after the Helmchart file is generated, the execution engine of the Helm component determines the resource type of the resources to be deployed based on the resource information in the Helmchart file; the above resource types include Kubernetes built-in resources, that is, resources supported by Kubernetes itself, and CRD (Custom Resource Definition) extended resources, that is, resources defined by users themselves.

[0056] Step S14: The execution engine of the Helm component performs corresponding resource scheduling operations according to the resource type to generate corresponding underlying resources in the Kubernetes deployment; the resource scheduling operations include operations corresponding to the CRD extended resources that utilize the CRD mechanism to connect to the cloud platform of the target service.

[0057] In this embodiment, after determining the resource type of the resource to be deployed, the execution engine of the Helm component performs the corresponding resource scheduling operation according to the resource type. For Kubernetes built-in resources, Kubernetes can directly deploy them according to the deployment file. For CRD extended resources, the CRD mechanism of Kubernetes is used to connect to the cloud platform of the target service. For example, Figure 4 As shown, by using the Kubernetes CRD mechanism to extend the Kubernetes API, Kubernetes can support specific cloud resources, APIs (Application Programming Interfaces), and expand the types of resources that Kubernetes can orchestrate, such as VMWare, OpenStack, Alibaba Cloud, etc., where cloud resources can be called in a RESTful manner to deploy and generate underlying resources corresponding to the resource orchestration configuration designed by the user. Of course, a single resource orchestration configuration can include both Kubernetes built-in resources and CRD extended resources, or it can include only one type of resource. Therefore, by continuously expanding support for new cloud resource types with the help of the Kubernetes CRD mechanism, it is possible to quickly support various new cloud resources in the current era of rapid technological development. At the same time, the ability to support new resource pool types through expansion provides the possibility of achieving unified management of multiple clouds. Furthermore, the orchestrated files are automatically generated into Helmchart files through the Helm component. Resource scheduling and deployment are then performed based on these Helmchart files. This allows for the dynamic creation, destruction, and update of the environment required for product operation (including servers, load balancers, firewall configurations, third-party dependencies, and so on). This allows for the management of complexity in cloud resource deployment and simplified distribution, ultimately achieving infrastructure as code. Infrastructure as Code (IaC) is a method for building and managing dynamic infrastructure using new technologies. It treats the infrastructure, tools, services, and infrastructure management itself as a software system, employing software engineering practices to manage system changes in a structured and secure manner. As can be seen, the above steps manage cloud resource and PaaS service dependencies, as well as infrastructure relationships, enabling orchestration and control of cloud resources. Furthermore, when creating scalable services in a production environment, IaC can also be leveraged. For example, during peak hours, the system can automatically create and add new nodes based on the defined environment to achieve dynamic capacity expansion, and destroy them during off-peak hours. Furthermore, if monitoring detects a node failure, the system can automatically create a new node based on the defined environment to replace the failed node, achieving automatic disaster recovery and increasing resource deployment flexibility.

[0058] In this embodiment, the cloud resource orchestration method may further include: monitoring the state changes and resource audit information of cloud resources through a webhook mechanism; the resource audit information includes interface call information; and managing the lifecycle of the Helmchart through a Helm chart repository. That is, the webhook method is used to actively record the state changes and resource audit information of the entire lifecycle of the resource. The resource audit information may include but is not limited to the call information of each interface. Webhook is one of the usage paradigms of microservice APIs and is also called a reverse API, that is, the front end does not actively send requests, but is completely pushed by the back end. At the same time, the Helm chart repository is used to manage the lifecycle of the Helmchart, such as editing and other operations.

[0059] In this embodiment, the process of generating corresponding underlying resources during Kubernetes deployment may also include: obtaining business information generated during resource deployment; calling the open application programming interface of the cloud resource orchestration visualization service through pre-configured Helm chart hooks to write the business information into the corresponding business system. Figure 4 As shown in the figure, the relevant business information generated during the resource deployment process can be written to the business system by extending the Helm chart hooks to call back the open application programming interface (OpenAPI) of the cloud resource orchestration visualization service.

[0060] As can be seen from the above, in this embodiment, cloud resources and PaaS services are displayed through cloud resource orchestration visualization services, and the user's resource orchestration configuration of the cloud resources and PaaS services through visual orchestration is obtained to obtain an orchestration file; based on the orchestration file, the corresponding Helmchart file is generated using the Helm component; the resource type of the resources to be deployed is determined according to the resource information in the Helmchart file; the resource types include Kubernetes built-in resources and CRD extended resources; the execution engine of the Helm component performs corresponding resource scheduling operations according to the resource types to generate corresponding underlying resources in the Kubernetes deployment; the resource scheduling operations include operations corresponding to the CRD extended resources that use the CRD mechanism to connect to the cloud platform of the target service. It can be seen that for CRD extended resources, by utilizing the CRD mechanism of Kubernetes to extend the interface to connect to the cloud platform of the target service, Kubernetes can support various new types of cloud resources and manage multiple underlying resources, so that Kubernetes no longer only supports containerized resources. At the same time, according to the resource orchestration configuration of cloud resources and PaaS services, the orchestration file is obtained, and the Helm component is used to generate the Helmchart file corresponding to the orchestration file. This can realize the dependency management of the underlying cloud resource instances and configurations to realize the infrastructure coding capability, and the deployment process does not require human operation and can realize unattended automated resource deployment.

[0061] This application embodiment discloses a specific cloud resource arrangement method, see Figure 5 As shown, the method may include the following steps:

[0062] Step S21: Display cloud resources and PaaS services through cloud resource orchestration visualization service, and obtain resource orchestration configuration of the cloud resources and PaaS services by the user through visualization orchestration to obtain an orchestration file.

[0063] Step S22: Based on the orchestration file, use the Helm component to generate a corresponding Helmchart file.

[0064] Step S23: Determine the resource type of the resources to be deployed based on the resource information in the Helmchart file; the resource types include Kubernetes built-in resources and CRD extended resources.

[0065] Step S24: If the resource to be deployed is a Kubernetes built-in resource, the execution engine of the Helm component is used to generate a deployment file corresponding to the Helmchart file.

[0066] Step S25: Send the deployment file to the Kubernetes so that the Kubernetes automatically deploys the corresponding underlying resources according to the deployment file.

[0067] In this embodiment, for example Figure 4 As shown in the figure, when the resource to be deployed is a built-in Kubernetes resource, the Helm component's execution engine generates a corresponding deployment file based on the aforementioned Helmchart file. The generated deployment file is then sent directly to Kubernetes, allowing Kubernetes to automatically deploy the corresponding underlying resources based on the deployment file. In other words, if the resource is natively supported by Kubernetes, sending the deployment file directly to the Kubernetes cluster will allow Kubernetes to automatically deploy the corresponding underlying resources based on the deployment file.

[0068] Step S26: If the resource to be deployed is a CRD extension resource, the preset service orchestration control plane interface is called.

[0069] Step S27: extracting data information related to the resources to be deployed from the Helmchart file through the service orchestration control plane, and calling the relevant cloud platform interface to generate corresponding underlying resources in Kubernetes deployment.

[0070] In this embodiment, if the resource is a CRD resource, the pre-configured service orchestration control plane interface is automatically called to automatically deploy the corresponding underlying resources through the service orchestration control plane and create the corresponding service instance. The service orchestration control plane is used to achieve docking with different cloud platforms, specifically including data conversion and cloud platform interface calls. For example, if resource orchestration requires the creation of a virtual machine, the relevant image, specifications, network, and other information are extracted from the Helmchart, and then the virtual machine creation interface is called to complete the resource creation.

[0071] Among them, regarding the specific process of the above steps S21 to S23, reference can be made to the corresponding content disclosed in the above embodiments, and no further details will be given here.

[0072] As can be seen from the above, in this embodiment, if the resource to be deployed is a built-in resource of Kubernetes, the execution engine of the Helm component is used to generate a deployment file corresponding to the Helmchart file; the deployment file is sent to the Kubernetes so that the Kubernetes automatically deploys the corresponding underlying resources according to the deployment file. If the resource to be deployed is a CRD extended resource, the interface of the preset service orchestration control plane is called; the data information related to the resource to be deployed is extracted from the Helmchart file through the service orchestration control plane, and the relevant cloud platform interface is called to generate the corresponding underlying resources in the Kubernetes deployment. It can be seen that using the Helm component to perform corresponding resource scheduling for different types of resources can quickly and easily deploy various types of resources in Kubernetes, so that Kubernetes can support multiple underlying resources on the basis of the original support for only containerized resources.

[0073] Accordingly, the present application also discloses a cloud resource arrangement device, see Figure 6 As shown, the device includes:

[0074] The cloud resource orchestration visualization module 11 is used to display cloud resources and PaaS services through the cloud resource orchestration visualization service, and obtain the resource orchestration configuration of the cloud resources and PaaS services by the user through the visualization orchestration to obtain an orchestration file;

[0075] A Helmchart file generation module 12 is used to generate a corresponding Helmchart file based on the orchestration file using the Helm component;

[0076] A resource type determination module 13 is configured to determine the resource type of the resource to be deployed based on the resource information in the Helmchart file; the resource type includes Kubernetes built-in resources and CRD extended resources;

[0077] The resource scheduling module 14 is used to perform corresponding resource scheduling operations according to the resource type through the execution engine of the Helm component to generate corresponding underlying resources in the kubernetes deployment; the resource scheduling operations include operations corresponding to the CRD extended resources that use the CRD mechanism to connect to the cloud platform of the target service.

[0078] As can be seen from the above, in this embodiment, cloud resources and PaaS services are displayed through cloud resource orchestration visualization services, and the user's resource orchestration configuration of the cloud resources and PaaS services through visual orchestration is obtained to obtain an orchestration file; based on the orchestration file, the corresponding Helmchart file is generated using the Helm component; the resource type of the resources to be deployed is determined according to the resource information in the Helmchart file; the resource types include Kubernetes built-in resources and CRD extended resources; the execution engine of the Helm component performs corresponding resource scheduling operations according to the resource types to generate corresponding underlying resources in the Kubernetes deployment; the resource scheduling operations include operations corresponding to the CRD extended resources that use the CRD mechanism to connect to the cloud platform of the target service. It can be seen that for CRD extended resources, by utilizing the CRD mechanism of Kubernetes to extend the interface to connect to the cloud platform of the target service, Kubernetes can support various new types of cloud resources and manage multiple underlying resources, so that Kubernetes no longer only supports containerized resources. At the same time, according to the resource orchestration configuration of cloud resources and PaaS services, the orchestration file is obtained, and the Helm component is used to generate the Helmchart file corresponding to the orchestration file. This can realize the dependency management of the underlying cloud resource instances and configurations to realize the infrastructure coding capability, and the deployment process does not require human operation and can realize unattended automated resource deployment.

[0079] In some specific embodiments, the Helmchart file generation module 12 may specifically include:

[0080] The Helm calling unit is used to call the Helm component through RESTful after obtaining the orchestration deployment instructions sent by the user;

[0081] A Helmchart file generating unit is configured to convert the orchestration file saved in the JSON format in the database into a YAML format file using the Helm component to obtain the Helmchart file.

[0082] In some specific embodiments, the cloud resource orchestration device may specifically include:

[0083] A cloud resource monitoring unit is used to monitor the status changes of cloud resources and resource audit information through a webhook mechanism; the resource audit information includes interface call information;

[0084] The Helmchart management unit is used to manage the lifecycle of Helmchart through the Helm chart repository.

[0085] In some specific embodiments, the cloud resource orchestration device may specifically include:

[0086] A business information acquisition unit, used to acquire business information generated during resource deployment;

[0087] The business information writing unit is used to call the open application programming interface of the cloud resource orchestration visualization service through pre-configured Helm chart hooks to write the business information into the corresponding business system.

[0088] In some specific embodiments, the resource scheduling module 14 may specifically include:

[0089] The configuration information acquisition unit is used to obtain the dependency relationship configuration between the cloud resources and PaaS services, as well as the basic parameter configuration of the cloud resources and PaaS services, which are configured by the user through visual orchestration; the basic parameter configuration includes virtual machine specifications, network information, and script information executed by the deployment software.

[0090] In some specific embodiments, the cloud resource orchestration visualization module 11 may specifically include:

[0091] A deployment file generating unit, configured to generate a deployment file corresponding to the Helmchart file using the execution engine if the resource to be deployed is a Kubernetes built-in resource;

[0092] The deployment file sending unit is used to send the deployment file to the Kubernetes so that the Kubernetes automatically deploys the corresponding underlying resources according to the deployment file.

[0093] In some specific embodiments, the resource scheduling module 14 may specifically include:

[0094] An interface calling unit, configured to call a preset service orchestration control plane interface if the resource to be deployed is a CRD extension resource;

[0095] The resource deployment unit is used to extract the data information related to the resources to be deployed from the Helmchart file through the service orchestration control plane, and call the relevant cloud platform interface to generate the corresponding underlying resources in the Kubernetes deployment.

[0096] Furthermore, the present application also discloses an electronic device, see Figure 7 The contents in the drawings should not be considered as any limitation on the scope of use of the present application.

[0097] Figure 7This is a schematic diagram of the structure of an electronic device 20 provided in an embodiment of the present application. The electronic device 20 may include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. The memory 22 is used to store a computer program, which is loaded and executed by the processor 21 to implement the relevant steps of the cloud resource orchestration method disclosed in any of the aforementioned embodiments.

[0098] In this embodiment, the power supply 23 is used to provide operating voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and the external device. The communication protocol it follows is any communication protocol that can be applied to the technical solution of this application and is not specifically limited here; the input and output interface 25 is used to obtain external input data or output data to the outside world. Its specific interface type can be selected according to specific application needs and is not specifically limited here.

[0099] In addition, the memory 22, as a carrier for resource storage, can be a read-only memory, random access memory, disk or CD, etc. The resources stored thereon include an operating system 221, a computer program 222 and data 223 including arrangement files, etc. The storage method can be temporary storage or permanent storage.

[0100] The operating system 221 is used to manage and control the hardware devices and computer program 222 on the electronic device 20, so as to enable the processor 21 to calculate and process the massive data 223 in the memory 22. The operating system 221 can be Windows Server, NetWare, Unix, Linux, etc. In addition to including computer programs capable of implementing the cloud resource orchestration method performed by the electronic device 20 as disclosed in any of the aforementioned embodiments, the computer program 222 can further include computer programs capable of performing other specific tasks.

[0101] Furthermore, an embodiment of the present application also discloses a computer storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are loaded and executed by a processor, the steps of the cloud resource orchestration method disclosed in any of the aforementioned embodiments are implemented.

[0102] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from the other embodiments. Reference can be made to the descriptions of the identical or similar parts between the various embodiments. For the devices disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the descriptions are relatively simple, and the relevant parts can be referred to the descriptions of the methods.

[0103] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), internal memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.

[0104] Finally, it should be noted that, in this document, relational terms such as first and second, etc., are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or device. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or device comprising the element.

[0105] The above is a detailed introduction to the cloud resource orchestration method, device, equipment and medium provided by the present invention. Specific examples are used herein to illustrate the principles and implementation methods of the present invention. The description of the above embodiments is only used to help understand the method and core ideas of the present invention. At the same time, for those skilled in the art, according to the ideas of the present invention, there may be changes in the specific implementation methods and application scopes. In summary, the contents of this specification should not be understood as limiting the present invention.

Claims

1. A cloud resource orchestration method, characterized in that: include: Display cloud resources and PaaS services through cloud resource orchestration visualization services, and obtain resource orchestration configurations of the cloud resources and PaaS services by users through visualization orchestration to obtain orchestration files; Based on the orchestration file, use the Helm component to generate the corresponding Helmchart file; Determine the resource type of the resources to be deployed based on the resource information in the Helmchart file; the resource types include Kubernetes built-in resources and CRD extended resources; The execution engine of the Helm component performs corresponding resource scheduling operations according to the resource type to generate corresponding underlying resources in the Kubernetes deployment; the resource scheduling operations include operations corresponding to the CRD extended resources that utilize the CRD mechanism to connect to the cloud platform of the target service; The execution engine of the Helm component performs corresponding resource scheduling operations according to the resource type to generate corresponding underlying resources in the Kubernetes deployment, including: If the resource to be deployed is a CRD extension resource, the interface of the preset service orchestration control plane is called; the service orchestration control plane is used to achieve docking with different cloud platforms; the service orchestration control plane extracts data information related to the resource to be deployed from the Helmchart file, and calls the relevant cloud platform interface to generate the corresponding underlying resources in Kubernetes deployment.

2. The cloud resource orchestration method according to claim 1, wherein: Based on the orchestration file, the corresponding Helmchart file is generated using the Helm component, including: After receiving the orchestration deployment instructions sent by the user, the Helm component is called in a RESTful manner; The Helm component is used to convert the orchestration file saved in the JSON format in the database into a YAML format file to obtain the Helmchart file.

3. The cloud resource orchestration method according to claim 1, wherein: Also includes: Monitor cloud resource status changes and resource audit information through the webhook mechanism; the resource audit information includes interface call information; Manage the lifecycle of Helmchart files through the Helm chart repository.

4. The cloud resource orchestration method according to claim 1, wherein: The process of generating corresponding underlying resources during Kubernetes deployment also includes: Obtain business information generated during resource deployment; The open application programming interface of the cloud resource orchestration visualization service is called through pre-configured Helm chart hooks to write the business information into the corresponding business system.

5. The cloud resource orchestration method according to claim 1, wherein: The obtaining of the resource arrangement configuration of the cloud resources and PaaS services by the user through visual arrangement includes: Obtain the dependency configuration between the cloud resources and PaaS services, as well as the basic parameter configuration of the cloud resources and PaaS services, configured by the user through visual orchestration; the basic parameter configuration includes virtual machine specifications, network information, and script information executed by the deployment software.

6. The cloud resource orchestration method according to claim 5, characterized in that: The obtaining of the dependency relationship configuration between the cloud resources and the PaaS service by the user through visual orchestration includes: Monitoring the user's dragging and connection operations on target resources in the cloud resources and target services in the PaaS services through visual orchestration; A dependency relationship configuration between the cloud resources and the PaaS service is generated according to the dragging and connecting operations.

7. The cloud resource orchestration method according to claim 1, wherein: The execution engine of the Helm component performs corresponding resource scheduling operations according to the resource type to generate corresponding underlying resources in the Kubernetes deployment, including: If the resource to be deployed is a kubernetes built-in resource, the execution engine is used to generate a deployment file corresponding to the Helmchart file; The deployment file is sent to the Kubernetes so that the Kubernetes automatically deploys the corresponding underlying resources according to the deployment file.

8. A cloud resource orchestration device, characterized in that: include: A cloud resource orchestration visualization module is used to display cloud resources and PaaS services through a cloud resource orchestration visualization service, and obtain resource orchestration configurations of the cloud resources and PaaS services by the user through visualization orchestration to obtain an orchestration file; A Helmchart file generation module, configured to generate a corresponding Helmchart file based on the orchestration file using the Helm component; A resource type determination module is used to determine the resource type of the resource to be deployed based on the resource information in the Helmchart file; the resource type includes Kubernetes built-in resources and CRD extended resources; A resource scheduling module is configured to execute corresponding resource scheduling operations based on the resource type through the execution engine of the Helm component to generate corresponding underlying resources in the Kubernetes deployment; the resource scheduling operations include operations corresponding to the CRD extended resources that utilize the CRD mechanism to connect to the cloud platform of the target service; Among them, the resource scheduling module is used to call the interface of the preset service orchestration control plane if the resource to be deployed is a CRD extension resource; the service orchestration control plane is used to achieve docking with different cloud platforms; the service orchestration control plane extracts data information related to the resource to be deployed from the Helmchart file through the service orchestration control plane, and calls the relevant cloud platform interface to generate corresponding underlying resources in Kubernetes deployment.

9. An electronic device, characterized in that: include: Memory, used to store computer programs; A processor, configured to execute the computer program to implement the cloud resource orchestration method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that Used to store computer programs; wherein when the computer program is executed by a processor, the cloud resource orchestration method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Visual application component arrangement method and system

    CN111522543A