PaaS service management system, method, product, equipment and storage medium

By defining the operation plug-in template and application instance plug-in template in the PaaS service management system and analyzing the associated metadata information, the complexity of stateful application life cycle management in the Kubernetes cluster is solved, and unified life cycle management and efficient operation of application instances is realized.

CN119739441AActive Publication Date: 2025-04-01JINAN INSPUR DATA TECH CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202510232391.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-02-28
Publication Date
2025-04-01
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 clusters, 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 of various application instances, simplifies the installation, uninstallation, launch and removal of application instances, and improves management efficiency and scalability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119739441A_ABST
    Figure CN119739441A_ABST
Patent Text Reader

Abstract

The invention relates to a PaaS service management system and method, a product, equipment and a storage medium. According to the application, the operation plug-in template and the application instance plug-in template can be set, the operation plug-in template and the application instance plug-in template are associated with the metadata information of the operation plug-in template and the application instance plug-in template, and the user-defined resource information is stored in the metadata information of the application instance plug-in template, so that unified life cycle management of various application instances can be realized; installation, unloading, loading, unloading, maintaining and deleting management of application instance metadata and plug-in templates of the application instance metadata can be completed in a resource information self-defining mode.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of server technology, and in particular 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 Deployment, and achieve cluster deployment of applications by adjusting the number of replicas. However, for stateful applications (such as Redis database), due to the complex deployment logic, it is difficult to create containers by defining various workloads (Deployment, Statefulset, DaemonSet, etc.) to achieve application deployment. To solve this problem, k8s provides an operator method to encapsulate, deploy and manage applications. Operator is a method for encapsulating, deploying and managing Kubernetes applications. Operator is a custom application management logic that extends the Kubernetes API by defining and using custom resources (CRs). However, as more and more operators are extended, how to achieve unified lifecycle management of various applications is a problem that needs to be solved. Summary of the invention

[0003] Based on this, 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 in response to the above technical problems.

[0004] On the one hand, a PaaS service management system is provided, comprising: Computation plugin template; Application example plugin template; A template management device, 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; 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; 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 the query, listing and delisting operations of the application instance plug-in template.

[0005] On the other hand, a PaaS service management method is also provided, the method comprising: 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 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 shelves, the metadata information corresponding to the application instance plug-in template is deleted from the application store.

[0006] In another aspect, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the following steps: 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 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 shelves, the metadata information corresponding to the application instance plug-in template is deleted from the application store.

[0007] In another aspect, a computer device is provided, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the following steps are implemented: 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 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 shelves, the metadata information corresponding to the application instance plug-in template is deleted from the application store.

[0008] In another aspect, a computer-readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented: 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 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 shelves, the metadata information corresponding to the application instance plug-in template is deleted from the application store.

[0009] The above-mentioned PaaS service management system, method, product, computer equipment and storage medium, by setting up an operation plug-in template and an application instance plug-in template, the two and their metadata information are mutually associated, and custom resource information is stored in the metadata information of the application instance plug-in template, so as to realize unified life cycle management of various types of application instances, and can realize the installation, uninstallation, listing, delisting, retention and deletion management of application instance metadata and its plug-in template in the form of custom resource information. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.

[0011] Figure 1 This is a structural block diagram of a PaaS service management system in one embodiment of the present application; Figure 2 This is a structural block diagram of a template management device in one embodiment of the present application; Figure 3 This is a structural block diagram of a plug-in management device in one embodiment of the present application; Figure 4 This is a structural block diagram of an application store management device in one embodiment of the present application; Figure 5 This is a structural block diagram of an application instance management device in one embodiment of the present application; Figure 6 This is a schematic diagram of the PaaS plug-in template directory format in one embodiment of the present application; Figure 7 This is a diagram of the internal structure of a computer device in one embodiment of the present application. DETAILED DESCRIPTION

[0012] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with 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.

