System and method for deploying service grid data plane capability in batches and electronic equipment

Automatically obtaining and creating WASM Filters and Envoy Filters through remote source services and deployment controllers, the problem of cumbersome and difficult to deploy WASM Filters is solved, and efficient and simplified batch deployment of service mesh data surface capabilities is achieved.

CN119814555AActive Publication Date: 2025-04-11CHINA TELECOM CLOUD TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411770676.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-04
Publication Date
2025-04-11
Estimated Expiration
2044-12-04

AI Technical Summary

Technical Problem

In large-scale deployment scenarios, the deployment of WASM Filter is relatively cumbersome, prone to errors, and difficult to deploy and manage in batches.

Method used

Receive user-compiled WASM Filters through remote source services and monitor filter configuration resource changes in the deployment controller, thereby automatically obtaining WASM Filters and creating Envoy Filters to realize batch deployment of service mesh data surface capabilities.

Benefits of technology

It reduces the probability of errors during the deployment process, simplifies the deployment process, and realizes batch deployment and management of service mesh data surface capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119814555A_ABST
    Figure CN119814555A_ABST
Patent Text Reader

Abstract

The invention provides a system and a method for deploying service grid data plane capabilities in batches and electronic equipment, relates to the technical field of service grids, and aims to realize batch deployment of grid data plane capabilities. The system comprises a remote source service and a deployment controller, the remote source service is used for receiving a WASM Filter compiled by a user, and the WASM Filter represents a service grid data plane capability configuration file; and after monitoring that a filter configuration resource is changed, a deployment controller acquires the WASM Filter from the remote source service, and creates an Envoy Filter according to the filter configuration resource, so that each target management unit to be deployed in batches in a service grid performs service grid data plane capability deployment based on the Envoy Filter and the WASM Filter.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of service grid technology, and in particular to a system, method and electronic device for batch deployment of service grid data plane capabilities. Background Art

[0002] Service Mesh is an infrastructure layer for handling inter-service communication, responsible for delivering reliable network requests for building complex cloud-native applications. Istio is a combination of service mesh open source frameworks, consisting of a control plane and a data plane, where the data plane consists of a group of intelligent proxies (Istio-Proxy) deployed in a Sidecar manner. Istio-Proxy is a microservice intelligent proxy based on Envoy. It provides expansion capabilities in the form of filters (EnvoyFilter) based on Envoy. By adding new filters, it can be used to expand the existing functions of Envoy.

[0003] In the related technology, dynamic runtime loading is used to add new filters. This method expands the service mesh data plane capabilities by writing and deploying WASMFilter, which can greatly simplify the process of expanding Envoy; but since WASMFilter deployment is cumbersome and errors are prone to occur, especially in scenarios that require large-scale deployment, it will be difficult to deploy and manage in batches. Summary of the invention

[0004] In view of the above problems, embodiments of the present application provide a system, method, and electronic device for batch deployment of service grid data plane capabilities, so as to overcome the above problems or at least partially solve the above problems.

[0005] In a first aspect of an embodiment of the present application, a system for batch deployment of service grid data plane capabilities is disclosed, the system comprising: A remote source service, used to receive a WASM Filter compiled by a user, wherein the WASM Filter represents a service grid data plane capability profile; The deployment controller, after detecting changes in the filter configuration resources, obtains the WASM Filter from the remote source service, and creates an Envoy Filter according to the filter configuration resources, so that each target management unit to be deployed in batches in the service grid performs service grid data plane capability deployment based on the Envoy Filter and the WASM Filter; The filter configuration resource is created after the user uploads the compiled WASM Filter to the remote source service, and the filter configuration resource includes at least the configuration information of the WASM Filter and the information of each target management unit to be deployed in batches in the service grid.

[0006] Optionally, it also includes: The service grid instance, after detecting a change in the Envoy Filter, sends the Envoy Filter to the edge proxy gateway of each target management unit; Each target management unit to be deployed in batches in the service grid performs service grid data plane capability deployment based on the Envoy Filter and the WASMFilter, including: Each target management unit obtains the WASM Filter from the deployment controller and deploys the service grid data plane capability according to the WASMFilter.

[0007] Optionally, the service grid instance is deployed in a K8s cluster, and the deployment controller is deployed in the system command space of the service grid instance, which is consistent with the namespace of the service grid instance.

[0008] Optionally, before deploying the service grid data plane capability, a filter configuration resource definition is set, and the filter configuration resource definition is applied to the K8s cluster so that the K8s cluster supports the filter configuration resource.

