PaaS Service Management System, Method, Product, Device and Storage Medium

Through the design of the PaaS service management system, the analysis and association of metadata information is used to solve the problem of stateful application life cycle management in the Kubernetes environment, and the unified management of application instances is realized and the operation process is simplified.

CN119739441BActive Publication Date: 2025-06-17JINAN INSPUR DATA TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510232391.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-02-28
Publication Date
2025-06-17
Estimated Expiration
2045-02-28

AI Technical Summary

Technical Problem

The existing technology is difficult to implement unified lifecycle management of stateful applications such as Redis databases, especially in Kubernetes environments, where complex deployment logic and multiple workloads lead to increased management difficulties.

Method used

It provides a PaaS service management system, including computing plug-in templates, application instance plug-in templates, template management devices, plug-in management devices and application management devices. By analyzing and associating metadata information, it realizes unified life cycle management of application instances.

Benefits of technology

It realizes unified life cycle management for various applications, supports the installation, uninstallation, launch and removal of application instance plug-in templates, simplifies the management of PaaS instances in multi-clusters and reduces the complexity of user operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119739441B_ABST
    Figure CN119739441B_ABST
Patent Text Reader

Abstract

This application relates to a PaaS service management system, method, product, device, and storage medium. By setting up operation plugin templates and application instance plugin templates, with mutual association between them and their metadata information, and storing custom resource information in the metadata information of the application instance plugin templates, this application can achieve unified lifecycle management of various application instances, and can complete the installation, uninstallation, listing, delisting, retention, and deletion management of application instance metadata and its plugin templates in a custom resource information manner.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of servers, and particularly to a PaaS service management system, method, product, computer device, and storage medium. Background Art

[0002] Kubernetes can easily deploy stateless applications (such as Nginx) by defining Deployments, and achieve cluster deployment of applications by adjusting the number of replicas. However, for stateful applications (such as Redis databases), due to complex deployment logic, it is difficult to create containers and deploy applications by defining various workloads (Deployments, Statefulsets, DaemonSets, etc.). To solve this problem, k8s provides an operator method to encapsulate, deploy, and manage applications. An operator is a method for encapsulating, deploying, and managing Kubernetes applications. An operator is a custom application management logic that extends the Kubernetes API by defining and using custom resources (CRs). However, as more and more extended operators emerge, how to achieve unified lifecycle management of various applications becomes a problem that needs to be solved. Summary of the Invention

[0003] Based on this, in view of the above technical problems, it is necessary to provide a PaaS service management system, method, product, computer device, and storage medium that can achieve unified lifecycle management of various applications.

[0004] On the one hand, a PaaS service management system is provided, including:

[0005] An operation plugin template;

[0006] An application instance plugin template;

[0007] A template management device that parses the operation plugin template and the application instance plugin template to obtain corresponding metadata information, and stores the metadata information of the operation plugin template and the metadata information of the application instance plugin template in an associated manner;

[0008] A plugin management device that is used to obtain a list of installable operation plugins and provide operations for installing, uninstalling, and querying operation plugins on a target cluster;

[0009] An application management device that is used to perform unified lifecycle management on the application instance plugin template, query the PaaS application corresponding to the application instance plugin template, and support operations for querying, listing, and delisting the application instance plugin template.

[0010] On the other hand, a PaaS service management method is also provided. The method includes:

[0011] Set and store an operation plugin template and an application instance plugin template, parse the operation plugin template and the application instance plugin template to obtain corresponding metadata information, and store the metadata information of the operation plugin template and the metadata information of the application instance plugin template in an associated manner;

[0012] After receiving a request to install a target operation plugin template, deploy the target operation plugin template on a target cluster, and import the metadata information of the target application instance plugin template into the target cluster for storage;

[0013] After receiving a request to uninstall a target operation plugin template, uninstall the target operation plugin template, and delete the metadata information of the target application instance plugin template associated with the target operation plugin template;

[0014] After receiving a request to list a target application instance plugin template, record the metadata information corresponding to the application instance plugin template in an application store, and mark the status of the target application instance plugin template as listed;

[0015] After receiving a request to delist a target application instance plugin template, delete the metadata information corresponding to the application instance plugin template from the application store.

[0016] On the other hand, a computer program product is provided, including a computer program which, when executed by a processor, implements the following steps:

[0017] Set and store an operation plugin template and an application instance plugin template, parse the operation plugin template and the application instance plugin template to obtain corresponding metadata information, and store the metadata information of the operation plugin template and the metadata information of the application instance plugin template in an associated manner;

[0018] After receiving a request to install a target operation plugin template, deploy the target operation plugin template on a target cluster, and import the metadata information of the target application instance plugin template into the target cluster for storage;

[0019] After receiving a request to uninstall a target operation plugin template, uninstall the target operation plugin template, and delete the metadata information of the target application instance plugin template associated with the target operation plugin template;

[0020] After receiving a request to list a target application instance plugin template, record the metadata information corresponding to the application instance plugin template in an application store, and mark the status of the target application instance plugin template as listed;

[0021] After receiving a request to take down a target application instance plugin template, delete the corresponding metadata information of the application instance plugin template from the application store.

[0022] On the other hand, a computer device is provided, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the computer program, the following steps are implemented:

[0023] Set and store an operation plugin template and an application instance plugin template, parse the operation plugin template and the application instance plugin template to obtain the corresponding metadata information, and store the metadata information of the operation plugin template and the metadata information of the application instance plugin template in an associated manner;

[0024] After receiving a request to install a target operation plugin template, deploy the target operation plugin template on a target cluster, and import the metadata information of the target application instance plugin template into the target cluster for storage;

[0025] After receiving a request to uninstall a target operation plugin template, uninstall the target operation plugin template, and delete the metadata information of the target application instance plugin template associated with the target operation plugin template;

[0026] After receiving a request to put a target application instance plugin template on the shelf, record the corresponding metadata information of the application instance plugin template in the application store, and mark the status of the target application instance plugin template as being on the shelf;

[0027] After receiving a request to take down a target application instance plugin template, delete the corresponding metadata information of the application instance plugin template from the application store.

[0028] On another hand, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:

[0029] Set and store an operation plugin template and an application instance plugin template, parse the operation plugin template and the application instance plugin template to obtain the corresponding metadata information, and store the metadata information of the operation plugin template and the metadata information of the application instance plugin template in an associated manner;

[0030] After receiving a request to install a target operation plugin template, deploy the target operation plugin template on a target cluster, and import the metadata information of the target application instance plugin template into the target cluster for storage;

[0031] After receiving a request to uninstall a target operation plugin template, uninstall the target operation plugin template and delete the metadata information of the target application instance plugin template associated with the target operation plugin template;

[0032] After receiving a request to list a target application instance plugin template, record the metadata information corresponding to the application instance plugin template in the application store and mark the status of the target application instance plugin template as listed;

[0033] After receiving a request to delist a target application instance plugin template, delete the metadata information corresponding to the application instance plugin template from the application store.

[0034] The above PaaS service management system, method, product, computer device, and storage medium, by setting an operation plugin template and an application instance plugin template, with the two and their metadata information being mutually associated, and storing custom resource information in the metadata information of the application instance plugin template, can achieve unified lifecycle management of various application instances, and can achieve management of installation, uninstallation, listing, delisting, retention, and deletion of application instance metadata and its plugin templates in a custom resource information manner. Description of the Drawings

[0035] To more clearly illustrate the technical solutions in the embodiments of the present invention, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the following drawings are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained based on these drawings.

[0036] Figure 1 It is a structural block diagram of a PaaS service management system in an embodiment of the present application;

[0037] Figure 2 It is a structural block diagram of a template management device in an embodiment of the present application;

[0038] Figure 3 It is a structural block diagram of a plugin management device in an embodiment of the present application;

[0039] Figure 4 It is a structural block diagram of an application store management device in an embodiment of the present application;

[0040] Figure 5 It is a structural block diagram of an application instance management device in an embodiment of the present application;

[0041] Figure 6 It is a schematic diagram of the PaaS plugin template directory format in an embodiment of the present application;

[0042] Figure 7 The internal structure diagram of a computer device in an embodiment of the present application. Detailed implementation manners