[0013] As described in the background technology, OLM (Operator Lifecycle Manager) is part of the K8s Operator Framework community and can help users automatically install, upgrade, and manage the lifecycle 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 install an additional OLM component in each target cluster, and it is impossible to manage PaaS instances in multiple clusters in a unified manner. OLM itself is a complex system that introduces many new concepts and components, such as Catalogs, CSVs, Subscriptions, etc., which increases the difficulty for users to understand and operate.

[0014] 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. It provides a platform for fully managing containerized applications and their lifecycles in a predictable, scalable, and highly available manner.

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

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

[0017] In order to unify lifecycle management, two Helm plug-in templates are defined to deploy Kafka Operator and corresponding Kafka custom resources respectively. Through helm, the deployment of Operator and application instances can be realized.

[0018] Helm: It is a package management tool for Kubernetes, which is similar to the package managers in Linux systems, such as apt or yum. The main function 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.

[0019] Helm Chart: is a packaging format for describing a collection of Kubernetes resources. It is a directory that contains multiple files that describe all the necessary configurations and resources for a related Kubernetes application. The main components of 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.

[0020] In order to achieve the above process. In the cloud management platform (CMP) system, Figure 1 As shown, the PaaS service management system includes a template management device, a plug-in management device, an application management device, and an application instance management device. Figure 1-Figure 5 The PaaS service management system shown in the diagram includes a computing 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. The unified lifecycle management of the PaaS service can be achieved by providing only a computing plug-in template and an application instance plug-in template.

[0021] The template management device is used to parse the computing plug-in template and the application instance plug-in template to obtain corresponding metadata information, and associate the metadata information of the computing plug-in template with the metadata information of the application instance plug-in template for storage.

[0022] The plug-in management device is 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.

[0023] 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 the query, listing and delisting operations of the application instance plug-in template.

[0024] like Figure 2 As shown, the template management device includes a calculation plug-in template and an application instance plug-in template.

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

[0026] The computing plug-in parsing device is used to parse the computing plug-in template to obtain the first metadata information, wherein the first metadata information includes the template name, version number, category, supported CPU architecture, compatible application instance plug-in template version number list, icon and application introduction.

[0027] The application instance plug-in parsing device is used to parse the application instance plug-in template to obtain second metadata information, wherein the second metadata information includes template name, version number, category, supported CPU architecture, icon, application profile and custom resource information.