[0009] Optionally, the remote source service supports multiple versions of WASM Filter, and manages multiple versions of WASMFilter through hash values.

[0010] Optionally, the Envoy Filter obtains the WASM Filter through a remote source mode where the edge proxy gateway supports an address pointing to the deployment controller.

[0011] A second aspect of the embodiment of the present application discloses a method for batch deployment of service grid data plane capabilities, which is applied to the system for batch deployment of service grid data plane capabilities described in the first aspect of the embodiment of the present application, and the method includes: After monitoring the change of the filter configuration resource, the deployment controller obtains WASMFilter from the remote source service, wherein the filter configuration resource includes at least the configuration information of the WASM Filter and the information of each target management unit to be deployed in batches in the service grid, and the WASM Filter is a deployment service grid data plane capability configuration file; The deployment controller creates an Envoy Filter based on the filter configuration resources; Each target management unit to be deployed in batches in the service grid deploys the service grid data plane capability based on the Envoy Filter and the WASMFilter.

[0012] Optionally, each target management unit to be deployed in batches in the service grid performs service grid data plane capability deployment based on the Envoy Filter and the WASM Filter, including: After the service grid instance detects changes in the Envoy Filter, it sends the Envoy Filter to the edge proxy gateway of each target management unit; Each target management unit obtains the WASM Filter from the deployment controller through the remote source mode, and deploys the service grid data plane capability according to the WASM Filter.

[0013] Optionally, it also includes: Compile into WASM Filter according to the data plane capability of the service grid to be deployed, and upload the WASM Filter to the remote source service; According to the filter configuration resource definition, the filter configuration resource is created according to the configuration information of the WASM Filter and the information of each target management unit to be deployed in batches in the service grid.

[0014] According to a third aspect of an embodiment of the present application, an electronic device is disclosed, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, the steps of the method for batch deployment of service grid data plane capabilities described in the second aspect of the embodiment of the present application are implemented.

[0015] According to a fourth aspect of an embodiment of the present application, a computer-readable storage medium is disclosed, on which a computer program is stored. When the computer program is executed by a processor, the steps of the method for batch deployment of service grid data plane capabilities described in the second aspect of the embodiment of the present application are implemented.

[0016] A fifth aspect of an embodiment of the present application discloses a computer program product, including a computer program, which, when executed by a processor, implements the steps of the method for batch deployment of service grid data plane capabilities described in the second aspect of the embodiment of the present application.

[0017] The embodiments of the present application include the following advantages: In the embodiment of the present application, when it is necessary to deploy the service grid data plane capability, the deployment controller can automatically obtain the WASM Filter from the remote source service, and can create the EnvoyFilter by itself according to the user's filter configuration resources, so that the target management unit in the service grid can directly deploy the service grid data plane capability based on the Envoy Filter and the WASM Filter, without the need for cumbersome deployment (for example, the user does not need to write the EnvoyFilter by himself, and does not need to apply it to the cluster by himself), reducing the probability of error. In addition, the filter configuration resources at least include the configuration information of the WASM Filter and the information of each target management unit to be deployed in batches in the service grid. Therefore, the deployment controller generates the Envoy Filter created according to the filter configuration resources, which can be applied to each target management unit to be deployed in batches, and batch deployment can be performed based on the Envoy Filter. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments of the present application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0019] Figure 1 It is a schematic diagram of a filter chain mechanism; Figure 2 This is a schematic diagram of the Envoy WASM architecture; Figure 3 It is a structural diagram of a system for batch deployment of service grid data plane capabilities provided by an embodiment of the present application; Figure 4 It is a flowchart of a deployment controller processing logic provided by an application embodiment; Figure 5 An overall architecture diagram of a system for batch deployment of service grid data plane capabilities provided by an embodiment of the present application; Figure 6 It is a flowchart of the steps of a method for batch deployment of service grid data plane capabilities provided by an embodiment of the present application; Figure 7 A flowchart of another method for batch deployment of service grid data plane capabilities provided by an embodiment of the present application; Figure 8 It is a structural schematic diagram of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0020] In order to make the above-mentioned purposes, features and advantages of the present application more obvious and understandable, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0021] Service Mesh is an infrastructure layer for handling inter-service communication, responsible for delivering reliable network requests for building complex cloud-native applications. In practice, service mesh is usually implemented as a set of lightweight network proxies deployed with applications, but transparent to the applications. Istio is a combination of service mesh open source frameworks, consisting of a control plane and a data plane, where the data plane consists of a set of intelligent proxies (Istio-Proxy) deployed in Sidecar mode. Istio hijacks application traffic through transparent interception. Based on this technical background, Sidecar can implement powerful traffic management functions, including traffic labeling and routing by label.