[0043] In order to make the purpose, technical solutions and advantages of the present application clearer, the present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application, and are not used to limit the present application.

[0044] As described in the background art, OLM (Operator Lifecycle Manager) as a part of the K8s Operator Framework community can help users with the automatic installation, upgrade and lifecycle management of Operators. At the same time, OLM itself is also installed and deployed in the form of an Operator. In the OLM solution, it is necessary to additionally install OLM components in each target cluster, and it is impossible to perform unified PaaS instance management for multiple clusters. OLM itself is a complex system, which introduces many new concepts and components, such as Catalogs, CSVs, Subscriptions, etc., increasing the difficulty of user understanding and operation.

[0045] The target cluster is preferably Kubernetes: also known as K8s, which is a system for running and coordinating containerized applications on a group of hosts, providing a predictable, scalable and highly available way to fully manage containerized applications and their lifecycles.

[0046] An Operator is a method for encapsulating, deploying and managing Kubernetes applications. An Operator is a custom application management logic that extends the Kubernetes API by defining and using custom resources (CRs). For example, the Prometheus Operator can manage and simplify the deployment and configuration of Prometheus and related monitoring components.

[0047] To solve the above problems, in the embodiments of the present invention, a PaaS service management system is creatively proposed, which is applicable to a cloud management platform (CMP). Taking the deployment of a Kafka message queue / framework application as an example. If you want to deploy a Kafka service on a target cluster, you first need to install and deploy a Kafka Operator service. This Operator service listens for the creation, update, and deletion events of Kafka (a K8s custom resource) resources, and creates, updates, and deletes the corresponding containers to implement the deployment and management of Kafka applications. When there is a corresponding Operator service in the target cluster, multiple sets of Kafka applications can be deployed by creating multiple Kafka resource instances.

[0048] To unify the life cycle management, two Helm plugin templates are defined to deploy the Kafka Operator and the corresponding Kafka custom resources respectively. Through the helm method, the deployment of the Operator and application instances can be achieved.

[0049] Helm: A package management tool for Kubernetes. It is similar to package managers in Linux systems, such as apt or yum. The main role of Helm is to simplify the installation and management process of Kubernetes applications. It allows users to create packages called "charts", which contain all the resource definitions required to run a Kubernetes application.

[0050] Helm Chart: A packaging format used to describe a collection of Kubernetes resources. It is a directory containing multiple files that describe all the necessary configurations and resources of a related Kubernetes application. The main components of a Helm Chart include: 1. Chart.yaml: This file contains the metadata of the Chart, such as the name, version, description, etc. of the Chart; 2. values.yaml: This file contains the default configuration values of the Chart. Users can override these values when installing or upgrading the Chart; 3. templates / : This directory contains templates for Kubernetes manifest files. These templates are written in the Go template language and can be rendered according to the values in values.yaml during installation.

[0051] To implement the above process. In the cloud management platform (CMP) system, as Figure 1 shown, the PaaS service management system includes a template management device, a plugin management device, an application management device, and an application instance management device. That is, inFigures 1 - 5 The PaaS service management system shown in includes an operation plug-in template (PaaSOperator Chart), an application instance plug-in template (PaaSInstance Chart), a PaaS template management device, a PaaS plug-in management device, a PaaS application store management device, and a PaaS application instance management device. Only by providing the operation plug-in template and the application instance plug-in template can the unified life cycle management of the PaaS service be realized.

[0052] The template management device is used to parse the operation plug-in template and the application instance plug-in template to obtain corresponding metadata information, and associate and store the metadata information of the operation plug-in template with the metadata information of the application instance plug-in template.

[0053] The plug-in management device is used to obtain a list of installable operation plug-ins and provide operations for installing, uninstalling, and querying operation plug-ins on the target cluster.

[0054] The application management device is used to perform unified life cycle management on the application instance plug-in template, query the PaaS application corresponding to the application instance plug-in template, and support operations for querying, putting on the shelf, and taking off the shelf of the application instance plug-in template.

[0055] As Figure 2 shown, the template management device includes an operation plug-in template and an application instance plug-in template.

[0056] The template management device includes an operation plug-in parsing device, an application instance plug-in parsing device, and a plug-in storage device.

[0057] The operation plug-in parsing device is used to parse the operation plug-in template to obtain first metadata information, and the first metadata information includes a template name, a version number, a classification to which it belongs, a supported CPU architecture, a list of compatible application instance plug-in template version numbers, an icon, and an application brief introduction.

[0058] The application instance plug-in parsing device is used to parse the application instance plug-in template to obtain second metadata information, and the second metadata information includes a template name, a version number, a classification to which it belongs, a supported CPU architecture, an icon, an application brief introduction, and custom resource information.

[0059] The plug-in storage device (PaaSChart storage device) is used to associate and store the operation plug-in template with the first metadata information, and associate and store the application instance plug-in template with the second metadata information; associate and store the operation plug-in template with the application instance plug-in template according to the compatible application instance plug-in template version number list of the first metadata information; after receiving a request to query the operation plug-in template or the application instance plug-in template, form a list of the operation plug-in template or the application instance plug-in template, and provide operations for adding, modifying, deleting, and querying the first metadata information and / or the second metadata information.

[0060] The operation plug-in parsing device parses the incoming operation plug-in template to parse out metadata information such as the template name, version number, category, supported CPU architecture, compatible application instance plug-in version number list, icon, and application brief introduction.

[0061] The application instance plug-in parsing device parses the incoming application instance plug-in template to parse out metadata information such as the template name, version number, category, supported CPU architecture, icon, application brief introduction, and CR information (custom resource).

[0062] The plug-in storage device is responsible for storing the metadata and plug-in templates of the operation plug-ins and application instance plug-ins, and is used to provide other management devices with information related to the plug-in templates. It also provides operations for adding, modifying, deleting, and querying the metadata.

[0063] As Figure 3 shown, the plug-in management device is used to obtain a list of installable operation plug-ins, and provide installation, uninstallation, and query operations on a specified target cluster.

[0064] The plug-in management device includes a template query interface, an installation and deployment interface, an instance status synchronization task, an instance uninstallation interface, an instance metadata storage device, and an instance list interface.

[0065] The template query interface obtains a list of plug-ins allowed for installation and deployment through the plug-in storage device in the template management device, including metadata information such as the PaaS plug-in name, version number, category, supported CPU architecture, icon, and application brief introduction.

[0066] After receiving an installation request, the installation and deployment interface first calls the instance list interface to verify whether it has been installed in the current cluster. If it has been installed, a message indicating that it has been installed is returned. If it has not been installed, the plug-in information is obtained through the plug-in storage device in the template management device, and is deployed on the corresponding target cluster by means of Helm install. After successful deployment, the deployed instance information is passed into the instance metadata storage device.

[0067] The instance status synchronization task is responsible for updating the installed instance running status information in the Operator instance metadata storage device. By listening to the running status of the computing containers deployed in K8s, the running status is updated to the Operator instance metadata storage device in real time.

[0068] After receiving the uninstall request, the instance uninstall interface first checks whether there are any running instance plugins in the current cluster. If not, it prompts that the uninstall has been completed. If there are, it calls the application instance list query interface in the application instance management device to check whether there are any running application instances. If there are, it prompts that there are application instances and does not allow uninstallation. If not, it uninstalls the computing plugin by using helm uninstall.

[0069] The instance metadata storage device is responsible for storing instance information, including instance ID, the cluster it belongs to, the namespace of the cluster it belongs to, running status, the name and version number of the computing plugin it belongs to, and the CR information it manages. It also provides operations for adding, modifying, deleting, and querying metadata.

[0070] The instance list interface provides information about the installed and running instances under all clusters by obtaining information from the instance metadata storage device, including information such as plugin name, version number, running status, and the target cluster it belongs to.

[0071] The installation and deployment interface is used to, after receiving a request for installing a target computing plugin template, when the target computing plugin template is not installed on the target cluster, obtain the metadata information of the target application instance plugin template associated with the target computing plugin template, deploy the target computing plugin template on the target cluster, and import the metadata information of the target application instance plugin template into the storage in the target cluster; when the target computing plugin template is already installed on the target cluster, return a prompt message indicating that the target computing plugin template has been installed.

