Gateway deployment method and device, equipment, storage medium and product

By receiving in-management cluster instructions in the cloud console and deploying gateway controllers to monitor CRD resources in multiple target subclusters, the problem of low flexibility in deployment of existing cloud native gateways is solved, and flexible gateway deployment and management in multi-cluster environments are realized.

CN119835154APending Publication Date: 2025-04-15CHINA MOBILE (SUZHOU) SOFTWARE TECH CO LTD +1

Patent Information

Application Number
CN202510096432.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-01-21
Publication Date
2025-04-15

AI Technical Summary

Technical Problem

The existing cloud native gateways are less flexible when deploying, making it difficult to meet the needs of multi-clusters and multi-resource pools.

Method used

By receiving in-management cluster instructions from the cloud console, executing in-management cluster process, and deploying multiple gateway controllers in multiple target subclusters, these controllers are used to monitor CRD resources, thereby achieving flexible deployment of cloud-native gateways.

Benefits of technology

Improves flexibility in cloud-native gateway deployment, allowing gateways to be deployed on demand in multiple target subclusters to meet the routing and load balancing requirements across clusters, and improves the availability and elastic scaling capabilities of applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119835154A_ABST
    Figure CN119835154A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses a gateway deployment method and device, equipment, a storage medium and a computer program product, and the method comprises the steps: carrying out the process of a nano-management cluster on a plurality of target sub-clusters indicated by a nano-management cluster instruction under the condition that the nano-management cluster instruction is received from a cloud console; correspondingly deploying a plurality of gateway controllers in the plurality of target sub-clusters; the plurality of gateway controllers are in one-to-one correspondence with the plurality of target sub-clusters; monitoring a plurality of groups of CRD resources corresponding to the plurality of target sub-clusters by using the plurality of gateway controllers; and completing a cloud native gateway deployment process in the plurality of target sub-clusters according to the plurality of groups of CRD resources. According to the invention, the flexibility of cloud native gateway deployment can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of cloud computing, big data and edge computing technology, and in particular to a gateway deployment method and apparatus, equipment, storage medium, and computer program product. Background Art

[0002] In the cloud-native era, the cloud-native gateway, as the entrance for traffic of applications within the cluster, is a technology used to build and manage cloud-native network architecture and is indispensable for the cloud-native era.

[0003] In the related art, current cloud-native gateways usually start pre-configured gateway instances after cluster creation in the form of configuration and image solidification, which reduces the flexibility of cloud-native gateway deployment. Summary of the invention

[0004] In order to solve the above technical problems, the embodiments of the present application hope to provide a gateway deployment method and apparatus, equipment, storage medium, and computer program product, which can improve the flexibility of cloud native gateway deployment.

[0005] The technical solution of this application is implemented as follows:

[0006] The present application provides a gateway deployment method, the method comprising:

[0007] In case of receiving a cluster management instruction from the cloud console, executing a cluster management process on multiple target subclusters indicated by the cluster management instruction;

[0008] Deploy multiple gateway controllers in the multiple target subclusters respectively; the multiple gateway controllers correspond to the multiple target subclusters one by one;

[0009] Using multiple gateway controllers to monitor multiple groups of CRD resources corresponding to the multiple target subclusters;

[0010] The cloud native gateway deployment process in the multiple target subclusters is completed according to the multiple groups of CRD resources.

[0011] An embodiment of the present application provides a gateway deployment device, the gateway deployment device comprising:

[0012] An execution unit, configured to, upon receiving a cluster management instruction from a cloud console, execute a cluster management process on a plurality of target subclusters indicated by the cluster management instruction;

[0013] A deployment unit, configured to deploy a plurality of gateway controllers in a plurality of target subclusters respectively; the plurality of gateway controllers correspond one-to-one to the plurality of target subclusters; and complete a cloud native gateway deployment process in the plurality of target subclusters according to the plurality of groups of CRD resources;

[0014] The monitoring unit is used to monitor multiple groups of CRD resources corresponding to the multiple target sub-clusters by using multiple gateway controllers.

[0015] An embodiment of the present application provides a gateway deployment device, the gateway deployment device comprising:

[0016] A memory, a processor and a communication bus, wherein the memory communicates with the processor via the communication bus, and the memory stores a gateway deployment program executable by the processor. When the gateway deployment program is executed, the above-mentioned gateway deployment method is executed by the processor.

[0017] An embodiment of the present application provides a storage medium having a computer program stored thereon, which is applied to a gateway deployment device, and is characterized in that when the computer program is executed by a processor, the above-mentioned gateway deployment method is implemented.

[0018] An embodiment of the present application also provides a computer program product, including a computer program, which can be executed by a processor in a gateway deployment device to complete the steps of the aforementioned gateway deployment method.

[0019] The embodiment of the present application provides a gateway deployment method and device, equipment, storage medium, and computer program product. The gateway deployment method includes: when receiving a cluster management instruction from a cloud console, executing the cluster management process for multiple target subclusters indicated by the cluster management instruction; deploying multiple gateway controllers in multiple target subclusters respectively; multiple gateway controllers correspond to multiple target subclusters one by one; using multiple gateway controllers to monitor multiple groups of CRD resources corresponding to multiple target subclusters; and completing the cloud native gateway deployment process in multiple target subclusters according to multiple groups of CRD resources. The above method is implemented, and the gateway deployment device manages multiple target subclusters through a cloud console, and deploys multiple gateway controllers in multiple subclusters respectively, so that multiple gateway controllers can be used to monitor multiple groups of CRD resources corresponding to multiple subclusters respectively; when it is necessary to deploy a cloud native gateway in multiple target subclusters, the corresponding CRD resources are directly issued through the cloud console and the gateway controller is used to implement the deployment of the cloud native gateway, that is, the gateway is deployed on demand according to the multiple groups of CRD resources monitored by multiple gateway controllers, which improves the flexibility of cloud native gateway deployment. BRIEF DESCRIPTION OF THE DRAWINGS