[0028] A plug-in storage device (PaaSChart 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 a list of compatible application instance plug-in template version numbers of the first metadata information; in response to 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 addition, modification, deletion and query operations of the first metadata information and / or the second metadata information.

[0029] The computing plug-in parsing device parses the incoming computing 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, application introduction, etc.

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

[0031] The plug-in storage device is responsible for storing the metadata and plug-in templates of the computing plug-in and the application instance plug-in, which are used to provide other management devices with plug-in template related information, and provide metadata addition, modification, deletion and query operations.

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

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

[0034] The template query interface obtains a list of plug-ins that are allowed to be installed and deployed 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, application profile, etc.

[0035] After receiving the installation request, the installation deployment interface first calls the instance list interface to check whether it has been installed in the current cluster. If it has been installed, it returns the installation prompt information. If it has not been installed, it obtains the plug-in information through the plug-in storage device in the template management device, and deploys it on the corresponding target cluster through the Helm install method. After the deployment is successful, the deployed instance information is passed to the instance metadata storage device.

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

[0037] After receiving the uninstall request, the instance uninstall interface first checks whether there is an instance plug-in running in the current cluster. If not, it prompts that it has been uninstalled. If it exists, it calls the application instance list query interface in the application instance management device to check whether there is an application instance running. If it exists, it prompts that the application instance exists and uninstallation is not allowed. If it does not exist, the computing plug-in is uninstalled through the helm uninstall method.

[0038] The instance metadata storage device is responsible for storing instance information, including instance ID, cluster, cluster namespace, running status, name and version number of the computing plug-in, and managed CR information. It also provides metadata addition, modification, deletion, and query operations.

[0039] The instance list interface obtains information from the instance metadata storage device and provides information about instances installed and running in all clusters, including the plug-in name, version number, running status, target cluster, and other information.

[0040] The installation and deployment interface is used to, after receiving a request to install a target computing plug-in template, obtain the metadata information of the 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 has been installed on the target cluster, return a prompt information that the target computing plug-in template has been installed.

[0041] The instance uninstallation interface is used to uninstall the target computing plug-in template after receiving a request to uninstall the target computing plug-in template, and delete the metadata information of the target application instance plug-in template associated with the target computing plug-in template when the target computing plug-in template has been installed on the target cluster. Specifically, 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.

[0042] 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 the computing plug-in templates allowed to be installed. The third metadata information includes the PaaS plug-in name, version number, category, supported CPU architecture, icon and application introduction.

[0043] An 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, wherein the instance information includes instance ID, cluster, cluster namespace, running status, computing plug-in name and version number, and managed custom resource information, and provides metadata addition, modification, deletion, and query operations.

[0044] The 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 application instance running status information according to the running status of the computing container.

[0045] The instance list interface is used to obtain the instance information installed and running in the target cluster after receiving a request to query the instance information installed and running in the target cluster. The instance information includes the plug-in name, version number, running status and the target cluster.

[0046] like Figure 4As shown, the application management device is used to provide unified lifecycle management of application instance plug-in templates, supporting operations such as query, listing, and delisting. The device can be used to query PaaS applications that are allowed to be deployed.

[0047] The application management device includes an application template listing interface, an application template delisting interface, an application template metadata storage device, an application template list query interface, and an application template details query interface.

[0048] The application template listing interface is used to, after receiving a request to list a target application instance plug-in template, record the metadata information corresponding to the 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 has been listed on the application store, return a prompt message indicating that the target application instance plug-in template has been listed.

[0049] 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 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.

[0050] An 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, the plug-in metadata information includes template ID, template name, version number, category, supported CPU architecture, icon, application profile and status information, and provides metadata addition, modification, deletion and query operations.

[0051] 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 listed application instance plug-in template list information includes the template name, version number, category, icon and application introduction, and supports paging and conditional filtering.

[0052] 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. The detailed information of the listed application instance plug-in templates includes the template ID, template name, version number, category, supported CPU architecture, icon, application profile, status and numerical file information.

[0053] After receiving the template listing request, the application template listing interface queries whether the template of the application instance plug-in type exists through the plug-in storage device in the template management device according to the template name and version number. If it does not exist, a prompt message is returned. If it exists, the template metadata is obtained, including the template name, version number, category, supported CPU architecture, icon, application introduction and other information. The template information is recorded in the application template metadata storage device, and the status is marked as listed.

[0054] After receiving the template delisting request, the application template delisting interface first checks whether the status of the corresponding template is listed through the application template metadata storage device. If not, a prompt message is returned. If yes, the metadata information corresponding to the template is deleted from the application template metadata storage device.

[0055] The application template metadata storage device is responsible for storing the Chart metadata information of the listed application instance plug-in type, including template ID, template name, version number, category, supported CPU architecture, icon, application profile, and status information. It also provides metadata addition, modification, deletion, and query operations.

[0056] The application template list query interface obtains the list information of all available application templates through the application template metadata storage device. The returned information includes the template name, version number, category, icon, application introduction, and supports paging and conditional filtering.

[0057] The application template details query interface obtains the details of the listed application templates through the application template metadata storage device. The returned information includes template ID, template name, version number, category, supported CPU architecture, icon, application profile, status, and value file information.

[0058] like Figure 5 As shown, the application instance management device is used to uniformly manage the application instances on multiple target clusters through their lifecycles, perform creation, deletion and query operations on the application instances, and implement operations such as creation, deletion and query of PaaS applications.

[0059] 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.

[0060] Containers are the smallest basic unit of deployment and management in a Kubernetes cluster, with collaborative addressing and collaborative scheduling. A container is a collection of one or more containers, an abstract collection of one or a group of services (processes).

[0061] 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.

[0062] 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.

[0063] 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.

[0064] The application instance metadata storage device is used to store application instance information and all container information corresponding to the application instance, including application instance ID, PaaS application name, PaaS application type, custom resource information, K8s, namespace, application instance plug-in information, and associated container list information, and provides metadata addition, modification, deletion, and query operations.

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

[0066] 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. The PaaS application container list information includes the application instance ID, container name, K8s, and namespace.

[0067] After the application instance creation interface receives the PaaS application creation request, it obtains the corresponding application instance plug-in 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, call the instance list interface in the plug-in management device to verify whether the corresponding computing plug-in has been deployed under the target cluster. If not deployed, an error prompt message is given. If the corresponding Operator plug-in has been deployed, the application instance plug-in template is re-rendered, annotation information (application instance ID, type) 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, K8s, namespace, application instance plug-in information, etc.) is stored in the application instance metadata storage device.

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