[0072] The instance uninstall interface is used to, after receiving a request for uninstalling a target computing plugin template, when the target computing plugin template is installed on the target cluster, uninstall the target computing plugin template and delete the metadata information of the target application instance plugin template associated with the target computing plugin template. Specifically, when the target computing plugin template does not exist on the target cluster, it prompts that the target computing plugin template has been uninstalled; when the target computing plugin template exists on the target cluster, it checks whether the target computing plugin template is running. If the target computing plugin template is running, it prompts that the target computing plugin template exists and does not allow uninstallation.

[0073] The template query interface is used to obtain the stored operation plugin templates after receiving a request to query operation plugin templates allowed to be installed, forming a list of plugins allowed to be installed and deployed and third metadata information. The third metadata information includes the PaaS plugin name, version number, category, supported CPU architecture, icon, and application brief introduction.

[0074] The instance metadata storage device is used to store the instance information of the target operation plugin template after installing the target operation plugin template in the target cluster. The instance information includes the instance ID, the cluster where it is located, the namespace of the cluster where it is located, the running status, the name and version number of the operation plugin to which it belongs, and the custom resource information it manages, and provides operations for adding, modifying, deleting, and querying metadata.

[0075] The instance status synchronization task is used to monitor the running status of the operation container corresponding to the operation plugin template in the target cluster in real time, and update the application instance running status information according to the running status of the operation container.

[0076] The instance list interface is used to obtain the information of the instances installed and running in the target cluster after receiving a request to query the information of the instances installed and running in the target cluster. The instance information includes the plugin name, version number, running status, and the target cluster where it is located.

[0077] As Figure 4 shown, the application management device is used to provide unified lifecycle management of application instance plugin templates, supporting operations such as querying, putting on the shelf, and taking off the shelf. Through this device, PaaS applications allowed to be deployed can be queried.

[0078] The application management device includes an application template putting-on-the-shelf interface, an application template taking-off-the-shelf interface, an application template metadata storage device, an application template list query interface, and an application template details query interface.

[0079] The application template putting-on-the-shelf interface is used to, after receiving a request to put on the shelf the target application instance plugin template, when the target application instance plugin template is not put on the shelf in the application store, record the metadata information corresponding to the application instance plugin template in the application store, and mark the status of the target application instance plugin template as put on the shelf; when the target application instance plugin template is already put on the shelf in the application store, return a prompt message indicating that the target application instance plugin template has been put on the shelf.

[0080] The application template delisting interface is used to, after receiving a request to delist a target application instance plugin template, when the target application instance plugin template has not been delisted on the application store, delete the metadata information corresponding to the application instance plugin template from the application store; when the target application instance plugin template has been delisted on the application store, return a prompt message indicating that the target application instance plugin template has been delisted.

[0081] The application template metadata storage device is used to store the plugin metadata information of the target application instance plugin template after the target application instance plugin template is listed. The plugin metadata information includes template ID, template name, version number, category, supported CPU architecture, icon, application description, and status information, and provides operations for adding, modifying, deleting, and querying metadata.

[0082] The application template list query interface is used to, after receiving a request to query the list of listed application instance plugin templates, obtain the list information of all listed application instance plugin templates. The list information of the listed application instance plugin templates includes template name, version number, category, icon, and application description, and supports paging and conditional filtering.

[0083] The application template details query interface is used to, after receiving a request to query the details of the listed application instance plugin templates, obtain the details information of all listed application instance plugin templates. The details information of the listed application instance plugin templates includes template ID, template name, version number, category, supported CPU architecture, icon, application description, status, and numerical file information.

[0084] After the application template listing interface receives a template listing request, it queries whether there is a template of the application instance plugin type according to the template name and version number through the plugin storage device in the template management device. If not, it returns a prompt message. If so, it obtains the template metadata, including information such as template name, version number, category, supported CPU architecture, icon, and application description. It records this template information in the application template metadata storage device and marks the status as listed.

[0085] After the application template delisting interface receives a template delisting request, it first checks through the application template metadata storage device whether the status of the corresponding template is listed. If not, it returns a prompt message. If so, it deletes the metadata information corresponding to this template from the application template metadata storage device.

[0086] The application template metadata storage device is responsible for storing the Chart metadata information of the application instance plugin types that have been put on the shelves, including template ID, template name, version number, affiliated classification, supported CPU architecture, icon, application brief introduction, and status information. It also provides operations for adding, modifying, deleting, and querying metadata.

[0087] The application template list query interface obtains all the information of the application templates that have been put on the shelves through the application template metadata storage device. The returned information includes template name, version number, affiliated classification, icon, and application brief introduction, and supports paging and conditional filtering.

[0088] The application template details query interface obtains the details information of the application templates that have been put on the shelves through the application template metadata storage device. The returned information includes template ID, template name, version number, affiliated classification, supported CPU architecture, icon, application brief introduction, status, and value file information.

[0089] As Figure 5 shown, the application instance management device is used to uniformly manage the life cycle of application instances on multiple target clusters, perform operations such as creating, deleting, and querying on the application instances, and implement operations such as creating, deleting, and querying of PaaS applications.

[0090] The application instance management device includes an application instance creation interface, an application instance deletion interface, an application instance container information synchronization task, an application instance metadata storage device, an application instance list query interface, and an application instance container query interface.

[0091] A container is the smallest basic unit for deployment and management in a kubernetes cluster, with coordinated addressing and scheduling. A pod is a collection of one or more containers and is an abstract collection of one or a group of services (processes).

[0092] The application instance creation interface is used to, after receiving a request to create an application instance, obtain the metadata information of the application instance plugin template corresponding to the application instance, query in the application store whether there is metadata information of the application instance plugin template that has been put on the shelves. If it exists, verify whether the corresponding operation plugin template has been deployed under the target cluster. If the corresponding operation plugin template has been deployed, re-render the application instance plugin template, add annotation information to all created resources, and create the corresponding application instance on the target cluster.

[0093] The application instance deletion interface is used to, after receiving a request to delete a target application instance, detect whether the target application instance exists; if it does not exist, return a prompt message indicating that the target application instance does not exist; if it exists, uninstall the target application instance.

[0094] The application instance container information synchronization task is used to monitor all container creation and deletion events in the target cluster; when a container creation event is monitored, it parses the owner reference field of the container object, queries the information of the superior resource to which it belongs, and then queries the owner reference field of the superior resource object, recursively querying in turn until the top-level resource is found. If the annotations in the top-level resource information include the application instance ID and the information related to the type to which it belongs, the relationship between the container information and the application instance ID is recorded; when a container deletion event is monitored, it queries whether there is a corresponding relationship between the container and the application instance ID, and if so, deletes the corresponding relationship between the container and the application instance ID.

[0095] The application instance metadata storage device is used to store application instance information and all container information corresponding to the application instance, including the application instance ID, PaaS application name, PaaS application type, custom resource information, the K8s to which it belongs, the namespace to which it belongs, the application instance plugin information to which it belongs, and the associated container list information, and provides operations for adding, modifying, deleting, and querying metadata.

[0096] The application instance list query interface is used to obtain all stored application instance information and return an application instance list after receiving a request to query application instances. The application instance list includes the application instance ID, PaaS application name, PaaS application type, the K8s to which it belongs, and the namespace to which it belongs.

[0097] The application instance container query interface is used to obtain all containers corresponding to the application instance and return PaaS application container list information after receiving a request to query the containers corresponding to the application instance. The PaaS application container list information includes the application instance ID, container name, the K8s to which it belongs, and the namespace to which it belongs.

[0098] After the application instance creation interface receives a PaaS application creation request, it obtains the corresponding application instance plugin template metadata information by calling the application template details query interface in the application management device. If the template does not exist, a prompt message is given. If it exists, it calls the instance list interface in the plugin management device to verify whether the corresponding computing plugin has been deployed under the target cluster. If it has not been deployed, an error prompt message is given. If the corresponding Operator plugin has been deployed, the application instance plugin template is re-rendered, annotation information (application instance ID, type to which it belongs) is added to all created resources, and then the corresponding PaaS application is created on the corresponding target cluster through the HelmInstall method. After successful deployment, the application instance information (application instance ID, application name, type, CR information, the K8s to which it belongs, the namespace to which it belongs, application instance plugin information, etc.) is stored in the application instance metadata storage device.