[0020] Figure 1 A flow chart of a gateway deployment method provided in an embodiment of the present application;

[0021] Figure 2 A schematic diagram of an exemplary management cluster provided in an embodiment of the present application;

[0022] Figure 3 A schematic diagram of an exemplary cross-cluster hosting deployment process of a gateway provided in an embodiment of the present application;

[0023] Figure 4 A schematic diagram of an exemplary gateway structure provided for an embodiment of the present application;

[0024] Figure 5 A schematic diagram of the structure of a gateway deployment device provided in an embodiment of the present application;

[0025] Figure 6 A schematic diagram of the composition structure of a gateway deployment device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0026] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. It should be understood that the specific embodiments described here are only used to explain the present application and are not used to limit the present application.

[0027] Before further describing the embodiments of the present application in detail, the nouns and terms involved in the embodiments of the present application are explained. The nouns and terms involved in the embodiments of the present application are subject to the following interpretations.

[0028] 1) K8s container cluster (Kubernetes Cluster, K8s).

[0029] 2) Custom Resource Definition (CRD), CRD is a native resource type built into Kubernetes. It is the definition of a custom resource (CR) and is used to describe what a custom resource is. CRD can register a new resource with the Kubernetes cluster to expand the capabilities of the Kubernetes cluster. CRD can be used to customize the abstraction of the underlying infrastructure, customize resource types according to business needs, and use the existing resources and capabilities of Kubernetes to define a higher level of abstraction through the Lego brick model.

[0030] 3) Custom Resource (CR): CR is essentially an instance of CRD and a resource description that conforms to the field format definition in CRD.

[0031] The embodiment of the present application provides a gateway deployment method, and the gateway deployment method is applied to a gateway deployment device. Figure 1 A flow chart of a gateway deployment method provided in an embodiment of the present application, such as Figure 1 As shown, the gateway deployment method may include:

[0032] S101 . When a cluster management instruction is received from a cloud console, a cluster management process is executed on multiple target subclusters indicated by the cluster management instruction.

[0033] A gateway deployment method provided in an embodiment of the present application is suitable for the scenario of deploying a cloud native gateway.

[0034] In the embodiments of the present application, the gateway deployment device can be implemented in various forms. For example, the gateway deployment device described in the present application can include devices such as a server and a computer, or can be other devices, which is not limited in the specific embodiments of the present application.

[0035] In an embodiment of the present application, after the user logs in to the cloud console using his or her own account, he or she can configure the instructions for the cluster to be managed in the cloud console, and send the instructions to the gateway deployment device through the cloud console, so that the gateway deployment device receives the cluster management instructions from the cloud console.

[0036] In the embodiment of the present application, the cluster management instruction carries information of multiple target sub-clusters, and the multiple target sub-clusters can be determined from the cluster management instruction.

[0037] It should be noted that the cloud console can be the main cluster, and users can manage multiple target subclusters through the main cluster.

[0038] In the embodiment of the present application, the specific manner in which the gateway deployment device executes the cluster management for multiple target sub-clusters can be determined according to actual conditions, and the embodiment of the present application does not limit this.

[0039] In the embodiment of the present application, in the era of cloud-native applications, the user's business is usually not fully deployed in one cluster to meet the needs. Generally, multiple clusters and multiple resource pools are required to provide application reliability across multiple container clusters. For container clusters in multiple resource pools, a main cluster can be used as the user access control entrance (cloud console), and the main cluster can manage sub-clusters, so that users can access and use sub-clusters through the cloud console page of the main cluster, and deploy services to each sub-cluster in a unified perspective on the console page. In a typical public cloud or hybrid cloud scenario, the cloud console page is the cloud platform user interface for all users. Different users can only see the cloud resources under their own account according to account permission restrictions.

[0040] In an embodiment of the present application, a cloud native gateway is a technology for building and managing a cloud native network architecture. Implementing cross-cluster cloud native gateway managed deployment can provide gateway high availability and elastic expansion capabilities, because each cluster has an independent gateway instance, and the gateway node can be dynamically expanded and reduced according to the actual load. At the same time, through a unified management platform, the entire cross-cluster gateway can be centrally configured and managed, improving operation and maintenance efficiency. When deploying cloud native gateway instances, deployment and management are based on Kubernetes containerization technology. Each cluster supports the deployment of one or more gateway instances. Routing configuration can be performed on these gateway instances according to the business needs of the applications in the cluster. The gateway also provides load balancing functions to application services.

[0041] In an embodiment of the present application, cross-cluster cloud native gateway managed deployment is a way to deploy cloud native gateways in multiple clusters and deploy and manage them through a unified management platform. It can provide cross-cluster routing and load balancing functions, so that applications in different clusters can be accessed through a unified entrance, improving the availability and elastic expansion capabilities of applications. The key goal of implementing cross-cluster cloud native gateway managed deployment is to deploy cloud native gateway instances in each cluster, which are registered in a unified management platform, so that the cloud console can obtain information about gateway instances in each cluster and perform unified configuration and management.

[0042] In an embodiment of the present application, the gateway deployment device executes a cluster management process for multiple target subclusters indicated by the cluster management instruction, including: obtaining multiple cluster certificates and multiple access addresses corresponding to the multiple target subclusters; establishing network links with the multiple target subclusters according to the multiple access addresses; obtaining multiple access permissions for the multiple target subclusters according to the multiple cluster certificates; and determining that the cluster management of the multiple target subclusters is successful when multiple access permissions are obtained and successfully linked to the multiple target subclusters.