[0022] Istio-Proxy is a microservice intelligent proxy based on Envoy. It provides expansion capabilities in the form of filters (Envoy Filter) based on Envoy. Envoy is an L7 proxy and communication bus designed for service architecture. Its core is an L3 / L4 network proxy. The pluggable filter chain mechanism allows developers to write filters to perform different TCP proxy tasks and insert them into the main service. Envoy also supports an additional HTTP L7Filter layer, which can insert HTTP Filter into the HTTP connection management subsystem that performs different tasks. Figure 1 As shown, the filter chain includes multiple filters (Filter), which receive client requests through listeners (Listener), and the request enters the service (Service) after passing through the filter chain.

[0023] By adding new filters, Envoy's existing feature set can be expanded. There are currently two ways to add new filters: 1) Static pre-compilation, integrating other filters into Envoy's source code and compiling a new Envoy version. The disadvantage of this method is that the Envoy version needs to be maintained and kept in sync with the official release, which may introduce new errors (BUGs).

[0024] 2) Dynamic runtime loading: dynamically load new filters into the Envoy proxy at runtime; this method can greatly simplify the process of expanding Envoy. This solution relies on WebAssembly (WASM) technology, which is an effective portable binary instruction format that provides an embeddable and isolated execution environment. Figure 2 As shown in the figure, the Envoy WASM architecture can be divided into two parts: the main process and the sandbox. The main process includes "Envoy (using built-in C++Fliter to encapsulate WASM bytecode and provide Envoy API specific implementation)" and "Proxy WASM HOST (encapsulating WASM runtime to extract Sandbox API and register Envoy API to Sandbox)"; Sandbox includes "Proxy WASM SDK (exposing specific Sandbox API while declaring references to Envoy API, encapsulating Envoy API and implementing Sandbox API through type inheritance and interface constraints)" and "WASM Filter (providing Sandbox API specific implementation)".

[0025] Specifically, the process of adding a new filter through WASM is as follows: WASM writes binary instructions and loads them into the Envoy filter chain to achieve data plane capability expansion of the service mesh. This form decouples Envoy and extension components, and users no longer need to modify the Envoy source code or compile customized Envoy versions to achieve capability expansion. It also has the advantages of dynamic loading and secure isolation. After writing the WASM Filter, you need to mount the plug-in to the business workload, create Envoy Filter resources in the service mesh, and add the WASM Filter to the Envoy Filter Chain of the corresponding workload to make it effective.

[0026] While WASM Filter brings benefits such as agility, reliability, isolation, and flexibility to the expansion of Envoy capabilities, it also brings some problems when deploying WASM Filter, especially when large-scale deployment is required. Since the WASM Filter deployment process is cumbersome, it will be difficult to deploy and manage in batches without tools. Currently, there are three main methods for implementing WASMFilter deployment: 1) Mounting Host Path, mounting WASM Filter into the container. This implementation has two shortcomings. First, the existing Pod (in the service grid, Pod is the smallest basic unit of deployment and management in the Kubernetes cluster (K8s cluster, that is, a group of physical or virtual machines, which are organized into a single computing resource pool and run the Kubernetes platform)) cannot mount files, and the Pod needs to be restarted and the path needs to be mounted; second, the file mounting method requires the corresponding file to exist on the machine, otherwise the creation of EnvoyFilter may cause Envoy exceptions and timing problems. 2) Putting WASM files into the Sidecar image in advance, this implementation lacks flexibility and further increases the cumbersomeness of WASM Filter deployment. 3) Use the Remote Source mode natively supported by Envoy. This method requires users to manage the WASM plug-in remote repository by themselves and consider network connection issues.

[0027] From the above analysis, we can see that when users expand the service mesh data plane capabilities by writing and deploying WASM Filters, although the process of expanding Envoy can be greatly simplified, the deployment of WASM Filters is cumbersome and errors are prone to occur, especially in scenarios where large-scale deployment is required. Without tools, it will be difficult to deploy and manage WASM Filters in batches.

[0028] In order to overcome the limitations of related technologies, the embodiments of the present application provide a system for batch deployment of service grid data plane capabilities, which implements batch deployment of service grid data plane capabilities through components such as "filter configuration resources", "remote source services", "filter configuration resources", and "service grid instances". Please see below for details.