[0069] The application instance container information synchronization task is responsible for monitoring all container creation and deletion events in the target cluster. When monitoring a container creation event, the ownerReferences field of the container is parsed, the parent resource information is queried, and then the parent resource ownerReferences field is queried. The query is performed recursively until the top-level resource is found. If the annotation in the top-level resource information includes the application instance ID and the type-related information, the relationship between the container information and the application instance ID is recorded in the application instance metadata storage device. When monitoring a container deletion event, the application instance metadata storage device is queried to see whether there is a corresponding relationship between the container and the application instance ID. If so, the corresponding relationship between the container and the application instance ID is deleted in the application instance metadata storage device.

[0070] The application instance metadata storage device is responsible for storing application instance information and all container information of PaaS applications, including application instance ID, PaaS application name, type, CR information, K8s, namespace, application instance plug-in information, and associated container list information. It also provides metadata addition, modification, deletion, and query operations.

[0071] The application instance list query interface returns the application instance list by calling the application instance metadata storage device, including the application instance ID, PaaS application name, type, K8s, and namespace.

[0072] The application instance container query interface returns the PaaS application container list information by calling the application instance metadata storage device, including the application instance ID, container name, K8s, and namespace.

[0073] Therefore, unified lifecycle management of PaaS services is achieved through the template management device, the plug-in management device, the application management device, and the application instance management device.

[0074] The template management device parses and stores computing plug-in type plug-in templates and application instance type plug-in templates by using computing plug-in parsing device (PaaSOperator Chart parsing device), application instance plug-in parsing device (PaaSInstance Chart parsing device) and plug-in storage device.

[0075] The plug-in management device uses 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 to query the list of installable computing plug-ins and provide installation, uninstallation, and query operations on the specified target cluster.

[0076] The application management device implements unified lifecycle management of application instance plug-in templates by using application instance plug-in template listing interface, application instance plug-in template delisting interface, application instance plug-in template metadata storage device, application instance plug-in template list query interface, and application instance plug-in template detail query interface, and supports operations such as query, listing, and delisting. The device can be used to query PaaS applications that are allowed to be deployed.

[0077] The application instance management device achieves unified lifecycle management of application instances on multiple target clusters by using application instance creation interface, application instance deletion interface, application instance container information synchronization task, application instance metadata storage device, application instance list query interface, and application instance container query interface, and supports creation, deletion, query and other operations of PaaS applications.

[0078] In one embodiment, based on the PaaS service management system described above, a PaaS service management method is provided. Taking the management of Redis application as an example, the specific implementation process of PaaS service unified lifecycle management is described as follows: Arrange the Helm plugin templates for deploying Redis Operator and creating Redis application instances respectively, and follow the steps below: Figure 6 The directory format is shown.

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

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

[0081] The application instance plug-in parsing device in the template management device obtains the Redis Instance plug-in template information by reading the PaaSChart directory structure. Through the directory structure, the type of the template paasInstanceType = "database" and the architecture supported by the template paasInstanceArch = "allarch" can be obtained; by parsing the Chart.yaml file, the template name paasInstanceChartName = "redis", the version number paasInstanceChartVersion = "2.1.0", and the template introduction paasInstanceDescription = "provides single-node, cluster mode, and sentinel mode Redis services" can be obtained; the plug-in template icon information is 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".

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