[0043] It should be noted that the multiple cluster certificates are specifically user certificates in the kubeconfig files in the multiple target subclusters.

[0044] In the embodiment of the present application, multiple cluster certificates correspond to multiple target sub-clusters one by one, that is, one cluster certificate corresponds to one target sub-cluster.

[0045] It should be noted that the multiple access addresses are specifically the apiserver access addresses of multiple target subclusters.

[0046] In the embodiment of the present application, multiple access addresses correspond to multiple target sub-clusters one by one, that is, one access address corresponds to one target sub-cluster.

[0047] In an embodiment of the present application, the gateway deployment device can obtain multiple cluster certificates and multiple access addresses from a database, and the gateway deployment device can also obtain multiple cluster certificates and multiple access addresses from the cluster management instructions input by the user; the gateway deployment device can also obtain multiple cluster certificates and multiple access addresses from other devices. The specific way in which the gateway deployment device obtains multiple cluster certificates and multiple access addresses can be determined based on actual conditions, and the embodiment of the present application does not limit this.

[0048] In an embodiment of the present application, the gateway deployment device can establish network links between the cloud console and multiple target sub-clusters respectively according to multiple access addresses. The specific method of establishing network links between the cloud console and multiple target sub-clusters respectively can be determined according to actual conditions, and the embodiment of the present application does not limit this.

[0049] In the embodiment of the present application, the manner in which the gateway deployment device obtains multiple access rights for multiple target sub-clusters according to multiple cluster certificates can be determined according to actual conditions, and the embodiment of the present application does not limit this.

[0050] In an embodiment of the present application, after the gateway deployment device successfully establishes a network link between the cloud console and multiple target subclusters and obtains multiple access permissions for the multiple target subclusters, it completes the process of executing the managed cluster for the multiple target subclusters indicated by the managed cluster instruction, and then can use the multiple target subclusters through the application programming interface (Application Programming Interface, API) interface calls inside or outside the cluster of the multiple target subclusters.

[0051] In an embodiment of the present application, when the gateway deployment device receives a cluster management instruction from the cloud console, it will establish multiple clusters before executing the cluster management process for multiple target sub-clusters indicated by the cluster management instruction; when receiving a main cluster determination instruction, it will determine the main cluster from multiple clusters according to the main cluster determination instruction; the remaining clusters in the multiple clusters except the main cluster are used as multiple sub-clusters; and the main cluster is used as the cloud console.

[0052] It should be noted that the multiple subclusters include multiple target subclusters.

[0053] In an embodiment of the present application, the gateway deployment device can establish multiple clusters according to the user's cluster establishment instructions, or it can establish multiple clusters according to configuration information. The specific triggering conditions for the gateway deployment device to establish multiple clusters can be determined according to actual conditions, and the embodiment of the present application does not limit this.

[0054] In the embodiment of the present application, the specific manner in which the gateway deployment device establishes multiple clusters can be determined based on actual conditions, and the embodiment of the present application does not limit this.

[0055] In the embodiment of the present application, when the gateway deployment device receives the main cluster determination indication, the cluster indicated in the main cluster determination indication is used as the main cluster.

[0056] Exemplarily, the gateway deployment device can also determine the main cluster from multiple clusters by itself, such as taking the first established cluster among multiple clusters as the main cluster, or randomly selecting a cluster from multiple clusters as the main cluster. The main cluster can also be determined from multiple clusters in other ways. The specific implementation method can be determined according to actual conditions, and the embodiments of the present application are not limited to this.

[0057] In the embodiment of the present application, the main cluster can be used as a user access control entrance, that is, the main cluster can be used as a cloud console.

[0058] S102: deploy multiple gateway controllers in multiple target subclusters respectively.

[0059] In the embodiment of the present application, after the gateway deployment device executes the cluster management process for the multiple target sub-clusters indicated by the cluster management instruction, multiple gateway controllers can be deployed in the multiple target sub-clusters respectively.

[0060] It should be noted that the multiple gateway controllers correspond to the multiple target sub-clusters one by one, that is, one target sub-cluster corresponds to one gateway controller.

[0061] In an embodiment of the present application, the process of a gateway deployment device deploying multiple gateway controllers in multiple target sub-clusters respectively includes: obtaining multiple target control programs corresponding to the multiple gateway controllers; using multiple application service interfaces in the multiple target sub-clusters to respectively start the multiple target control programs, and completing the deployment process of multiple bending pipe controllers in the multiple target sub-clusters.

[0062] It should be noted that the multiple application service interfaces are multiple API interfaces, specifically, multiple API interfaces inside or outside the cluster of the target sub-clusters.

[0063] In an embodiment of the present application, each target control program can be obtained from the mirror repository of the large area network to which each of the multiple target sub-clusters belongs, thereby obtaining multiple target control programs; multiple target control programs corresponding to multiple gateway controllers can also be obtained by other means; the specific method of obtaining multiple target control programs corresponding to multiple gateway controllers can be determined according to actual conditions, and the embodiment of the present application is not limited to this.

[0064] In an embodiment of the present application, multiple target control programs are controller configuration information of multiple gateway controllers. The cloud console can be used to remotely call multiple API interfaces corresponding to multiple target subclusters to start multiple target control programs in multiple target subclusters respectively, thereby completing the process of deploying multiple gateway controllers in multiple target subclusters respectively.