[0029] Reference Figure 3 As shown, Figure 3 : is a structural diagram of a system for batch deploying service grid data plane capabilities provided by an embodiment of the present application, the system for batch deploying service grid data plane capabilities includes: A remote source service, used to receive a WASM Filter compiled by a user, wherein the WASM Filter represents a service grid data plane capability profile; The deployment controller, after detecting changes in the filter configuration resources, obtains the WASM Filter from the remote source service, and creates an Envoy Filter according to the filter configuration resources, so that each target management unit to be deployed in batches in the service grid performs service grid data plane capability deployment based on the Envoy Filter and the WASM Filter; The filter configuration resource is created after the user uploads the compiled WASM Filter to the remote source service, and the filter configuration resource includes at least the configuration information of the WASM Filter and the information of each target management unit to be deployed in batches in the service grid.

[0030] In the embodiment of the present application, WASM Filter refers to a WASM Filter file. For the service mesh data plane capabilities that need to be expanded, the user compiles the service mesh data plane capabilities into a WASM Filter and uploads it to a remote source service (Remote Source service) so that the subsequent deployment controller can actively pull it from the remote source service to the WASMFilter; wherein the remote source service is a service that provides WASM Filter upload and download, and needs to ensure that it is accessible within the cluster.

[0031] After uploading the compiled WASM Filter to the remote source service, the user creates a filter configuration resource, which includes at least the configuration information of the WASM Filter and the information of each target management unit to be deployed in batches in the service grid. Among them, the configuration information of the WASM Filter refers to the configuration information required to configure the WASM Filter; the various target management units (Pods) to be deployed in batches in the service grid refer to the Pods that need to deploy the data plane capabilities of the service grid in batches. That is to say, when the user creates the filter configuration resource, the information of the Pods that need to deploy the data plane capabilities of the service grid is compiled in the filter configuration resource, so that the corresponding Pods can be deployed in batches according to the filter configuration resource later. In some embodiments, the filter configuration resource also includes the identification information of the WASM Filter (the identification information can be the name of the WASM Filter, or the index information of the WASM Filter, etc.), so that the subsequent deployment controller can obtain the corresponding WASMFilter from the remote source service based on the identification information of the WASM Filter.

[0032] The deployment controller (WASM Fetcher Controller) monitors the filter configuration resources in real time. In some embodiments, the deployment controller monitors the changes of the filter configuration resources through List / Watch, where List / Watch refers to the core mechanism for monitoring changes of resource objects in the service grid. The monitoring and response of the filter configuration resources are realized through the List and Watch operations provided by the API Server.

[0033] When changes are detected in filter configuration resources, it means that the user has created filter configuration resources. At this time, it is necessary to execute the relevant processes of batch deployment, and then obtain the corresponding WASM Filter from the remote source service, and cache the WASMFilter locally for subsequent deployment of each target management unit. After the deployment controller detects changes in filter configuration resources, it also creates Envoy Filter based on the filter configuration resources. Envoy Filter refers to a resource type used in the service grid to directly modify the Envoy configuration. Figure 4 As shown in the figure, the deployment controller processing logic is: monitor whether the filter configuration resource (Wasm Fetcher CRD) has changed. When the filter configuration resource is detected to have changed, obtain the corresponding WASM Filter from the remote source service and cache it locally, and create or update the Envoy Filter according to the filter configuration resource.

[0034] An edge proxy gateway (Envoy) is provided in the target management unit. Each target management unit to be deployed in batches in the service grid performs service grid data plane capability deployment based on the Envoy Filter and the WASM Filter, including: each target management unit adds the WASM Filter to the edge proxy gateway based on the Envoy Filter to realize the service grid data plane capability deployment.

[0035] By adopting the technical solution of the embodiment of the present application, when it is necessary to deploy the service grid data plane capability, the deployment controller can automatically obtain the WASM Filter from the remote source service, and can create the Envoy Filter by itself according to the filter configuration resources created by the user, so that the target management unit in the service grid can directly deploy the service grid data plane capability based on the Envoy Filter and the WASM Filter, without the need for cumbersome deployment (for example, the user does not need to write the Envoy Filter by himself, and does not need to apply it to the cluster by himself), reducing the probability of error. In addition, the filter configuration resource includes at least the configuration information of the WASM Filter and the information of each target management unit to be deployed in batches in the service grid. Therefore, the deployment controller creates the Envoy Filter generated by the filter configuration resource, which can be applied to each target management unit to be deployed in batches, and batch deployment can be performed based on the Envoy Filter.