[0099] After the application instance deletion interface receives a PaaS application deletion request, it calls the application instance metadata storage device to check whether the application instance exists. If it does not exist, a prompt is given. If it exists, the application instance is uninstalled by the helm uninstall method.

[0100] The application instance container information synchronization task is responsible for listening to all container creation and deletion events in the target cluster. When a container creation event is detected, it parses the ownerReferences (object's owner reference) field of the container, queries the information of the superior resource, and then queries the ownerReferences (object's owner reference) field of the superior resource, recursively querying in turn until the top-level resource is found. If the annotations in the top-level resource information include the application instance ID and related information about the type, the relationship between the container information and the application instance ID is recorded in the application instance metadata storage device. When a container deletion event is detected, it queries whether there is a corresponding relationship between the container and the application instance ID in the application instance metadata storage device. If so, the corresponding relationship between the container and the application instance ID is deleted in the application instance metadata storage device.

[0101] The application instance metadata storage device is responsible for storing application instance information and all container information of PaaS applications. It includes the application instance ID, PaaS application name, type, CR information, the K8s it belongs to, the namespace it belongs to, application instance plugin information, and the list information of associated containers. It also provides operations for adding, modifying, deleting, and querying metadata.

[0102] The application instance list query interface returns a list of application instances by calling the application instance metadata storage device. It includes the application instance ID, PaaS application name, type, the K8s it belongs to, and the namespace it belongs to.

[0103] The application instance container query interface returns the list information of PaaS application containers by calling the application instance metadata storage device. It includes the application instance ID, container name, the K8s it belongs to, and the namespace it belongs to.

[0104] Therefore, through the template management device, plugin management device, application management device, and application instance management device, the unified lifecycle management of PaaS services is realized.

[0105] The template management device realizes the parsing and storage of plugin templates of the operation plugin type and plugin templates of the application instance type by using the operation plugin parsing device (PaaSOperator Chart parsing device), application instance plugin parsing device (PaaSInstance Chart parsing device), and plugin storage device.

[0106] The plugin management device realizes querying the list of installable computing plugins and providing installation, uninstallation, and query operations on a specified target cluster by using a template query interface, an installation and deployment interface, an instance status synchronization task, an instance uninstallation interface, an instance metadata storage device, and an instance list interface.

[0107] The application management device realizes the unified lifecycle management of application instance plugin templates and supports operations such as querying, putting on the shelf, and taking off the shelf by using an application instance plugin template putting-on-the-shelf interface, an application instance plugin template taking-off-the-shelf interface, an application instance plugin template metadata storage device, an application instance plugin template list query interface, and an application instance plugin template details query interface. Through this device, PaaS applications allowed to be deployed can be queried.

[0108] The application instance management device realizes the unified lifecycle management of application instances on multiple target clusters and supports operations such as creating, deleting, and querying PaaS applications by using an application instance creation interface, an application instance deletion interface, an application instance container information synchronization task, an application instance metadata storage device, an application instance list query interface, and an application instance container query interface.

[0109] In one embodiment, based on the PaaS service management system described above, a PaaS service management method is provided. Taking the management of Redis applications as an example, the specific implementation process of the unified lifecycle management of PaaS services is described as follows:

[0110] Sort out the Helm plugin template for deploying Redis Operator and the Helm plugin template for creating Redis application instances respectively, and store them in the directory format as Figure 6 shown.

[0111] The first-level directory is used to mark the type to which the PaaS service belongs, such as "Database". The second-level directory is used to mark the CPU architectures supported by the PaaS service, such as "allarch", "amd64", "arm64", where "allarch" means all architectures are supported. The third-level directories are "OperatorChart" and "InstanceChart" respectively, which are used to store the Redis Operator plugin template for deployment and the Redis Instance plugin template for deploying the Redis application. The naming convention for the fourth-level directory is the plugin template name + chart version number, such as redis-operator-1.1.0. In the fifth-level directory, in the Operator plugin template, in addition to including the standard plugin template files, icon files need to be added, such as redis.png, paasInstanceChartVersion.yaml, which are used to identify the name and version number of the Helm Instance plugin template supported by this Operator; in the Instance plugin template, in addition to including the standard plugin template files, icon files need to be added, such as redis.png, CustomResources.yaml, which are used to identify the CR information managed by this plugin template.

[0112] The operation plugin parsing device in the template management device obtains the RedisOperator plugin template information by reading the PaaSChart directory structure. Through the directory structure, the type to which the template belongs can be obtained as paasOperatorType = "Database", and the architecture supported by the template is paasOperatorArch = "allarch"; by parsing the Chart.yaml file, the template name can be obtained as paasOperatorChartName = "redis-operator", the version number is paasOperatorChartVersion = "1.1.0", and the template description is paasOperatorDescription = "RedisOperator automatically deploys Redis applications on the target cluster"; the icon information of the plugin template is obtained through the Redis.png file; by parsing the paasInstanceChartVersion.yaml file, the version of the application instance plugin compatible with this template is obtained as paasInstanceChartCompatibleVersion = "redis-2.1.0".

[0113] The application instance plugin parsing device in the template management device obtains the Redis Instance plugin template information by reading the PaaSChart directory structure. Through the directory structure, the type to which the template belongs can be obtained as paasInstanceType = "database", and the architecture supported by the template is paasInstanceArch = "allarch"; by parsing the Chart.yaml file, the template name paasInstanceChartName = "redis", the version number paasInstanceChartVersion = "2.1.0", and the template description paasInstanceDescription = "Provide single-node, cluster-mode, and sentinel-mode Redis services" can be obtained; the plugin template icon information can be obtained through the Redis.png file; by parsing the CustomResources.yaml file, the CR information managed by the template is obtained as paasInstanceCR = "apiVersion:redis.redis.opstreelabs.in / v1beta2 kind:RedisReplication".

[0114] The plugin storage device in the template management device persists the parsed metadata of the Redis Operator Chart and the Redis Instance Chart and the corresponding plugin templates to the local hard disk.

[0115] The super administrator in the CMP (Cloud Management Platform) calls the template query interface in the plugin management device. This query interface obtains the list of plugins allowed to be installed and deployed through the plugin storage device in the template management device. At this time, the query list includes the Redis Operator plugin information. It includes metadata information such as the name, version number, category, supported CPU architecture, icon, and application description of the Redies Operator plugin.

[0116] If an ordinary user in the CMP (Cloud Management Platform) hopes to create a Redis application in the target cluster named K8sCluster1, the super administrator in the CMP needs to deploy the Redis Operator plugin in the target cluster.

[0117] The super administrator in CMP deploys the RedisOperator plugin by calling the installation and deployment interface in the plugin management device. After receiving the request, this interface first calls the instance list interface to check whether it has been installed under the current cluster. If it has been installed, it returns a prompt message of "The Redis Operator plugin has been installed in this cluster. Please do not reinstall it by mistake". If it has not been installed, it obtains the plugin information through the plugin storage device in the template management device, and deploys Redis Operator on the K8sCluster1 cluster in the way of helminstall --namespace paas-operator --name redis-operator -f values.yaml redis-operator-1.1.0 / --kubeconfig=K8sCluster1.conf. After successful execution, the deployed Redis Operator instance ID operatorInstanceID=49700e1a-748a-4c27-ad98-71c0b6a7886c; the Redis Operator instance name operatorInstanceName=redis-operator; the name of the target cluster where it is located operatorInstanceK8s=K8sCluster1; the namespace name of the target cluster where it is located operatorInstanceNS=paas-operator; the name of the arithmetic plugin paasOperatorChartName=redis-operator; the version number of the arithmetic plugin paasOperatorChartVersion=1.1.0; because the Redis Instance plugin template compatible with this plugin is paasInstanceChartCompatibleVersion=“redis-2.1.0”, query the corresponding application instance plugin to obtain the CR information paasInstanceCR=“apiVersion:redis.redis.opstreelabs.in / v1beta2 kind:RedisReplication”; the running status operatorInstanceStatus=Installed, and the metadata information is passed into the instance metadata storage device.