[0065] It should be noted that the cloud console can be used to remotely call the first API interface corresponding to the first target subcluster among the multiple target subclusters. In the first target subcluster, the first target control program among the multiple target control programs is started by using the first API interface to complete the process of deploying the first gateway controller in the first target subcluster; the cloud console can be used to remotely call the second API interface corresponding to the second target subcluster among the multiple target subclusters. In the second target subcluster, the second target control program among the multiple target control programs is started by using the second API interface to complete the process of deploying the second gateway controller in the second target subcluster; the cloud console can be used to remotely call the third API interface corresponding to the third target subcluster among the multiple target subclusters. In the third target subcluster, the third target control program among the multiple target control programs is started by using the third API interface to complete the process of deploying the third gateway controller in the third target subcluster; … The cloud console can be used to remotely call the last API interface corresponding to the last target subcluster among the multiple target subclusters. In the last target subcluster, the last target control program among the multiple target control programs is started by using the last API interface to complete the process of deploying the last gateway controller in the last target subcluster.

[0066] S103: Use multiple gateway controllers to monitor multiple groups of CRD resources corresponding to multiple target subclusters.

[0067] In the embodiment of the present application, after the gateway deployment device deploys multiple gateway controllers in the multiple target sub-clusters respectively, the multiple gateway controllers can be used to monitor multiple groups of CRD resources corresponding to the multiple target sub-clusters.

[0068] In an embodiment of the present application, before the gateway deployment device uses multiple gateway controllers to monitor multiple groups of CRD resources corresponding to multiple target subclusters, it can also receive multiple groups of gateway configuration information configured by the user from the cloud console; and convert the multiple groups of gateway configuration information into multiple groups of CRD resources.

[0069] In the embodiment of the present application, each set of gateway configuration information in the multiple sets of gateway configuration information is configuration information required to establish a gateway instance.

[0070] In the embodiment of the present application, multiple groups of gateway configuration information correspond one-to-one to multiple groups of CRD resources, that is, one group of gateway configuration information corresponds to one group of CRD resources.

[0071] In the embodiment of the present application, the manner of converting multiple groups of gateway configuration information into multiple groups of CRD resources can be determined according to actual conditions, and the embodiment of the present application does not limit this.

[0072] It should be noted that in the cloud console interface, users can log in to their accounts and enter the gateway product page, where they can select the managed sub-clusters and target namespaces, and order and deploy the gateway to the cluster and namespace in the management interface. After the gateway is deployed, the gateway can be used to provide services for the cluster.

[0073] In an embodiment of the present application, one cloud native gateway corresponds to a set of gateway configuration information, and the gateway deployment device can deploy at least one cloud native gateway in a target subcluster according to user needs.

[0074] In an embodiment of the present application, after the gateway deployment device converts multiple groups of gateway configuration information into multiple groups of CRD resources, it uses the cloud console to transmit the multiple groups of CRD resources to multiple gateway controllers respectively. When multiple gateway controllers monitor the multiple groups of CRD resources, the multiple gateway controllers respectively deploy corresponding cloud native gateways in multiple target subclusters according to the corresponding CRD resources.

[0075] In the embodiments of the present application, Figure 2 As shown in the figure, in the cloud console interface, users log in with their own accounts and enter the gateway product page. After selecting the managed container cluster (such as cluster 1, cluster 2, and cluster n) and the target namespace, users can order and deploy the gateway to the cluster and namespace in the management interface (such as ordering gateway X to cluster 1, ordering gateway Y to cluster 2, and ordering gateway Z to cluster n). After the gateway is deployed, the gateway can be used to provide services for the cluster. Managed deployment supports the deployment of multiple gateway instances in the same cluster and instance isolation. It supports the deployment of gateway instances with different names in the same namespace. It supports users to customize the resource configuration of the gateway (CPU, memory, storage size, etc.), customize the gateway image, gateway name, number of gateway data plane copies, etc. according to business needs. When users order a gateway, the configuration of the gateway on the console page is converted into a gateway custom resource CR, and the CR resource is remotely sent by the cloud console program to the target container cluster where the gateway is to be deployed. The gateway controller on the target cluster listens to the CR resource, deploys the gateway instance according to the gateway configuration defined by the CR, and tracks and monitors the status of the gateway instance. The gateway controller can tune and control multiple gateway CR files, and each CR corresponds to a set of independent gateways.

[0076] S104. Complete the cloud native gateway deployment process in multiple target subclusters according to multiple groups of CRD resources.

[0077] In an embodiment of the present application, after the gateway deployment device uses multiple gateway controllers to monitor multiple groups of CRD resources corresponding to multiple target subclusters, the cloud native gateway deployment process in multiple target subclusters can be completed according to the multiple groups of CRD resources.

[0078] In an embodiment of the present application, the gateway deployment device completes the cloud native gateway deployment process in multiple target subclusters based on multiple groups of CRD resources, including: using multiple gateway controllers to deploy corresponding multiple gateway instances in multiple target subclusters according to multiple groups of CRD resources; establishing multiple cloud native gateways based on multiple gateway instances.

[0079] In the embodiment of the present application, multiple groups of CRD resources correspond one-to-one to multiple gateway instances, that is, one group of CRD resources corresponds to one gateway instance.

[0080] In an embodiment of the present application, a first gateway controller among multiple gateway controllers can be used to deploy a first gateway instance among multiple gateway instances in a first target subcluster among multiple target subclusters based on a first group of CRD resources among multiple groups of CRD resources; a second gateway controller among multiple gateway controllers can be used to deploy a second gateway instance among multiple gateway instances in a second target subcluster among multiple target subclusters based on a second group of CRD resources among multiple groups of CRD resources; a third gateway controller among multiple gateway controllers can be used to deploy a third gateway instance among multiple gateway instances in a third target subcluster among multiple target subclusters based on a third group of CRD resources among multiple groups of CRD resources;…; a fourth gateway controller among multiple gateway controllers can be used to deploy a fourth gateway instance among multiple gateway instances in a fourth target subcluster among multiple target subclusters based on a fourth group of CRD resources among multiple groups of CRD resources.