[0036] In an optional embodiment, the system further includes: The service grid instance, after detecting a change in the Envoy Filter, sends the Envoy Filter to the edge proxy gateway of each target management unit; Furthermore, each target management unit to be deployed in batches in the service grid deploys the service grid data plane capability based on the Envoy Filter and the WASM Filter, including: each target management unit obtains the WASM Filter from the deployment controller, and deploys the service grid data plane capability according to the WASM Filter.

[0037] In the embodiments of the present application, the service mesh instance refers to the service mesh Istio instance. The service mesh instance monitors the EnvoyFilter in real time. In some embodiments, the service mesh instance monitors the Envoy Filter in real time through List / Watch.

[0038] When the service grid instance detects changes in the Envoy Filter, it indicates that the service grid data plane capability deployment is required at this time, and the monitored Envoy Filter is sent to the edge proxy gateway (Envoy) of each target management unit to update the configuration of the edge proxy gateway of each target management unit. Then the target management unit obtains the WASM Filter from the deployment controller through the remote source mode, and adds the obtained WASM Filter to its own filter chain to realize the service grid data plane capability deployment.

[0039] By adopting the technical solution of the embodiment of the present application, the Envoy Filter is monitored through the service grid instance, and the Envoy Filter is automatically issued and deployed. The user does not need to write the Envoy Filter by himself, which simplifies the deployment process and avoids errors caused by the user's own deployment. In addition, after the Envoy Filter is issued, each target management unit automatically obtains the WASM Filter to deploy the service grid data plane capability, thus realizing batch service grid data plane capability deployment.

[0040] In an optional embodiment, the service grid instance is deployed in a K8s cluster, and the deployment controller is deployed in the system command space of the service grid instance, which is consistent with the namespace of the service grid instance.

[0041] In an embodiment of the present application, a service mesh instance is deployed in a K8s cluster. In order to ensure that the deployment controller and the service mesh instance can communicate quickly, the deployment controller is deployed in the K8s cluster, and the deployment controller is deployed in the system (Istio-system) command space of the service mesh instance, which is consistent with the namespace of the service mesh instance.

[0042] In an optional embodiment, before the service grid data plane capability is deployed, a filter configuration resource definition is set, and the filter configuration resource definition is applied to the K8s cluster so that the K8s cluster supports the filter configuration resource.

[0043] In this way, when deploying service mesh data plane capabilities, users can create corresponding filter configuration resources through filter configuration resource definitions so that components such as deployment controllers deployed in the K8s cluster can monitor the filter configuration resources, thereby achieving batch deployment of service mesh data plane capabilities based on the filter configuration resources created by users.

[0044] In an optional embodiment, the remote source service supports multiple versions of WASM Filter, and manages the multiple versions of WASM Filter through hash values.

[0045] In the embodiment of the present application, the remote source service needs to ensure that it is accessible within the cluster (K8s cluster) and provide file upload and download services. In the remote source service, multiple different versions of WASM Filter can be received and managed, so that the deployment controller can obtain the corresponding WASM Filter to implement data plane capability deployment.

[0046] It is understandable that since the remote source service supports multiple versions of WASM Filter, multiple versions of WASM Filter are managed through hash values. In order to ensure that the deployment controller can obtain the corresponding WASM Filter, the filter configuration resource also includes a hash value (sha value). After the deployment controller detects that the filter configuration resource has changed, the corresponding WASM Filter can be obtained based on the hash value in the filter configuration resource.

[0047] In an optional embodiment, the Envoy Filter obtains the WASM Filter through an edge proxy gateway supporting a remote source mode with an address pointing to the deployment controller.

[0048] In this way, when the service grid instance sends the Envoy Filter to the edge proxy gateway of each target management unit, each target management unit can obtain the WASM Filter from the deployment controller through the remote source mode; wherein, when deploying the WASM Filter in the deployment controller, the deployment controller obtains it from the remote source service and caches it locally.

[0049] The embodiment of the present application provides another system for batch deployment of service grid data plane capabilities, which includes components such as remote source services, deployment controllers, filter configuration resources, and service grid instances. The construction process of the system for batch deployment of service grid data plane capabilities includes the following five steps: Step 1: Determine an available K8s cluster and deploy a service mesh instance (i.e., service mesh Istio instance) in the K8s cluster.

[0050] Step 2: Define a filter configuration resource definition (Wasm Fetcher CRD) and apply the filter configuration resource definition to the K8s cluster to enable the K8s cluster to support filter configuration resources.