[0118] After receiving the above Redis Operator instance metadata information, the instance metadata storage device persists it to the local hard disk.

[0119] The instance status synchronization task listens to the containers in the paas-operator namespace of the K8sCluster1 cluster. When all the containers corresponding to the Redis Operator become Running, it updates the metadata information of operatorInstanceName=redis-operator: operatorInstanceStatus=Running.

[0120] The super administrator in CMP can query the running information of the RedisOperator plugin through the instance list interface in the plugin management device, including information such as the plugin name operatorInstanceName, version number operatorInstanceChartVersion, running status operatorInstanceStatus, and the target cluster operatorInstanceK8s where it is located.

[0121] If the super administrator in CMP wants to uninstall the Redis Operator plugin, they can do so by calling the instance uninstall interface in the plugin management device.

[0122] After receiving the request, the instance uninstall interface first checks whether there are any running instance plugins under the current K8sCluster1 cluster. If not, it prompts "The Redis Operator plugin has been uninstalled". If there are, it calls the application instance list query interface in the application instance management device to check whether there are instances of the type "apiVersion:redis.redis.opstreelabs.in / v1beta2 kind:RedisReplication". If there are, it prompts "There are application instances, uninstallation is not allowed". If not, it uninstalls the Redis Operator plugin on the K8sCluster1 cluster in the way of helm uninstall --namespacepaas-operator --name redis-operator --kubeconfig=K8sCluster1.conf.

[0123] The super administrator in CMP can implement the shelving of the Redis application template through the application template shelving interface in the application management device, so that ordinary users in CMP can view the Redis service through the application template list query interface in the application management device.

[0124] After the application template upload interface receives a Redis template upload request, according to the template name paasInstanceChartName = "redis" and version number paasInstanceChartVersion = "2.1.0", query whether the application instance plugin type already exists through the plugin storage device in the template management device, and obtain the metadata related to the template, including the template name paasInstanceChartName = "redis", version number paasInstanceChartVersion = "2.1.0", the affiliated category paasInstanceType = "database", the supported CPU architecture paasInstanceArch = "allarch", the icon paasInstanceLogo = "redis.png", the application introduction paasInstanceDescription = "Provide single-node, cluster-mode, and sentinel-mode Redis services" and other information. Record the template information in the application template metadata storage device, and mark the status as uploaded paasInstanceChartStatus = Available.

[0125] If the super administrator in CMP does not want to provide Redis services anymore, the Redis application template can be taken off the shelf through the application template take-off-the-shelf interface in the application management device.

[0126] After the application template take-off-the-shelf interface receives a Redis template take-off-the-shelf request, first query through the application template metadata storage device whether the template status (paasInstanceChartStatus) of the template name paasInstanceChartName = "redis" and version number paasInstanceChartVersion = "2.1.0" is uploaded (Available). If not, return a prompt message "The template does not exist or has been taken off the shelf". If so, delete the corresponding metadata information of the template from the application template metadata storage device.

[0127] After the super administrator in CMP shelves the Redis service, ordinary users in CMP can query the list of PaaS service catalogs allowed to be deployed through the application template list query interface, which includes the information of the shelved Redis service. The specific return information includes paging information: total number total = 99, page size pageSize = 10, current page number currentPage = 1, total number of pages totalPage = 10; template list information: template name paasInstanceChartName = "redis", version number paasInstanceChartVersion = "2.1.0", category paasInstanceType = "database", supported CPU architecture paasInstanceArch = "allarch", icon paasInstanceLogo = "redis.png", application introduction paasInstanceDescription = "Provide single-node, cluster-mode, and sentinel-mode Redis services".

[0128] Ordinary user user1 in CMP creates a Redis application instance named test-redis in the redis-ns namespace on the K8sCluster1 cluster through the application instance creation interface in the application instance management device.

[0129] After receiving the Redis application creation request, the application instance creation interface calls the application template details query interface in the application management device, and the input parameters include the template name paasInstanceChartName = "redis", version number paasInstanceChartVersion = "2.1.0", to obtain the corresponding Redis Instance Chart template metadata information. When the interface returns "The template is not found", the error message "The application is not available" is returned. If the detailed information can be queried, call the instance list interface in the plug-in management device to verify whether the corresponding RedisOperator plug-in has been deployed under the target cluster. If not deployed, the error message "Please deploy the Operator plug-in first" is given. If the corresponding Operator plug-in has been deployed, re-render the application instance plug-in template, use kustomize build to add annotation information to the resource of apiVersion:redis.redis.opstreelabs.in / v1beta2 kind:RedisReplication in the template (PaaS application instance ID passInstanceUUID=fb86bfd2e2f810afce6ddc07e135651a, type paasInstanceType=redis), and then create a Redis application on the corresponding target cluster by running helm install --namespace redis-ns --name test-redis -f values.yaml redis-2.1.0 / --kubeconfig=K8sCluster1.conf .After successful creation, store the Redis application instance information (PaaS application instance ID passInstanceUUID = fb86bfd2e2f810afce6ddc07e135651a, application name passInstanceName = test - redis, type paasInstanceType = redis, CR information paasInstanceCR = "apiVersion:redis.redis.opstreelabs.in / v1beta2 kind:RedisReplication", belonging to K8s paasInstanceK8s = K8sCluster1, belonging to namespace paasInstanceNS = redis - ns, PaaSInstance Chart information paasInstanceChartName = redis, paasInstanceChartVersion = 2.1.0, creator createUser = user1) into the application instance metadata storage device.

[0130] After the application instance metadata storage device receives the above Redis instance metadata information, it persists it to the local hard disk.

[0131] If the ordinary user user1 in CMP wants to delete the Redis instance named test - redis in the redis - ns namespace on the K8sCluster1 cluster, they can uninstall the Redis instance by using the application instance deletion interface in the application instance management device.

[0132] After the application instance deletion interface receives the deletion request, according to the PaaS application instance ID passInstanceUUID = fb86bfd2e2f810afce6ddc07e135651a, it checks whether the Redis instance exists through the application instance metadata storage device. If it does not exist, prompt "The application does not exist or has been deleted" and exit. If it exists, the application name passInstanceName = test - redis, belonging to K8s paasInstanceK8s = K8sCluster1, belonging to namespace paasInstanceNS = redis - ns can be queried through paasInstanceUUID, and execute the helm uninstall --namespace redis - ns --name test - redis --kubeconfig = K8sCluster1.conf method to uninstall the application instance.

[0133] The application instance container information synchronization task is responsible for listening to all container creation and deletion events in the target cluster. When a container creation event with the name test-redis-0 is monitored, the ownerReferences field of the container is parsed as apiVersion=apps / v1, Kind=StatefuSet, name=test-redis. By querying the ownerReferences field of the StatefuSet resource of test-redis through the K8s Api interface, it is found to be apiVersion=redis.redis.opstreelabs.in / v1beta2, Kind=RedisReplication, name=test-redis. When querying the RedisReplication resource of test-redis through the K8s Api interface, no ownerReferences is obtained, so this resource is the top-level resource. Since the application instance creation interface has written the application instance ID and the affiliated type into the resource of the RedisReplication type during the helm install process, the application instance ID passInstanceUUID=fb86bfd2e2f810afce6ddc07e135651a and the affiliated type paasInstanceType=redis can be obtained from the Annotations information of this resource. The container information (container Name=test-redis-0, container NS= redis-ns) and the affiliated application instance ID (passInstanceUUID=fb86bfd2e2f810afce6ddc07e135651a) are recorded in the application instance metadata storage device. When a container deletion event of test-redis-0 is monitored, the affiliated PaaS application instance ID is found according to the above rules. According to the passInstanceUUID and podName, the corresponding relationship between the container and the application instance ID in the application instance metadata storage device is deleted.

[0134] After receiving the above information, the application instance metadata storage device persists the container and application instance association information to the local hard disk.