[0083] The super administrator in the CMP (Cloud Management Platform) calls the template query interface in the plug-in management device, which obtains the list of plug-ins that are allowed to be installed and deployed through the plug-in storage device in the template management device. At this time, the query list includes the Redis Operator plug-in information, including the Redies Operator plug-in name, version number, category, supported CPU architecture, icon, application introduction and other metadata information.

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

[0085] The super administrator in CMP deploys the RedisOperator plug-in by calling the installation and deployment interface in the plug-in management device. After receiving the request, the interface first calls the instance list interface to verify whether it has been installed in the current cluster. If it has been installed, it returns a prompt message "The Redis Operator plug-in has been installed in this cluster, please install it again." If it has not been installed, the plug-in information is obtained through the plug-in storage device in the template management device, and the Redis Operator is deployed on the K8sCluster1 cluster using 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; Redis Operator instance name operatorInstanceName=redis-operator; target cluster name operatorInstanceK8s=K8sCluster1; target cluster name operatorInstanceNS=paas-operator; operation plug-in name paasOperatorChartName=redis-operator; operation plug-in version number paasOperatorChartVersion=1.1.0; because the Redis Instance plug-in template compatible with this plug-in is paasInstanceChartCompatibleVersion="redis-2.1.0", query the corresponding application instance plug-in to obtain CR information paasInstanceCR="apiVersion:redis.redis.opstreelabs.in / v1beta2 kind:RedisReplication"; running status operatorInstanceStatus=Installed The metadata information is passed into the instance metadata storage device.

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

[0087] The instance status synchronization task monitors the containers under the paas-operator namespace in the K8sCluster1 cluster. When the containers corresponding to the Redis Operator all become Running, the operatorInstanceName=redis-operator metadata information is updated: operatorInstanceStatus=Running.

[0088] The super administrator in CMP can query the running information of the RedisOperator plug-in by calling the instance list interface in the plug-in management device, including the plug-in name operatorInstanceName, version number operatorInstanceChartVersion, running status operatorInstanceStatus, target cluster operatorInstanceK8s and other information.

[0089] If the super administrator in the CMP wants to uninstall the Redis Operator plug-in, he can call the instance uninstallation interface in the plug-in management device.

[0090] After receiving the request, the instance uninstallation interface first checks whether there is an instance plug-in running in the current K8sCluster1 cluster. If not, it prompts "The Redis Operator plug-in has been uninstalled". If it exists, call the application instance list query interface in the application instance management device to check whether there is an instance of the type "apiVersion:redis.redis.opstreelabs.in / v1beta2 kind:RedisReplication". If it exists, it prompts "Application instance exists, uninstallation is not allowed". If it does not exist, uninstall the Redis Operator plug-in on the K8sCluster1 cluster through helm uninstall --namespacepaas-operator --name redis-operator --kubeconfig=K8sCluster1.conf.

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

[0092] After the application template listing interface receives the Redis template listing request, based on the template name paasInstanceChartName="redis" and the version number paasInstanceChartVersion="2.1.0", it queries the plug-in storage device in the template management device to find out whether the application instance plug-in type exists, and obtains the template-related metadata, including the 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="provides single-node, cluster mode, and sentinel mode Redis services" and other information. The template information is recorded in the application template metadata storage device, and the status is marked as available paasInstanceChartStatus=Available.

[0093] If the super administrator in the CMP no longer wishes to provide the Redis service, the Redis application template can be removed from the shelves through the application template removal interface in the application management device.

[0094] After receiving the Redis template delisting request, the application template delisting interface first queries the application template metadata storage device to see whether the template status (paasInstanceChartStatus) of the template name paasInstanceChartName = "redis" and version number paasInstanceChartVersion = "2.1.0" is available. If not, the prompt message "The template does not exist or has been delisted" is returned. If yes, the metadata information corresponding to the template is deleted from the application template metadata storage device.

[0095] After the super administrator in CMP lists the Redis service, ordinary users in CMP can query the list of PaaS service catalogs that are allowed to be deployed, including the listed Redis service information, through the application template list query interface. The specific returned information includes paging information: 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="provides single-node, cluster mode, and sentinel mode Redis services".