[0051] Step 3: Compile the deployment controller (WASM Fetcher Controller) and deploy the deployment controller in the system (Istio-system) namespace of the service mesh instance, which is consistent with the namespace of the service mesh instance.

[0052] Step 4: Deploy the remote source service. The remote source service needs to be accessible within the cluster and provide file upload and download services. In addition, the remote source service supports multiple versions of WASM Filter and manages multiple versions of WASM Filter through hash values.

[0053] In this way, the construction of the system for batch deployment of service mesh data plane capabilities is completed. Users can compile WASM Filters based on the system, upload files to remote source services, and then create filter configuration resources. The deployment controller in the system monitors changes in filter configuration resources, obtains the corresponding WASMFilter from the remote source service for local caching, and creates Envoy Filters based on the filter configuration resources. The Envoy Filter obtains WASM Filters through the edge proxy gateway support address pointing to the remote source mode of the deployment controller. Therefore, after the service mesh instance detects changes in the Envoy Filter, it sends the Envoy Filter to the edge proxy gateway of each target management unit. Each target management unit obtains the WASM Filter from the deployment controller and deploys the service mesh data plane capabilities based on the WASM Filter.

[0054] Based on this system, when it is necessary to deploy the service grid data plane capability, the deployment controller can automatically obtain the WASM Filter from the remote source service, and can create the EnvoyFilter by itself according to the user's filter configuration resources, so that the target management unit in the service grid can directly deploy the service grid data plane capability based on the Envoy Filter and the WASM Filter, without the need for cumbersome deployment (for example, the user does not need to write the EnvoyFilter by himself, and does not need to apply it to the cluster by himself), reducing the probability of error. In addition, the filter configuration resources at least include the configuration information of the WASM Filter and the information of each target management unit to be deployed in batches in the service grid. Therefore, the deployment controller generates the Envoy Filter created according to the filter configuration resources, which can be applied to each target management unit to be deployed in batches, and batch deployment can be performed based on the Envoy Filter.

[0055] Reference Figure 5 As shown, Figure 5 An overall architecture diagram of a system for batch deployment of service grid data plane capabilities provided in an embodiment of the present application, specifically, the system includes components such as remote source services, deployment controllers, filter configuration resources, and service grid instances.

[0056] When performing batch deployment of service mesh data plane capabilities, users upload the compiled WASM Filter to the remote source service, and create a Wasm Fetcher CRD (filter configuration resource) based on the configuration information of the WASM Filter and the information of each target management unit to be deployed in batches in the service mesh. The WASM Fetcher Controller (deployment controller) monitors changes in the Wasm Fetcher CRD and pulls the WASM Filter from the remote source service. The WASM FetcherController then creates a filter configuration resource based on the Wasm Fetcher CRD. Istiod (service mesh instance) monitors changes in the Envoy Filter and sends the Envoy Filter configuration to Envoy (edge ​​proxy gateway filter). Envoy pulls the WASM Filter from the WASM Fetcher Controller and implements service mesh data plane capability deployment based on the WASM Filter.

[0057] The present application also provides a method for batch deployment of service grid data plane capabilities. The method is applied to the system for batch deployment of service grid data plane capabilities described in the present application. Figure 6 As shown, Figure 6 : is a flowchart of a method for batch deployment of service grid data plane capabilities provided by an embodiment of the present application. The method may include the following steps S610 to S630: Step S610: After monitoring changes in filter configuration resources, the deployment controller obtains a WASM Filter from a remote source service, where the filter configuration resources include at least configuration information of the WASM Filter and information of each target management unit to be deployed in batches in the service grid. The WASM Filter is a deployment service grid data plane capability configuration file.

[0058] Step S620: The deployment controller creates an Envoy Filter according to the filter configuration resources.

[0059] Step S630: Each target management unit to be deployed in batches in the service grid performs service grid data plane capability deployment based on the Envoy Filter and the WASM Filter.

[0060] Based on the technical solution of the embodiment of the present application, the deployment controller can automatically obtain WASMFilter from the remote source service, and can create Envoy Filter by itself according to the user's filter configuration resources, so that the target management unit in the service grid can directly deploy the service grid data plane capability based on Envoy Filter and WASM Filter, without the need for cumbersome deployment (for example, the user does not need to write Envoy Filter by himself, and does not need to apply it to the cluster by himself), reducing the probability of error. In addition, the filter configuration resources at least include the configuration information of the WASM Filter and the information of each target management unit to be deployed in batches in the service grid. Therefore, the deployment controller generates the created Envoy Filter based on the filter configuration resources, which can be applied to each target management unit to be deployed in batches, and batch deployment can be performed based on the EnvoyFilter.