[0081] In an embodiment of the present application, a gateway deployment device utilizes multiple gateway controllers to deploy corresponding multiple gateway instances in multiple target subclusters according to multiple groups of CRD resources, including: obtaining multiple groups of configuration information from multiple groups of CRD resources; generating multiple component configuration information according to the multiple groups of configuration information; setting component permissions for the multiple component configuration information to obtain multiple component configuration information after setting permissions; establishing multiple gateway instances according to the multiple component configuration information after setting permissions and deploying them to the multiple target subclusters accordingly.

[0082] In an embodiment of the present application, each set of configuration information in the multiple sets of configuration information includes information such as the number of replicas, component images, and resource specifications.

[0083] In an embodiment of the present application, multiple component configuration information includes a control panel component, a data plane component, a persistent configuration storage component, and a graphic panel component.

[0084] In an embodiment of the present application, after the gateway deployment device establishes multiple gateway instances according to the component configuration information after setting multiple permissions and deploys them to multiple target sub-clusters accordingly, it will also convert the updated gateway configuration information into an updated CRD resource when receiving the updated gateway configuration information for the target gateway configured from the cloud console; use the target gateway controller in the first sub-cluster to which the target gateway belongs to listen to the updated CRD resource; use the target gateway controller to obtain the updated configuration information from the updated CRD resource, and generate the target component configuration information according to the updated configuration information; set component permissions for the target component configuration information to obtain the target component configuration information after setting multiple permissions; and update the target gateway in the first sub-cluster according to the target component configuration information after setting multiple permissions.

[0085] In the embodiment of the present application, the method of converting the updated gateway configuration information into the updated CRD resources is the same as the method of converting multiple groups of gateway configuration information into multiple groups of CRD resources.

[0086] In the embodiments of the present application, the present application provides users with the ability to deploy gateway instances on demand across clusters and interactively define gateway configurations. Compared with the heml command deployment in the prior art or the default deployment of the gateway when the gateway image is solidified to the container cluster startup, it has better flexibility, on-demand configuration, resource saving, and better user product experience. The present application provides the ability to deploy multiple sets of gateways in the same cluster, with complete isolation between gateway instances, which is more conducive to business adaptation, typical scenarios such as the simultaneous use of internal and external network gateways, etc. The gateway controller in the present application is deployed in the user's local cluster. Compared with the global controller across clusters, it has higher security and can better resist the failure of the controller tuning gateway instance caused by inter-cluster network problems, ensuring the isolation and high reliability of multiple gateway instances in this cluster.

[0087] The process of implementing gateway cross-cluster hosting deployment (i.e. gateway deployment) in this application is as follows Figure 3As shown: the user logs in to the cloud platform (cloud console), manages the cluster, and then manages the cluster in the middle of the cluster. The gateway controller, then the user orders / configures the gateway in the cloud console, generates CRD resources / updates CRD resources and transmits them to the target subcluster (that is, ordering the gateway on the cloud console page, the page will automatically generate the gateway CR and send it to the container cluster, where the target subcluster is the container cluster). When the gateway controller in the target subcluster listens to the CRD resource, the gateway controller deploys the corresponding gateway instance in the target subcluster according to the CRD resource, and establishes a cloud native gateway according to the actual gateway; when the gateway controller in the target subcluster listens to the updated CRD resource, the gateway controller updates the gateway instance in the target subcluster according to the updated CRD resource, and updates the cloud native gateway according to the updated gateway instance to obtain the target gateway. Gateway status tracking can also be performed, that is, when a request to view the gateway status and configuration is received from the cloud console, the gateway component status is cyclically tuned and tracked, the gateway instance status is obtained and transmitted to the cloud console for display.

[0088] It should be noted that managing a container cluster is an operation that uses a containerized cluster. It means connecting to the cluster and obtaining cluster access control permissions by obtaining the user certificate in the kubeconfig file of the container cluster and the apiserver access address of the cluster. Then, you can use the API interface to call and use the container cluster inside or outside the cluster.

[0089] Deploy the gateway CRD and gateway controller: After the cloud console manages the new container cluster, the cloud console obtains access to the container cluster and remotely calls the container cluster API to deploy the gateway custom resource definition CRD file (yaml format) and the gateway controller (containerized Deployment type application).

[0090] In the embodiments of the present application, Figure 4 As shown in the figure: In terms of gateway components, each gateway includes four components: control plane, data plane, persistent configuration storage, and gateway data panel. Different components have different functions, specifically:

[0091] Data plane: provides basic routing and forwarding functions, and implements various traffic processing and distribution functions through filter mode and plug-in mechanism: including flow and speed limiting, logging, security authentication, etc., and supports users to write custom plug-ins to expand the data plane. The data plane is responsible for processing network traffic. It usually consists of a set of network devices or software for routing, forwarding and processing data packets, providing low latency and high throughput. It is deployed with the Deployment containerized resource type, and generates independent Service container resources for the business proxy entry and management interface.

[0092] Control-plane: Synchronizes and persists the configuration data of the gateway. Converts the routing-related configuration of the container cluster (such as Ingress and Gateway configuration), writes the configuration to persistent storage through the interface, and then notifies all data plane nodes to update the configuration in real time. The control plane is responsible for managing and configuring the behavior of the data plane. It is usually composed of controller software or a management platform to define network topology, configure routing policies, and monitor network status. A typical example is ingress-controller, which is deployed as a Deployment containerized resource type.

[0093] Persistent Storage: Responsible for the persistence of gateway routing, certificates, plug-ins and other configuration information, ensuring that the configuration information is not lost after the gateway instance is restarted. It is deployed as a StatefulSet containerized resource type and automatically mounts cloud storage. It is deployed in multiple nodes to ensure its own high availability.