[0135] The ordinary user user1 in CMP can query the list of application instances created by the current user through the application instance list query interface. The application instance list query interface filters the data with createUser=user1 through the application instance metadata storage device. The specific return information includes paging information: total number total=1, page size pageSize=10, current page number currentPage=1, total number of pages totalPage=1; PaaS application instance list information: PaaS application instance ID passInstanceUUID=fb86bfd2e2f810afce6ddc07e135651a, PaaS application name passInstanceName=test-redis, type paasInstanceType=redis, affiliated K8s paasInstanceK8s=K8sCluster1, affiliated namespace paasInstanceNameSpace=redis-ns.

[0136] The ordinary user user1 in CMP can query the container list information of the Redis application created by the current user through the application instance container query interface. After receiving the passInstanceUUID, the application instance container query interface calls the application instance metadata storage device to verify whether the creator createUser of passInstanceUUID=fb86bfd2e2f810afce6ddc07e135651a is user1. If not, a prompt is given and the query is returned. If so, the container list information is queried by calling the application instance metadata storage device. The specific return information includes paging information: total number total=1, page size pageSize=10, current page number currentPage=1, total number of pages totalPage=1; Pod list information: PaaS application instance ID passInstanceUUID=fb86bfd2e2f810afce6ddc07e135651a, Pod name podName=redis-test-0, affiliated K8s paasInstanceK8s=K8sCluster1, affiliated namespace paasInstanceNameSpace=redis-ns.

[0137] In one embodiment, based on the PaaS service management system described above, a PaaS service management method is provided, including the following steps:

[0138] Set and store the operation plugin template and the application instance plugin template, parse the operation plugin template and the application instance plugin template to obtain the corresponding metadata information, and store the metadata information of the operation plugin template and the metadata information of the application instance plugin template in an associated manner;

[0139] After receiving the request to install the target operation plugin template, deploy the target operation plugin template on the target cluster, and import the metadata information of the target application instance plugin template into the target cluster for storage;

[0140] After receiving the request to uninstall the target operation plugin template, uninstall the target operation plugin template, and delete the metadata information of the target application instance plugin template associated with the target operation plugin template;

[0141] After receiving the request to list the target application instance plugin template, record the metadata information corresponding to the application instance plugin template in the application store, and mark the status of the target application instance plugin template as listed;

[0142] After receiving the request to delist the target application instance plugin template, delete the metadata information corresponding to the application instance plugin template from the application store.

[0143] Specifically, after receiving the request to install the target operation plugin template, when the target operation plugin template is not installed on the target cluster, obtain the metadata information of the target application instance plugin template associated with the target operation plugin template, deploy the target operation plugin template on the target cluster, and import the metadata information of the target application instance plugin template into the target cluster for storage;

[0144] After receiving the request to uninstall the target operation plugin template, when the target operation plugin template is installed on the target cluster, uninstall the target operation plugin template, and delete the metadata information of the target application instance plugin template associated with the target operation plugin template;

[0145] After receiving the request to list the target application instance plugin template, when the target application instance plugin template is not listed on the application store, record the metadata information corresponding to the application instance plugin template in the application store, and mark the status of the target application instance plugin template as listed;

[0146] After receiving the request to delist the target application instance plugin template, when the target application instance plugin template is not delisted on the application store, delete the metadata information corresponding to the application instance plugin template from the application store.

[0147] Among them, by setting up an operation plug-in template and an application instance plug-in template, the two are associated with each other and their metadata information. Custom resource information is stored in the metadata information of the application instance plug-in template, enabling unified lifecycle management of various application instances. The installation, uninstallation, listing, delisting, retention, and deletion management of the application instance metadata and its plug-in template can be completed in the way of custom resource information.

[0148] In this embodiment, parsing the operation plug-in template and the application instance plug-in template to obtain corresponding metadata information, and associatively storing the metadata information of the operation plug-in template and the metadata information of the application instance plug-in template includes:

[0149] Parsing the operation plug-in template to obtain first metadata information, where the first metadata information includes a template name, a version number, a classification to which it belongs, a supported CPU architecture, a list of compatible application instance plug-in template version numbers, an icon, and an application brief introduction;

[0150] Parsing the application instance plug-in template to obtain second metadata information, where the second metadata information includes a template name, a version number, a classification to which it belongs, a supported CPU architecture, an icon, an application brief introduction, and custom resource information;

[0151] Associatively storing the operation plug-in template with the first metadata information, and associatively storing the application instance plug-in template with the second metadata information;

[0152] Associatively storing the operation plug-in template with the application instance plug-in template according to the list of compatible application instance plug-in template version numbers in the first metadata information;

[0153] In response to receiving a request to query the operation plug-in template or the application instance plug-in template, forming a list of the operation plug-in template or the application instance plug-in template, and providing operations for adding, modifying, deleting, and querying the first metadata information and / or the second metadata information.

[0154] In this embodiment, the method further includes:

[0155] In response to receiving a request to install a target operation plug-in template, when the target operation plug-in template has been installed on the target cluster, returning a prompt message indicating that the target operation plug-in template has been installed;

[0156] After receiving the request to uninstall the target operation plugin template, when the target operation plugin template does not exist on the target cluster, it is prompted that the target operation plugin template has been uninstalled; when the target operation plugin template exists on the target cluster, it is verified whether the target operation plugin template is running. If the target operation plugin template is running, it is prompted that the target operation plugin template exists and uninstallation is not allowed.

[0157] In this embodiment, the method further includes:

[0158] After receiving the request to query the operation plugin templates allowed to be installed, obtain the stored operation plugin templates to form a list of plugins allowed to be installed and deployed and third metadata information. The third metadata information includes the PaaS plugin name, version number, category, supported CPU architecture, icon, and application brief introduction.

[0159] In this embodiment, the method further includes:

[0160] After installing the target operation plugin template in the target cluster, store the instance information of the target operation plugin template. The instance information includes the instance ID, the cluster where it is located, the cluster namespace where it is located, the running status, the name and version number of the operation plugin to which it belongs, the custom resource information it manages, and provide operations for adding, modifying, deleting, and querying metadata.

[0161] In this embodiment, the method further includes:

[0162] Real-time monitor the running status of the operation containers corresponding to the operation plugin templates in the target cluster, and update the application instance running status information according to the running status of the operation containers.

[0163] In this embodiment, the method further includes:

[0164] After receiving the request to query the instance information that has been installed and run in the target cluster, obtain the instance information that has been installed and run in the target cluster. The instance information includes the plugin name, version number, running status, and the target cluster where it is located.

[0165] In this embodiment, the method further includes:

[0166] After receiving the request to list the target application instance plugin template on the application store, when the target application instance plugin template has been listed on the application store, return the prompt information that the target application instance plugin template has been listed;

[0167] After receiving the request to delist the target application instance plugin template from the application store, when the target application instance plugin template has been delisted from the application store, return the prompt information that the target application instance plugin template has been delisted.

[0168] In this embodiment, the method further includes:

[0169] In response to the target application instance plugin template being put on the shelf, store the plugin metadata information of the target application instance plugin template. The plugin metadata information includes template ID, template name, version number, category to which it belongs, supported CPU architecture, icon, application introduction, and status information, and provide operations for adding, modifying, deleting, and querying metadata.

[0170] In this embodiment, the method further includes:

[0171] In response to receiving a request to query the list of application instance plugin templates that have been put on the shelf, obtain the list information of all application instance plugin templates that have been put on the shelf. The list information of the application instance plugin templates that have been put on the shelf includes template name, version number, category to which it belongs, icon, and application introduction, and supports paging and conditional filtering.

[0172] In this embodiment, the method further includes:

[0173] In response to receiving a request to query the details of the application instance plugin templates that have been put on the shelf, obtain the details information of all application instance plugin templates that have been put on the shelf. The details information of the application instance plugin templates that have been put on the shelf includes template ID, template name, version number, category to which it belongs, supported CPU architecture, icon, application introduction, status, and value file information.

[0174] In this embodiment, the method further includes:

[0175] In response to receiving a request to create an application instance, obtain the metadata information of the application instance plugin template corresponding to the application instance, query in the application store whether there is metadata information of the application instance plugin template that has been put on the shelf. If it exists, check whether the corresponding operation plugin template has been deployed under the target cluster. If the corresponding operation plugin template has been deployed, re-render the application instance plugin template, add annotation information to all created resources, and create the corresponding application instance on the target cluster.