[0061] Furthermore, in step S630, “deploying service grid data plane capabilities based on the Envoy Filter and the WASM Filter for each target management unit to be deployed in batches in the service grid” includes: Step S630-1: After the service grid instance detects a change in the Envoy Filter, it sends the EnvoyFilter to the edge proxy gateway of each target management unit; Step S630-2: Each target management unit obtains the WASM Filter from the deployment controller through the remote source mode, and deploys the service grid data plane capability according to the WASM Filter.

[0062] In the embodiment of the present application, the service grid instance monitors the Envoy Filter. When the service grid instance detects that the Envoy Filter has changed, it indicates that the service grid data plane capability deployment is required at this time, and the monitored Envoy Filter is sent to the edge proxy gateway (Envoy) of each target management unit to update the configuration of the edge proxy gateway of each target management unit. Then the target management unit can obtain the WASM Filter from the deployment controller through the remote source mode, and add the obtained WASM Filter to its own filter chain to realize the service grid data plane capability deployment.

[0063] In an optional embodiment, the method further includes: Compile into WASM Filter according to the data plane capability of the service grid to be deployed, and upload the WASM Filter to the remote source service; According to the filter configuration resource definition, the filter configuration resource is created according to the configuration information of the WASM Filter and the information of each target management unit to be deployed in batches in the service grid.

[0064] In an embodiment of the present application, when it is necessary to deploy the service mesh data plane capabilities in batches, the system for batch deployment of the service mesh data plane capabilities compiles the WASM Filter by itself, and uploads the file to the remote source service, so that the subsequent deployment controller can obtain the WASM Filter from the remote source service for local caching; and the user also creates a filter configuration resource, so that the subsequent deployment controller can create or update the EnvoyFilter by itself based on the filter configuration resource, thereby realizing the batch deployment of the service mesh data plane functions.

[0065] The following is a complete example of a method for batch deployment of service grid data plane capabilities of the present application. Figure 7 As stated, Figure 7 Another method for batch deployment of service grid data plane capabilities provided by an embodiment of the present application is a flowchart of steps, including the following steps C1 to C8: Step C1: The user compiles it into a WASM Filter and uploads the WASM Filter to the remote source service.

[0066] Step C2: The user creates a filter configuration resource.

[0067] Step C3: The deployment controller detects changes in filter configuration resources.

[0068] Step C4: The deployment controller obtains the WASM Filter from the remote source service.

[0069] Step C5: The deployment controller creates the Envoy Filter based on the filter configuration resources.

[0070] Step C6: The service mesh instance detects changes in the Envoy Filter.

[0071] Step C7: The service mesh instance sends the Envoy Filter to the edge proxy gateway of each target management unit.

[0072] Step C8: The edge proxy gateway in the target management unit obtains the WASM Filter from the deployment controller and deploys the service mesh data plane capability according to the WASM Filter.

[0073] Compared with the existing solutions, the method for batch deployment of service grid data plane capabilities provided by the embodiment of the present application has the following advantages: 1) There is no need to mount the Host Path, so there is no need to restart the existing Pod, and the mounting machine does not require the existence of the WASM Filter; 2) There is no need to modify the Sidecar image, which ensures the flexibility of WASM Filter deployment; 3) The deployment controller pulls the Filter file from the remote source service, and the deployment controller itself is deployed in the cluster, so there is no need to consider network connection issues; 4) Users do not need to write the EnvoyFilter configuration themselves, nor do they need to apply it to the cluster themselves, reducing the probability of errors.

[0074] The present application also provides an electronic device, referring to Figure 8 , Figure 8 Schematic diagram of the structure of an electronic device provided in an embodiment of the present application. Figure 8 As shown, the electronic device 800 includes: a memory 810 and a processor 820, the memory 810 and the processor 820 are connected via a bus communication, the memory 810 stores a computer program, and the computer program can be run on the processor 820, thereby implementing the steps of the method for batch deployment of service grid data plane capabilities described in the embodiment of the present application.

[0075] The embodiment of the present application also provides a computer-readable storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps of the method for batch deployment of service grid data plane capabilities described in the embodiment of the present application are implemented.

[0076] The embodiment of the present application also provides a computer program product, including a computer program, which, when executed by a processor, implements the steps of the method for batch deployment of service grid data plane capabilities described in the embodiment of the present application.

[0077] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.

[0078] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods and devices according to the embodiments of the present application. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of the processes and / or blocks 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 terminal device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing terminal 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.