[0094] Gateway Dashboard: Provides a user interface that allows users to configure gateway configurations such as routing, plug-ins, and certificates for business use on the corresponding gateway instance in a graphical interface. It is usually deployed in the Deployment resource format and generates an independent Service for the user configuration interface.

[0095] The data plane and control plane of each gateway work closely together to achieve efficient network functions. The data plane processes traffic, and the control plane manages and guides the behavior of the data plane. This separated architecture allows them to be deployed on different nodes, providing higher scalability, flexibility, and performance.

[0096] The Gateway Controller is responsible for the creation or configuration update of the above specific gateway components. The specific workflow is as follows: The controller cyclically listens to and parses the gateway CR configuration on the container cluster, and creates or updates the component configuration as needed. The Gateway Controller can control the deployment of multiple independent gateways. For each gateway instance, the controller first deploys the persistent storage in order; then the data plane and control plane gateway components. The data plane must be able to access the persistent configuration storage, and the control plane must be able to access the persistent configuration storage and the management interface of the data plane; finally, the graphical panel is deployed, and the graphical panel must also be able to access the interface of the persistent configuration storage.

[0097] For each component of the gateway instance, the gateway controller obtains information such as the number of replicas, component images, and resource specifications in the gateway CR, generates component configuration information, grants component permissions, and then deploys or updates component instances based on the above configuration data to complete the deployment and update of gateway components. In terms of the user interface and CR mapping, users usually only need to configure the resource specifications and number of replicas on the data plane. The gateway controller automatically generates and deploys other components based on the user's configuration. At the same time, the gateway controller continuously monitors the status of each component of the gateway and returns it to the container cluster in the form of events. Users can obtain the real-time operating status of the gateway in the cloud console interface. At the same time, the gateway controller continuously monitors each component of the gateway. If an abnormal or missing component occurs, the gateway controller will automatically create a new one to ensure the high availability of the gateway.

[0098] In an embodiment of the present application, after the gateway deployment device establishes multiple cloud-native gateways based on multiple gateway instances, upon receiving monitoring instructions for multiple cloud-native gateways from a cloud console, it will use multiple gateway controllers to monitor the gateway instance status in multiple cloud-native gateways in multiple target subclusters respectively; upon receiving a request instruction for the gateway instance status from the cloud console, it will display the gateway instance status.

[0099] It should be noted that the gateway instance status can be displayed using a cloud console, or using other display devices. The specific way in which the gateway deployment device displays the gateway instance status can be determined based on actual conditions, and the embodiments of the present application do not limit this.

[0100] In an embodiment of the present application, the status of gateway instances in multiple cloud-native gateways can also be tracked, and then the gateway instance status can be displayed when a request instruction for the gateway instance status is received from the cloud console.

[0101] In an embodiment of the present application, the user first manages his own container cluster in the cloud console interface, and installs the gateway controller and the gateway custom resource file CRD in the container cluster at the same time. Then the user can select the cluster and namespace in the cloud console interface to interactively configure and deploy the cloud native gateway in the corresponding location. The user clicks Submit on the configuration of the front-end gateway page, which is passed to the back-end to generate the gateway custom resource CR, and the CR is sent to the cluster and namespace selected on the user page. Then the gateway controller on the corresponding cluster completes the deployment and startup of the gateway according to the configuration. The user can see the list of gateways under his account permissions, as well as the current status and configuration information of the gateway instance in the interface. The gateway controller deploys the various components of the gateway instance as a set, including the gateway control plane, data plane, graphical panel, and persistent storage solution. Each set of gateways is independent of each other and is controlled and monitored by the gateway controller on this cluster. A set of gateway controllers on each container cluster can control multiple sets of gateway instances in the container cluster.

[0102] It can be understood that the gateway deployment device manages multiple target subclusters through the cloud console, and deploys multiple gateway controllers in the multiple subclusters respectively, so that multiple gateway controllers can be used to listen to multiple groups of CRD resources corresponding to the multiple subclusters respectively; when it is necessary to deploy cloud native gateways in multiple target subclusters, the corresponding CRD resources are directly issued through the cloud console and the gateway controller is used to realize the deployment of cloud native gateways, that is, the gateway is deployed on demand according to the multiple groups of CRD resources listened to by multiple gateway controllers, which improves the flexibility of cloud native gateway deployment.

[0103] Based on the same inventive concept as the above-mentioned gateway deployment method, an embodiment of the present application provides a gateway deployment device 1, corresponding to a gateway deployment method; Figure 5 A schematic diagram of the structure of a gateway deployment device provided in an embodiment of the present application Figure 1 , the gateway deployment device 1 may include:

[0104] The execution unit 11 is used for executing the cluster management process on multiple target subclusters indicated by the cluster management instruction when receiving the cluster management instruction from the cloud console;

[0105] A deployment unit 12 is used to deploy multiple gateway controllers in the multiple target subclusters respectively; the multiple gateway controllers correspond to the multiple target subclusters one by one; and complete the cloud native gateway deployment process in the multiple target subclusters according to the multiple groups of CRD resources;

[0106] The monitoring unit 13 is configured to monitor multiple groups of CRD resources corresponding to the multiple target sub-clusters by using multiple gateway controllers.

[0107] In some embodiments of the present application, the device further includes an acquisition unit and a start unit;

[0108] The acquisition unit is used to acquire multiple target control programs corresponding to the multiple gateway controllers;

[0109] The startup unit is used to respectively start the multiple target control programs using the multiple application program service interfaces in the multiple target sub-clusters to complete the deployment process of the multiple bending pipe controllers in the multiple target sub-clusters.

[0110] In some embodiments of the present application, the device further includes a receiving unit and a converting unit;

[0111] The receiving unit is used to receive multiple groups of gateway configuration information configured by the user from the cloud console;