[0176] In this embodiment, the method further includes:

[0177] In response to receiving a request to delete a target application instance, detect whether the target application instance exists; if it does not exist, return a prompt message indicating that the target application instance does not exist; if it exists, then uninstall the target application instance.

[0178] In this embodiment, the method further includes:

[0179] Monitor all container creation and deletion events in the target cluster;

[0180] When a container creation event is monitored, parse the ownerReferences field of the container object, query the information of the superior resource to which it belongs, then query the ownerReferences field of the superior resource object, and recursively query in turn until the top-level resource is found. If the annotations in the top-level resource information include the application instance ID and information related to the belonging type, record the relationship between the container information and the application instance ID;

[0181] When a container deletion event is monitored, query whether there is a corresponding relationship between the container and the application instance ID. If so, delete the corresponding relationship between the container and the application instance ID.

[0182] In this embodiment, the method further includes:

[0183] Store the application instance information and all container information corresponding to the application instance, including the application instance ID, PaaS application name, PaaS application type, custom resource information, the K8s to which it belongs, the namespace to which it belongs, the application instance plugin information to which it belongs, and the associated container list information, and provide operations for adding, modifying, deleting, and querying metadata.

[0184] In this embodiment, the method further includes:

[0185] In response to receiving a request to query an application instance, obtain all stored application instance information and return an application instance list, where the application instance list includes the application instance ID, PaaS application name, PaaS application type, the K8s to which it belongs, and the namespace to which it belongs.

[0186] In this embodiment, the method further includes:

[0187] In response to receiving a request to query the containers corresponding to an application instance, obtain all the containers corresponding to the application instance and return PaaS application container list information, where the PaaS application container list information includes the application instance ID, container name, the K8s to which it belongs, and the namespace to which it belongs.

[0188] In the above PaaS service management method, by setting an operation plugin template and an application instance plugin template, and making them and their metadata information associated with each other, and storing custom resource information in the metadata information of the application instance plugin template, unified lifecycle management of various application instances can be achieved, and installation, uninstallation, listing, delisting, retention, and deletion management of application instance metadata and its plugin template can be completed in the way of custom resource information.

[0189] For the specific limitations of the PaaS service management method, reference can be made to the limitations of the PaaS service management system in the foregoing text, which will not be elaborated here. Each module in the above PaaS service management system can be implemented in whole or in part by software, hardware, and their combinations. Each of the above modules can be embedded in or independent of the processor in the computer device in the form of hardware, or stored in the memory of the computer device in the form of software, so as to facilitate the processor to call and execute the operations corresponding to each of the above modules. The above PaaS service management method can be implemented by mutual calls based on the module structure of the PaaS service management system.

[0190] In one embodiment, a computer device is provided. The computer device can be a server, and its internal structure diagram can be as Figure 7 shown. The computer device includes a processor, a memory, a network interface, and a database connected through a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store PaaS service management data. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, it implements a PaaS service management method.

[0191] Those skilled in the art can understand that Figure 7 the structure shown in

[0192] is only a block diagram of some structures related to the solution of this application, and does not constitute a limitation on the computer device to which the solution of this application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine some components, or have different component arrangements.

[0192] In one embodiment, a computer program product is provided, including a computer program, which when executed by a processor, implements the following steps:

[0193] Set and store an operation plugin template and an application instance plugin template, parse the operation plugin template and the application instance plugin template to obtain corresponding metadata information, and associate and store the metadata information of the operation plugin template with the metadata information of the application instance plugin template;

[0194] In response to receiving a request to install a target operation plugin template, deploy the target operation plugin template on a target cluster, and import the metadata information of the target application instance plugin template into the target cluster for storage;

[0195] After receiving a request to uninstall a target operation plugin template, uninstall the target operation plugin template and delete the metadata information of the target application instance plugin template associated with the target operation plugin template;

[0196] After receiving a request to list a target application instance plugin template, record the metadata information corresponding to the application instance plugin template in the application store and mark the status of the target application instance plugin template as listed;

[0197] After receiving a request to delist a target application instance plugin template, delete the metadata information corresponding to the application instance plugin template from the application store.

[0198] For the specific limitations on the steps implemented when the computer program is executed by the processor, reference can be made to the limitations on the method for PaaS service management in the foregoing text, which will not be elaborated here.

[0199] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored on the memory and executable on the processor. When the processor executes the computer program, the following steps are implemented:

[0200] Set and store operation plugin templates and application instance plugin templates, parse the operation plugin templates and the application instance plugin templates to obtain the corresponding metadata information, and store the metadata information of the operation plugin templates and the metadata information of the application instance plugin templates in an associated manner;

[0201] After receiving a request to install a target operation plugin template, deploy the target operation plugin template on a target cluster and import the metadata information of the target application instance plugin template into the target cluster for storage;

[0202] After receiving a request to uninstall a target operation plugin template, uninstall the target operation plugin template and delete the metadata information of the target application instance plugin template associated with the target operation plugin template;

[0203] After receiving a request to list a target application instance plugin template, record the metadata information corresponding to the application instance plugin template in the application store and mark the status of the target application instance plugin template as listed;

[0204] After receiving a request to delist a target application instance plugin template, delete the metadata information corresponding to the application instance plugin template from the application store.

[0205] For the specific limitations on the steps implemented when the processor executes the computer program, reference can be made to the limitations on the method for PaaS service management in the foregoing text, which will not be elaborated here.

[0206] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the following steps are implemented:

[0207] Set and store an operation plugin template and an application instance plugin template, parse the operation plugin template and the application instance plugin template to obtain corresponding metadata information, and store the metadata information of the operation plugin template and the metadata information of the application instance plugin template in an associated manner;

[0208] In response to receiving a request to install a target operation plugin template, deploy the target operation plugin template on a target cluster, and import the metadata information of the target application instance plugin template into the target cluster for storage;

[0209] In response to receiving a request to uninstall a target operation plugin template, uninstall the target operation plugin template, and delete the metadata information of the target application instance plugin template associated with the target operation plugin template;

[0210] In response to receiving a request to list a target application instance plugin template, record the metadata information corresponding to the application instance plugin template in an application store, and mark the status of the target application instance plugin template as listed;

[0211] In response to receiving a request to delist a target application instance plugin template, delete the metadata information corresponding to the application instance plugin template from the application store.

[0212] For the specific limitations on the steps implemented when the computer program is executed by the processor, reference can be made to the limitations on the method for PaaS service management in the foregoing text, which will not be elaborated herein.

[0213] Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be completed by instructing relevant hardware through a computer program. The computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above methods. Among them, any reference to a memory, storage, database, or other medium used in the various embodiments provided in the present application can include non-volatile and / or volatile memories. Non-volatile memories can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memories can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in many forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and Rambus dynamic RAM (RDRAM), etc.

[0214] The technical features of the above embodiments can be combined arbitrarily. For the sake of concise description, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, it should be considered as the scope recorded in this specification.

[0215] The above-described embodiments merely represent several implementation manners of the present application. The description is relatively specific and detailed, but it should not be construed as a limitation on the scope of the invention patent. It should be noted that for those of ordinary skill in the art, without departing from the concept of the present application, several modifications and improvements can still be made, and these all belong to the protection scope of the present application.

Claims

1. A PaaS service management system, characterized in that: include: Computation plugin template; Application example plugin template; A template management device, used for parsing the computing plug-in template and the application instance plug-in template to obtain corresponding metadata information, and storing the metadata information of the computing plug-in template in association with the metadata information of the application instance plug-in template; A plug-in management device, used to obtain a list of installable computing plug-ins and provide installation, uninstallation and query operations of computing plug-ins on the target cluster; An application management device, the application management device includes an application store management device and an application instance management device, the application instance management device is used to perform unified life cycle management on the application instance plug-in template, the application store management device is used to query the PaaS application corresponding to the application instance plug-in template, and supports query, listing and delisting operations of the application instance plug-in template.