[0079] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing terminal device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including 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.

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

[0081] Although the preferred embodiments of the present application have been described, those skilled in the art may make additional changes and modifications to these embodiments once they have learned the basic creative concept. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present application.

[0082] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements.

[0083] The above is a detailed introduction to a system, method and electronic device for batch deployment of service grid data plane capabilities provided by the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for general technical personnel in this field, according to the idea of ​​the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. A system for batch deployment of service grid data plane capabilities, characterized in that: include: A remote source service, used to receive a WASM Filter compiled by a user, wherein the WASM Filter represents a service grid data plane capability profile; The deployment controller, after detecting a change in the filter configuration resource, obtains the WASMFilter from the remote source service, and creates an Envoy Filter according to the filter configuration resource, so that each target management unit to be deployed in batches in the service grid performs service grid data plane capability deployment based on the Envoy Filter and the WASM Filter; The filter configuration resource is created after the user uploads the compiled WASM Filter to the remote source service, and the filter configuration resource includes at least the configuration information of the WASM Filter and the information of each target management unit to be deployed in batches in the service grid.

2. The system for batch deployment of service grid data plane capabilities according to claim 1, characterized in that: Also includes: The service grid instance, after detecting a change in the Envoy Filter, sends the Envoy Filter to the edge proxy gateway of each target management unit; Each target management unit to be deployed in batches in the service grid performs service grid data plane capability deployment based on the Envoy Filter and the WASMFilter, including: Each target management unit obtains the WASM Filter from the deployment controller and deploys the service grid data plane capability according to the WASMFilter.

3. The system for batch deployment of service grid data plane capabilities according to claim 2, characterized in that: The service grid instance is deployed in a K8s cluster, and the deployment controller is deployed in the system command space of the service grid instance, which is consistent with the namespace of the service grid instance.

4. The system for batch deployment of service grid data plane capabilities according to claim 3, characterized in that: Before deploying the service grid data plane capability, set the filter configuration resource definition and apply the filter configuration resource definition to the K8s cluster so that the K8s cluster supports the filter configuration resource.

5. The system for batch deploying service grid data plane capabilities according to any one of claims 1 to 4, characterized in that: The remote source service supports multiple versions of WASM Filter and manages multiple versions of WASM Filter through hash values.

6. The system for batch deploying service grid data plane capabilities according to any one of claims 1 to 4, characterized in that: The Envoy Filter obtains the WASM Filter through the edge proxy gateway support address pointing to the remote source mode of the deployment controller.

7. A method for batch deployment of service grid data plane capabilities, characterized in that: A system for batch deployment of service grid data plane capabilities according to any one of claims 1 to 6, comprising: After monitoring the change of the filter configuration resource, the deployment controller obtains the WASM Filter from the remote source service. The filter configuration resource includes at least the configuration information of the WASM Filter and the information of each target management unit to be deployed in batches in the service grid. The WASM Filter is a deployment service grid data plane capability configuration file; The deployment controller creates an Envoy Filter based on the filter configuration resources; Each target management unit to be deployed in batches in the service grid deploys the service grid data plane capability based on the Envoy Filter and the WASMFilter.

8. The method for batch deployment of service grid data plane capabilities according to claim 7, characterized in that: Each target management unit to be deployed in batches in the service grid performs service grid data plane capability deployment based on the Envoy Filter and the WASM Filter, including: After detecting changes in the Envoy Filter, the service grid instance sends the Envoy Filter to the edge proxy gateway of each target management unit; Each target management unit obtains the WASM Filter from the deployment controller through the remote source mode, and deploys the service grid data plane capability according to the WASM Filter.

9. The method for batch deployment of service grid data plane capabilities according to claim 7 or 8, characterized in that: Also includes: Compile into WASM Filter according to the data plane capability of the service grid to be deployed, and upload the WASM Filter to the remote source service; According to the filter configuration resource definition, the filter configuration resource is created according to the configuration information of the WASM Filter and the information of each target management unit to be deployed in batches in the service grid.

10. An electronic 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 for batch deployment of service grid data plane capabilities described in any one of claims 7 to 9 are implemented.

Citation Information

Patent Citations

  • Multi-layer network protocol processing method and device for service grid

    CN113949702A

  • Method and device for docking micro-service grids

    CN115701077A

  • Front-end page authorization system based on service grid plug-in

    CN117749513A

  • Service mesh management

    US11457080B1

  • Performance-aware system and method for adaptable service mesh data plane

    US20240031233A1