[0112] The conversion unit is used to convert the multiple groups of gateway configuration information into the multiple groups of CRD resources.

[0113] In some embodiments of the present application, the apparatus further comprises an establishing unit;

[0114] The deployment unit 12 is used to respectively deploy corresponding multiple gateway instances in the multiple target subclusters according to the multiple groups of CRD resources using the multiple gateway controllers;

[0115] The establishing unit is used to establish multiple cloud native gateways according to the multiple gateway instances.

[0116] In some embodiments of the present application, the apparatus further includes a generating unit and a setting unit;

[0117] The acquiring unit is used to acquire multiple groups of configuration information from the multiple groups of CRD resources;

[0118] The generating unit is used to generate a plurality of component configuration information according to the plurality of groups of configuration information;

[0119] The setting unit is used to set component permissions for the plurality of component configuration information to obtain component configuration information after the plurality of permissions are set;

[0120] The establishing unit is used to establish the multiple gateway instances according to the multiple component configuration information after setting permissions and deploy them to the multiple target sub-clusters accordingly.

[0121] In some embodiments of the present application, the apparatus further comprises an updating unit;

[0122] The conversion unit is used to convert the updated gateway configuration information configured for the target gateway into an updated CRD resource when receiving the updated gateway configuration information for the target gateway from the cloud console; and obtain the updated configuration information from the updated CRD resource using the target gateway controller.

[0123] The monitoring unit 13 is used to monitor the updated CRD resource by using the target gateway controller in the first sub-cluster to which the target gateway belongs;

[0124] The generating unit is used to generate target component configuration information according to the update configuration information;

[0125] The setting unit is used to set component permissions for the target component configuration information to obtain target component configuration information after multiple permissions are set;

[0126] The updating unit is configured to update the target gateway in the first sub-cluster according to the plurality of target component configuration information after setting permissions.

[0127] In some embodiments of the present application, the device further comprises a monitoring unit and a display unit;

[0128] The monitoring unit is configured to monitor the gateway instance states of the multiple cloud native gateways in the multiple target subclusters respectively by using the multiple gateway controllers when receiving a monitoring instruction for the multiple cloud native gateways from the cloud console;

[0129] The display unit is used to display the gateway instance status when a request instruction for the gateway instance status is received from the cloud console.

[0130] In some embodiments of the present application, the apparatus further comprises a determining unit;

[0131] The establishing unit is used to establish multiple clusters;

[0132] The determination unit is used to, upon receiving a main cluster determination indication, determine a main cluster from the multiple clusters according to the main cluster determination indication; use the remaining clusters in the multiple clusters except the main cluster as multiple sub-clusters; the multiple sub-clusters include the multiple target sub-clusters; and use the main cluster as a cloud console.

[0133] In some embodiments of the present application, the acquisition unit is used to acquire multiple cluster certificates and multiple access addresses corresponding to the multiple target subclusters; acquire multiple access rights of the multiple target subclusters according to the multiple cluster certificates;

[0134] The establishing unit is configured to establish network links with the multiple target sub-clusters according to the multiple access addresses;

[0135] The determining unit is configured to determine that the multiple target subclusters are successfully managed as a cluster when the multiple access permissions are acquired and the multiple target subclusters are successfully linked.

[0136] It should be noted that, in actual applications, the above-mentioned execution unit 11, deployment unit 12 and monitoring unit 13 can be implemented by a processor 14 on the gateway deployment device, specifically a CPU (Central Processing Unit), MPU (Microprocessor Unit), DSP (Digital Signal Processing) or a field programmable gate array (FPGA); the above-mentioned data storage can be implemented by a memory 15 on the gateway deployment device.

[0137] The present application also provides a gateway deployment device, such as Figure 6 As shown, the gateway deployment device includes: a processor 14, a memory 15 and a communication bus 16. The memory 15 communicates with the processor 14 through the communication bus 16. The memory 15 stores a program executable by the processor 14. When the program is executed, the gateway deployment method described above is executed by the processor 14.

[0138] In practical applications, the memory 15 may be a volatile memory, such as a random access memory (RAM); or a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk (HDD) or a solid-state drive (SSD); or a combination of the above types of memory, and provide instructions and data to the processor 14.

[0139] An embodiment of the present application provides a computer-readable storage medium having a computer program thereon, and when the program is executed by the processor 14, the gateway deployment method as described above is implemented.

[0140] Exemplarily, an embodiment of the present application further provides a computer program product, including a computer program, which can be executed by the processor 14 in the gateway deployment device to complete the steps of the aforementioned gateway deployment method.

[0141] It can be understood that the gateway deployment device manages multiple target subclusters through the cloud console, and deploys multiple gateway controllers in the multiple subclusters respectively, so that multiple gateway controllers can be used to listen to multiple groups of CRD resources corresponding to the multiple subclusters respectively; when it is necessary to deploy cloud native gateways in multiple target subclusters, the corresponding CRD resources are directly issued through the cloud console and the gateway controller is used to realize the deployment of cloud native gateways, that is, the gateway is deployed on demand according to the multiple groups of CRD resources listened to by multiple gateway controllers, which improves the flexibility of cloud native gateway deployment.

[0142] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of hardware embodiments, software embodiments, or embodiments in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage and optical storage, etc.) that contain computer-usable program code.

[0143] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0144] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0145] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0146] The above description is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application.

Claims

1. A gateway deployment method, characterized in that: The method comprises: In case of receiving a cluster management instruction from the cloud console, executing a cluster management process on multiple target subclusters indicated by the cluster management instruction; Deploy multiple gateway controllers in the multiple target subclusters respectively; the multiple gateway controllers correspond to the multiple target subclusters one by one; Using multiple gateway controllers to monitor multiple groups of CRD resources corresponding to the multiple target subclusters; The cloud native gateway deployment process in the multiple target subclusters is completed according to the multiple groups of CRD resources.