2. The PaaS service management system according to claim 1, characterized in that: The template management device comprises: A computing plug-in parsing device, used for parsing the computing plug-in template to obtain first metadata information; An application instance plug-in parsing device, used for parsing the application instance plug-in template to obtain second metadata information; A plug-in storage device is used to store the operation plug-in template in association with the first metadata information, and to store the application instance plug-in template in association with the second metadata information; store the operation plug-in template in association with the application instance plug-in template according to the first metadata information; and provide addition, modification, deletion and query operations of the first metadata information and / or the second metadata information.

3. The PaaS service management system according to claim 1, characterized in that: The plug-in management device comprises: An installation and deployment interface is used to obtain metadata information of a target application instance plug-in template associated with the target computing plug-in template when the target computing plug-in template is not installed on the target cluster, deploy the target computing plug-in template on the target cluster, and import the metadata information of the target application instance plug-in template into the target cluster for storage; when the target computing plug-in template is installed on the target cluster, return prompt information that the target computing plug-in template has been installed; The instance uninstallation interface is used to uninstall the target computing plug-in template when the target computing plug-in template has been installed on the target cluster, and delete the metadata information of the target application instance plug-in template associated with the target computing plug-in template.

4. The PaaS service management system according to claim 3, characterized in that: The plug-in management device also includes: The template query interface is used to obtain the stored computing plug-in templates to form a list of plug-ins allowed to be installed and deployed and third metadata information after receiving a request to query computing plug-in templates allowed to be installed; The instance metadata storage device is used to store instance information of the target computing plug-in template after the target computing plug-in template is installed in the target cluster.

5. The PaaS service management system according to claim 3, characterized in that: The plug-in management device also includes: An instance status synchronization task is used to monitor the running status of the computing container of the corresponding computing plug-in template in the target cluster in real time, and update the running status information of the application instance according to the running status of the computing container; The instance list interface is used to obtain the instance information that has been installed and running in the target cluster after receiving a request for querying the instance information that has been installed and running in the target cluster.

6. The PaaS service management system according to claim 1, characterized in that: The application store management device comprises: An application template listing interface, which is used to, after receiving a target application instance plug-in template listing request, record the metadata information corresponding to the target application instance plug-in template in the application store when the target application instance plug-in template is not listed on the application store, and mark the status of the target application instance plug-in template as listed; when the target application instance plug-in template is listed on the application store, return a prompt message indicating that the target application instance plug-in template has been listed; The application template delisting interface is used to, after receiving a delisting request for a target application instance plug-in template, delete the metadata information corresponding to the target application instance plug-in template from the application store when the target application instance plug-in template has not been delisted from the application store; when the target application instance plug-in template is delisted from the application store, return a prompt message that the target application instance plug-in template has been delisted.

7. The PaaS service management system according to claim 6, characterized in that: The application store management device also includes: The application template metadata storage device is used to store the plug-in metadata information of the target application instance plug-in template after the target application instance plug-in template is put on the shelf, and provide metadata adding, modifying, deleting and querying operations.

8. The PaaS service management system according to claim 6, characterized in that: The application store management device comprises: The application template list query interface is used to obtain the list information of all listed application instance plug-in templates after receiving a request to query the listed application instance plug-in templates; The application template details query interface is used to obtain the detailed information of all listed application instance plug-in templates after receiving a request to query the details of the listed application instance plug-in templates.

9. The PaaS service management system according to claim 1, characterized in that: The application instance management device is also used to uniformly manage the application instances on multiple target clusters through their lifecycles, and to perform creation, deletion and query operations on the application instances.

10. The PaaS service management system according to claim 9, characterized in that: The application instance management device comprises: The application instance creation interface is used to obtain the metadata information of the application instance plug-in template corresponding to the application instance after receiving a request to create an application instance, and to query whether the metadata information of the application instance plug-in template listed on the application store exists. If so, it verifies whether the corresponding computing plug-in template has been deployed under the target cluster. If the corresponding computing plug-in template has been deployed, it re-renders the application instance plug-in template, adds annotation information to all creation resources, and creates the corresponding application instance on the target cluster.

11. The PaaS service management system according to claim 9, characterized in that: The application instance management device comprises: The application instance deletion interface is used to detect whether the target application instance exists after receiving a request to delete the target application instance; if not, return a prompt message indicating that the target application instance does not exist; if it exists, uninstall the target application instance.

12. The PaaS service management system according to claim 9, characterized in that: The application instance management device comprises: The application instance container information synchronization task is used to monitor all container creation and deletion events in the target cluster; when a container creation event is monitored, the owner reference field of the container object is parsed, the parent resource information is queried, and then the owner reference field of the parent resource object is queried, and the query is recursively performed in sequence until the top-level resource is found. If the annotation in the top-level resource information includes the application instance ID and related information of the type, the relationship between the container information and the application instance ID is recorded; when a container deletion event is monitored, whether there is a corresponding relationship between the corresponding container and the application instance ID, if so, the corresponding relationship between the container and the application instance ID is deleted.

13. The PaaS service management system according to claim 12, characterized in that: The application instance management device also includes: The application instance metadata storage device is used to store application instance information and all container information corresponding to the application instance, and provide metadata adding, modifying, deleting and querying operations.

14. The PaaS service management system according to claim 13, characterized in that: The application instance management device also includes: The application instance list query interface is used to obtain all stored application instance information and return the application instance list after receiving the application instance query request; The application instance container query interface is used to obtain all containers corresponding to the application instance after receiving a container query request corresponding to the application instance, and return the PaaS application container list information.

15. A PaaS service management method, characterized in that: The method comprises: Setting and storing a computing plug-in template and an application instance plug-in template, parsing the computing plug-in template and the application instance plug-in template to obtain corresponding metadata information, and associating and storing the metadata information of the computing plug-in template with the metadata information of the application instance plug-in template; In response to receiving a request to install a target computing plug-in template, deploying the target computing plug-in template on a target cluster, and importing metadata information of the target application instance plug-in template into the target cluster for storage; In response to receiving a request to uninstall a target computing plug-in template, uninstall the target computing plug-in template and delete metadata information of a target application instance plug-in template associated with the target computing plug-in template; In response to receiving a request to put the target application instance plug-in template on the shelf, metadata information corresponding to the target application instance plug-in template is recorded in the application store, and the status of the target application instance plug-in template is marked as put on the shelf; In response to receiving a request to remove the target application instance plug-in template from the shelf, the metadata information corresponding to the target application instance plug-in template is deleted from the application store.

16. The PaaS service management method according to claim 15, characterized in that: The method further comprises: In response to receiving a request to install a target computing plug-in template, when the target computing plug-in template has been installed on the target cluster, returning prompt information indicating that the target computing plug-in template has been installed; In response to receiving a request to uninstall a target computing plug-in template, when the target computing plug-in template does not exist on the target cluster, it is prompted that the target computing plug-in template has been uninstalled; when the target computing plug-in template exists on the target cluster, it is checked whether the target computing plug-in template is running. If the target computing plug-in template is running, it is prompted that the target computing plug-in template exists and uninstallation is not allowed.

17. The PaaS service management method according to claim 15, characterized in that: The method further comprises: In response to receiving a request to create an application instance, obtaining metadata information of an application instance plug-in template corresponding to the application instance, querying whether metadata information of the application instance plug-in template exists on the application store, and if so, verifying whether the corresponding computing plug-in template has been deployed under the target cluster, and if so, re-rendering the application instance plug-in template, adding annotation information to all created resources, and creating the corresponding application instance on the target cluster; In response to receiving a request to delete a target application instance, it is detected whether the target application instance exists; if not, a prompt message indicating that the target application instance does not exist is returned; if it exists, the target application instance is uninstalled.

18. A computer program product, comprising a computer program, characterized in that When the computer program is executed by a processor, the steps of the method according to any one of claims 15 to 17 are implemented.

19. A computer device comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method according to any one of claims 15 to 17 are implemented.

20. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 15 to 17 are implemented.

Citation Information

Patent Citations

  • Plug-in instance management method and system, storage medium and equipment

    CN113608831A

  • Plug-in management system, data synchronization method, device, storage medium and program

    CN118377834A