[0096] The common user user1 in the CMP creates a Redis application instance named test-redis in the redis-ns namespace on the K8sCluster1 cluster by using the application instance creation interface in the application instance management device.

[0097] 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, 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”, K8s paasInstanceK8s=K8sCluster1, namespace paasInstanceNS=redis-ns, PaaSInstance Chart information paasInstanceChartName=redis, paasInstanceChartVersion=2.1.0, creator createUser=user1) is stored in the application instance metadata storage device.

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

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

[0100] After receiving the deletion request, the application instance deletion interface verifies whether the Redis instance exists through the application instance metadata storage device according to the PaaS application instance ID passInstanceUUID=fb86bfd2e2f810afce6ddc07e135651a. If it does not exist, it prompts "The application does not exist or has been deleted" and exits. If it exists, the application name passInstanceName=test-redis, the K8spaasInstanceK8s=K8sCluster1, and the namespace paasInstanceNS=redis-ns can be queried through paasInstanceUUID, and the application instance is uninstalled by executing helmuninstall --namespace redis-ns --name test-redis --kubeconfig=K8sCluster1.conf.

[0101] The application instance container information synchronization task is responsible for monitoring all container creation and deletion events in the target cluster. When monitoring the container creation event named test-redis-0, the ownerReferences field of the container is parsed as apiVersion=apps / v1, Kind=StatefuSet, name=test-redis. The ownerReferences field of the StatefuSet resource of test-redis queried through the K8s API interface is apiVersion=redis.redis.opstreelabs.in / v1beta2, Kind=RedisReplication, name=test-redis. If the ownerReferences are not obtained when querying the RedisReplication resource of test-redis through the K8s API interface, then this resource is the top-level resource. Since the application instance creation interface has written the application instance ID and its type into the resource of the RedisReplication type during the helm install process, the application instance ID passInstanceUUID=fb86bfd2e2f810afce6ddc07e135651a and its 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 its application instance ID ( passInstanceUUID=fb86bfd2e2f810afce6ddc07e135651a) are recorded in the application instance metadata storage device. When the container deletion event of test-redis-0 is monitored, the PaaS application instance ID to which it belongs is found according to the above rules, and the corresponding relationship between the container and the application instance ID is deleted from the application instance metadata storage device according to passInstanceUUID and podName.

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

[0103] 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 of createUser=user1 through the application instance metadata storage device, and the specific returned information includes paging information: 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, K8s paasInstanceK8s=K8sCluster1, namespace paasInstanceNameSpace= redis-ns.

[0104] 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 passInstanceUUID, the application instance container query interface verifies whether the creator createUser of passInstanceUUID= fb86bfd2e2f810afce6ddc07e135651a is user1 by calling the application instance metadata storage device. If not, a prompt is given and the query returns. If yes, the container list information is queried by calling the application instance metadata storage device. The specific returned information includes paging information: 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, K8s paasInstanceK8s=K8sCluster1, namespace paasInstanceNameSpace= redis-ns.

[0105] In one embodiment, based on the above-mentioned PaaS service management system, a PaaS service management method is provided, comprising the following steps: 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 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 shelves, the metadata information corresponding to the application instance plug-in template is deleted from the application store.

[0106] Specifically, in response to receiving a request to install a target computing plug-in template, when the target computing plug-in template is not installed on the target cluster, obtaining metadata information of a target application instance plug-in template associated with the target computing plug-in template, deploying the target computing plug-in template on the target cluster, and importing the 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, when the target computing plug-in template has been installed on the target cluster, 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 list a target application instance plug-in template, when the target application instance plug-in template is not listed on an application store, metadata information corresponding to the application instance plug-in template is recorded in the application store, and a status of the target application instance plug-in template is marked as listed; In response to receiving a request to remove a target application instance plug-in template from shelves, when the target application instance plug-in template has not been removed from the application store, metadata information corresponding to the application instance plug-in template is deleted from the application store.