2. The method according to claim 1, characterized in that The deploying of multiple gateway controllers in the multiple target subclusters respectively includes: Acquire multiple target control programs corresponding to the multiple gateway controllers; The multiple target control programs are started respectively by using the multiple application program service interfaces in the multiple target sub-clusters to complete the deployment process of the multiple bending pipe controllers in the multiple target sub-clusters.

3. The method according to claim 1, characterized in that Before using multiple gateway controllers to monitor multiple groups of CRD resources corresponding to the multiple target subclusters, the method further includes: Receiving multiple groups of gateway configuration information configured by the user from the cloud console; The multiple groups of gateway configuration information are converted into the multiple groups of CRD resources.

4. The method according to claim 1, characterized in that: The process of completing the cloud native gateway deployment process in the multiple target subclusters according to the multiple groups of CRD resources includes: Using the multiple gateway controllers, deploy corresponding multiple gateway instances in the multiple target subclusters respectively according to the multiple groups of CRD resources; Multiple cloud native gateways are established based on the multiple gateway instances.

5. The method according to claim 4, characterized in that Using the multiple gateway controllers, respectively deploying multiple corresponding gateway instances in the multiple target subclusters according to the multiple groups of CRD resources, including: Acquire multiple groups of configuration information from the multiple groups of CRD resources; Generate multiple component configuration information according to the multiple groups of configuration information; Setting component permissions for the plurality of component configuration information to obtain the plurality of component configuration information after setting permissions; The multiple gateway instances are established according to the multiple component configuration information after setting permissions and are deployed to the multiple target subclusters accordingly.

6. The method according to claim 5, characterized in that After the plurality of gateway instances are established according to the plurality of component configuration information after setting permissions and are deployed to the plurality of target subclusters accordingly, the method further includes: Upon receiving updated gateway configuration information for the target gateway configured from the cloud console, converting the updated gateway configuration information into an updated CRD resource; Using a target gateway controller in the first sub-cluster to which the target gateway belongs to monitor the update CRD resource; Utilizing the target gateway controller to obtain update configuration information from the update CRD resource, and generating target component configuration information according to the update configuration information; Setting component permissions for the target component configuration information to obtain target component configuration information after multiple permissions are set; The target gateway in the first sub-cluster is updated according to the plurality of target component configuration information after setting permissions.

7. The method according to claim 4, characterized in that After establishing multiple cloud native gateways according to the multiple gateway instances, the method further includes: In case of receiving monitoring instructions for the multiple cloud native gateways from the cloud console, using the multiple gateway controllers to monitor the gateway instance states in the multiple cloud native gateways in the multiple target subclusters respectively; When a request instruction for the gateway instance status is received from the cloud console, the gateway instance status is displayed.

8. The method according to claim 1, characterized in that In the case where the cluster management instruction is received from the cloud console, before executing the cluster management process on the multiple target subclusters indicated by the cluster management instruction, the method further includes: Establish multiple clusters; In case of receiving the main cluster determination indication, determining the main cluster from the multiple clusters according to the main cluster determination indication; The remaining clusters except the main cluster in the multiple clusters are used as multiple sub-clusters; the multiple sub-clusters include the multiple target sub-clusters; The master cluster is used as the cloud console.

9. The method according to claim 1, characterized in that: The process of executing the cluster management on the multiple target subclusters indicated by the cluster management instruction includes: Obtain multiple cluster certificates and multiple access addresses corresponding to the multiple target subclusters; Establishing network links with the multiple target subclusters according to the multiple access addresses; Acquire multiple access permissions of the multiple target subclusters according to the multiple cluster certificates; In the case where the multiple access permissions are acquired and successfully linked to the multiple target sub-clusters, it is determined that the multiple target sub-clusters are successfully managed as a cluster.

10. A gateway deployment device, characterized in that: The gateway deployment device comprises: An execution unit, configured to, upon receiving a cluster management instruction from a cloud console, execute a cluster management process on a plurality of target subclusters indicated by the cluster management instruction; A deployment unit, configured to deploy a plurality of gateway controllers in a plurality of target subclusters respectively; the plurality of gateway controllers correspond one-to-one to the plurality of target subclusters; and complete a cloud native gateway deployment process in the plurality of target subclusters according to the plurality of groups of CRD resources; The monitoring unit is used to monitor multiple groups of CRD resources corresponding to the multiple target sub-clusters by using multiple gateway controllers.

11. A gateway deployment device, characterized in that: The gateway deployment device includes: A memory, a processor and a communication bus, wherein the memory communicates with the processor via the communication bus, the memory stores a gateway-deployed program executable by the processor, and when the gateway-deployed program is executed, the method according to any one of claims 1 to 9 is executed by the processor.

12. A storage medium having a computer program stored thereon, applied to a gateway deployment device, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 9 is implemented.

13. A computer program product, comprising a computer program, characterized in that The computer program implements the method according to any one of claims 1 to 9 when executed by a processor.

Citation Information

Patent Citations

  • Cloud management platform fusion Openstack network control method and cloud management platform fusion Openstack network control system

    CN111343011A

  • Multi-container cluster management and control system and method and storage medium

    CN112698916A

  • Implementation method and system for multi-container cluster management

    CN114374692A

  • Cluster resource management method and device, equipment, storage medium and processor

    CN116389383A

  • Gateway management and control method and device, electronic equipment and computer program product

    CN116962185A

Cited By

  • Application resource processing method and device, cloud platform, medium and product

    CN120856710A

  • Application resource processing method and device, cloud platform, medium and product

    CN120856710B