[0107] Among them, by setting the operation plug-in template and the application instance plug-in template, the two and their metadata information are associated with each other, and the custom resource information is stored in the metadata information of the application instance plug-in template, which can realize the unified life cycle management of various application instances, and the installation, uninstallation, listing, delisting, retention and deletion management of the application instance metadata and its plug-in template can be completed in the form of custom resource information.

[0108] In this embodiment, the parsing of 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 includes: Parsing the computing plug-in template to obtain first metadata information, the first metadata information including template name, version number, category, supported CPU architecture, compatible application instance plug-in template version number list, icon and application introduction; Parsing the application instance plug-in template to obtain second metadata information, the second metadata information including template name, version number, category, supported CPU architecture, icon, application introduction and custom resource information; The computing plug-in template is associated with the first metadata information and stored, and the application instance plug-in template is associated with the second metadata information and stored; According to the compatible application instance plug-in template version number list of the first metadata information, the computing plug-in template is associated with the application instance plug-in template and stored; In response to receiving a request to query the operation plug-in template or the application instance plug-in template, a list of the operation plug-in template or the application instance plug-in template is formed, and addition, modification, deletion and query operations of the first metadata information and / or the second metadata information are provided.

[0109] In this embodiment, the method further includes: 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.

[0110] In this embodiment, the method further includes: In response to receiving a request to query the computing plug-in templates that are allowed to be installed, the stored computing plug-in templates are obtained to form a list of plug-ins allowed to be installed and deployed and third metadata information, wherein the third metadata information includes the PaaS plug-in name, version number, category, supported CPU architecture, icon and application profile.

[0111] In this embodiment, the method further includes: In response to installing the target computing plug-in template in the target cluster, the instance information of the target computing plug-in template is stored, wherein the instance information includes the instance ID, the cluster, the cluster namespace, the running status, the name and version number of the computing plug-in, the managed custom resource information, and provides metadata addition, modification, deletion and query operations.

[0112] In this embodiment, the method further includes: 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.

[0113] In this embodiment, the method further includes: In response to receiving a request for querying instance information installed and running in the target cluster, the instance information installed and running in the target cluster is obtained, the instance information including the plug-in name, version number, running status and target cluster.

[0114] In this embodiment, the method further includes: In response to receiving a request to list a target application instance plug-in template, when the target application instance plug-in template has been listed on the application store, returning prompt information indicating that the target application instance plug-in template has been listed; In response to receiving a request to remove the target application instance plug-in template, when the target application instance plug-in template is removed from the application store, a prompt message indicating that the target application instance plug-in template has been removed is returned.

[0115] In this embodiment, the method further includes: In response to the target application instance plug-in template having been put on the shelves, the plug-in metadata information of the target application instance plug-in template is stored, and the plug-in metadata information includes template ID, template name, version number, category, supported CPU architecture, icon, application profile and status information, and provides metadata addition, modification, deletion and query operations.

[0116] In this embodiment, the method further includes: In response to receiving a request to query the listed application instance plug-in templates, a list of all listed application instance plug-in templates is obtained, wherein the list of listed application instance plug-in templates includes template name, version number, category, icon and application introduction, and supports paging and conditional filtering.

[0117] In this embodiment, the method further includes: In response to receiving a request to query the details of the listed application instance plug-in templates, the detailed information of all the listed application instance plug-in templates is obtained, and the detailed information of the listed application instance plug-in templates includes template ID, template name, version number, category, supported CPU architecture, icon, application profile, status and value file information.

[0118] In this embodiment, the method further includes: In response to receiving a request to create an application instance, metadata information of the application instance plug-in template corresponding to the application instance is obtained, and metadata information of the application instance plug-in template listed on the application store is queried. If so, it is verified whether the corresponding operation plug-in template has been deployed under the target cluster. If the corresponding operation plug-in template has been deployed, the application instance plug-in template is re-rendered, annotation information is added to all created resources, and the corresponding application instance is created on the target cluster.

[0119] In this embodiment, the method further includes: 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.

[0120] In this embodiment, the method further includes: Listen to all container creation and deletion events in the target cluster; When listening to the container creation event, parse the owner reference (ownerReferences) field of the container object, query the parent resource information, and then query the owner reference field of the parent resource object, and recursively query in sequence until the top-level resource is found. If the annotation in the top-level resource information includes the application instance ID and the type related information, then record the relationship between the container information and the application instance ID; When a container deletion event is monitored, it is checked whether there is a corresponding relationship between the container and the application instance ID. If so, the corresponding relationship between the container and the application instance ID is deleted.

[0121] In this embodiment, the method further includes: Stores application instance information and all container information corresponding to the application instance, including application instance ID, PaaS application name, PaaS application type, custom resource information, K8s, namespace, application instance plug-in information, and associated container list information, and provides metadata addition, modification, deletion, and query operations.

[0122] In this embodiment, the method further includes: In response to receiving the request to query the application instance, all stored application instance information is obtained and an application instance list is returned, wherein the application instance list includes the application instance ID, PaaS application name, PaaS application type, K8s to which it belongs, and namespace to which it belongs.

[0123] In this embodiment, the method further includes: In response to receiving a request to query the container corresponding to the application instance, all containers corresponding to the application instance are obtained, and PaaS application container list information is returned. The PaaS application container list information includes the application instance ID, container name, K8s, and namespace.

[0124] In the above-mentioned PaaS service management method, by setting the operation plug-in template and the application instance plug-in template, the two and their metadata information are mutually associated, and the custom resource information is stored in the metadata information of the application instance plug-in template, so as to realize the unified life cycle management of various application instances, and the installation, uninstallation, listing, delisting, retention and deletion management of the application instance metadata and its plug-in template can be completed in the form of custom resource information.

[0125] For the specific definition of the PaaS service management method, please refer to the definition of the PaaS service management system above, which will not be repeated here. Each module in the above-mentioned PaaS service management system can be implemented in whole or in part through software, hardware and a combination thereof. The above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory in the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules. The above-mentioned PaaS service management method can be implemented by mutual calling based on the module structure of the PaaS service management system.

[0126] In one embodiment, a computer device is provided. The computer device may be a server, and its internal structure diagram may be as follows: Figure 7As 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, a PaaS service management method is implemented.

[0127] Those skilled in the art will understand that Figure 7 The structure shown in the figure is only a block diagram of a part of the structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0128] In one embodiment, a computer program product is provided, comprising a computer program, which, when executed by a processor, implements the following steps: 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 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 shelves, the metadata information corresponding to the application instance plug-in template is deleted from the application store.

[0129] For the specific limitations on the steps implemented when the computer program is executed by the processor, please refer to the limitations on the PaaS service management method above, which will not be repeated here.

[0130] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the following steps when executing the computer program: 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 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 shelves, the metadata information corresponding to the application instance plug-in template is deleted from the application store.

[0131] For the specific limitations on the steps implemented when the processor executes the computer program, please refer to the limitations on the PaaS service management method above, which will not be repeated here.

[0132] In one embodiment, a computer readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, the following steps are implemented: 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 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 shelves, the metadata information corresponding to the application instance plug-in template is deleted from the application store.

[0133] For the specific limitations on the steps implemented when the computer program is executed by the processor, please refer to the limitations on the PaaS service management method above, which will not be repeated here.

[0134] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be implemented by instructing the relevant hardware through a computer program, and 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-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may 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 (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

[0135] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, 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, they should be considered to be within the scope of this specification.

[0136] The above-mentioned embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for ordinary technicians in this field, several variations and improvements can be made without departing from the concept of the present application, 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; 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 the 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 management device comprises: An application template listing interface, which is used to, after receiving a listing request for a target application instance plug-in template, record metadata information corresponding to the 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 prompt information 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 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 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 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 PaaS service management system also includes: The application instance management device is used for unified life cycle management of application instances on multiple target clusters, and performs 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 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 shelves, the metadata information corresponding to the 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

  • Method and system for developing applications for consulting content and services on a telecommunications network

    CN104321743A

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

    CN113608831A

  • System for managing middleware life cycle based on kubernetes multi-cluster

    CN115801799A

  • Application processing method and device based on container isolation, equipment and storage medium

    CN117931374A

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

    CN118377834A