Systems, methods, and electronic devices for bulk deployment of service mesh data plane capabilities

By automatically acquiring and creating Envoy Filters through remote source services and deployment controllers, the problem of cumbersome WASM Filter deployment is solved, enabling batch deployment of service mesh data plane capabilities and improving deployment efficiency and reliability.

CN119814555BActive Publication Date: 2025-10-31CHINA TELECOM CLOUD TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

In existing technologies, the deployment process of WASM Filters is cumbersome, making it difficult to deploy and manage in batches, and errors are prone to occur, especially in large-scale scenarios.

Method used

By using remote source services and deployment controllers, WASM filters are automatically obtained and Envoy filters are created, enabling batch deployment of service mesh data plane capabilities, reducing manual user operations and simplifying the deployment process.

Benefits of technology

It reduces the probability of deployment errors, enables batch deployment and management of WASM Filters, and improves deployment efficiency and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119814555B_ABST
    Figure CN119814555B_ABST
Patent Text Reader

Abstract

This application provides a system, method, and electronic device for batch deployment of service mesh data plane capabilities, relating to the field of service mesh technology, and aiming to achieve batch deployment of mesh data plane capabilities. The system includes a remote source service and a deployment controller. The remote source service receives user-compiled WASM filters, which represent service mesh data plane capability configuration files. Upon detecting a change in filter configuration resources, the deployment controller obtains the WASM filter from the remote source service and creates an Envoy filter based on the filter configuration resources. This enables each target management unit to be batch deployed in the service mesh to deploy service mesh data plane capabilities based on the Envoy filter and the WASM filter.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] A 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 an open-source service mesh framework consisting of a control plane and a data plane. The data plane comprises a set of intelligent proxies (Istio-Proxy) deployed in a sidecar manner. Istio-Proxy is a microservice intelligent proxy based on Envoy, providing extensibility through filters (EnvoyFilter). By adding new filters, existing Envoy functionalities can be extended.

[0003] In related technologies, new filters are added by dynamically loading them at runtime. This method extends the service mesh data plane capabilities by writing and deploying WASMFilters, which can greatly simplify the process of extending Envoy. However, since the deployment of WASMFilters is relatively cumbersome and prone to errors, especially in scenarios requiring large-scale deployment, it will be difficult to perform batch deployment and management. Summary of the Invention

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

[0005] A first aspect of this application discloses a system for batch deployment of service mesh data plane capabilities, the system comprising:

[0006] A remote source service is used to receive user-compiled WASM filters, which represent service mesh data plane capability configuration files;

[0007] The deployment controller, upon detecting a change in filter configuration resources, obtains the WASM Filter from the remote source service and creates an Envoy Filter based on the filter configuration resources, so that each target management unit to be deployed in batches in the service mesh can deploy service mesh data plane capabilities based on the Envoy Filter and the WASM Filter.

[0008] The filter configuration resource is created by the user after uploading the compiled WASM Filter to 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 mesh.

[0009] Optionally, it also includes:

[0010] After detecting a change in the Envoy Filter, the service mesh instance distributes the Envoy Filter to the edge proxy gateways of each target management unit.

[0011] Each target management unit to be deployed in batches within the service mesh performs service mesh data plane capability deployment based on the Envoy Filter and the WASM Filter, including:

[0012] Each target management unit obtains the WASM Filter from the deployment controller and deploys service mesh data plane capabilities based on the WASM Filter.

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

[0014] Optionally, before deploying the service mesh data plane capabilities, a filter configuration resource definition is set and applied to the Kubernetes cluster to enable the Kubernetes cluster to support the filter configuration resource.

[0015] Optionally, the remote source service supports multiple versions of WASM Filters and manages these multiple versions of WASM Filters through hash values.

[0016] Optionally, the Envoy Filter obtains the WASM Filter through the remote source mode of the deployment controller, which is supported by the edge proxy gateway.

[0017] A second aspect of this application discloses a method for batch deployment of service mesh data plane capabilities, applied to the system for batch deployment of service mesh data plane capabilities described in the first aspect of this application. The method includes:

[0018] After the deployment controller detects a change in the filter configuration resource, it obtains the WASMFilter 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 mesh. The WASM Filter is a deployment service mesh data plane capability configuration file.

[0019] The deployment controller creates the Envoy Filter based on the filter configuration resources;

[0020] Each target management unit to be deployed in batches in the service mesh deploys service mesh data plane capabilities based on the Envoy Filter and the WASMFilter.

[0021] Optionally, each target management unit to be deployed in batches within the service mesh deploys service mesh data plane capabilities based on the Envoy Filter and the WASM Filter, including:

[0022] After detecting a change in the Envoy Filter, the service mesh instance distributes the Envoy Filter to the edge proxy gateways of each target management unit;

[0023] Each target management unit obtains the WASM Filter from the deployment controller via remote source mode and deploys service mesh data plane capabilities based on the WASM Filter.

[0024] Optionally, it also includes:

[0025] Based on the data plane capabilities of the service mesh to be deployed, compile it into a WASM Filter, and upload the WASM Filter to the remote source service;

[0026] According to the filter configuration resource definition, filter configuration resources are created 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.

[0027] A third aspect of this application discloses an electronic device 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, it implements the steps of the method for batch deployment of service mesh data plane capabilities as described in the second aspect of this application.

[0028] A fourth aspect of this application discloses a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the steps of the method for batch deployment of service mesh data plane capabilities as described in the second aspect of this application.

[0029] A fifth aspect of this application discloses a computer program product, including a computer program that, when executed by a processor, implements the steps of the method for batch deployment of service mesh data plane capabilities as described in the second aspect of this application.

[0030] The embodiments of this application have the following advantages:

[0031] In this embodiment, when service mesh data plane capabilities need to be deployed, the deployment controller can automatically obtain a WASM Filter from a remote source service and create an EnvoyFilter based on the user's filter configuration resources. This allows target management units in the service mesh to directly deploy service mesh data plane capabilities based on the Envoy Filter and the WASM Filter, eliminating the need for cumbersome deployment (e.g., users do not need to write their own EnvoyFilter or apply it to the cluster), thus reducing the probability of errors. Furthermore, the filter configuration resources include at least the configuration information of the WASM Filter and information about each target management unit to be deployed in batches in the service mesh. Therefore, the Envoy Filter generated by the deployment controller based on the filter configuration resources can be applied to each target management unit to be deployed in batches, enabling batch deployment. Attached Figure Description

[0032] To more clearly illustrate the technical solutions of the embodiments of this application, the drawings used in the description of the embodiments of this application will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0033] Figure 1 This is a schematic diagram of a filter chain mechanism;

[0034] Figure 2 This is a schematic diagram of an Envoy WASM architecture;

[0035] Figure 3 This is a schematic diagram of the structure of a system for batch deployment of service mesh data plane capabilities provided in an embodiment of this application;

[0036] Figure 4This is a flowchart of a deployment controller processing logic provided in the application embodiment;

[0037] Figure 5 This application provides an overall architecture diagram of a system for batch deployment of service mesh data plane capabilities;

[0038] Figure 6 This is a flowchart illustrating the steps of a method for batch deployment of service mesh data plane capabilities provided in an embodiment of this application.

[0039] Figure 7 A flowchart illustrating another method for batch deployment of service mesh data plane capabilities provided in this application embodiment;

[0040] Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0041] To make the above-mentioned objectives, features, and advantages of this application more apparent and understandable, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0042] A 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, a service mesh is typically implemented as a set of lightweight network proxies deployed alongside the application, but transparent to the application. Istio is an open-source service mesh framework consisting of a control plane and a data plane. The data plane comprises a set of intelligent proxies (Istio-Proxy) deployed as sidecars. Istio intercepts application traffic transparently. Based on this technology, sidecars can implement powerful traffic management functions, including traffic tagging and routing by tag.

[0043] Istio-Proxy is a microservice intelligent proxy implemented based on Envoy, providing extensibility through Envoy filters. Envoy is an L7 proxy and communication bus designed for service-oriented architectures. Its core is an L3 / L4 network proxy, and its 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 L7 filter layer, allowing HTTP filters to be inserted into HTTP connection management subsystems performing different tasks. Figure 1 As shown, the filter chain consists of multiple filters, which are received by a listener. The request then passes through the filter chain and enters the service.

[0044] Adding new filters can extend Envoy's existing feature set. There are currently two ways to add new filters: 1) Static pre-compilation, which integrates other filters into Envoy's source code and compiles a new version of Envoy. The disadvantage of this method is that it requires maintaining the Envoy version and constantly keeping it in sync with the official release, and may also introduce new bugs.

[0045] 2) Dynamic runtime loading: New filters are dynamically loaded into the Envoy proxy at runtime. This method greatly simplifies the process of extending Envoy. This approach relies on WebAssembly (WASM) technology, an efficient and portable binary instruction format that provides an embeddable and isolated execution environment. Figure 2 As shown, the Envoy WASM architecture can be divided into two parts: the main process and the sandbox. The main process includes "Envoy (which uses the built-in C++ Filter to wrap the WASM bytecode and provides a concrete implementation of the Envoy API)" and "Proxy WASM HOST (which wraps the WASM runtime to extract the Sandbox API and registers the Envoy API to the Sandbox)". The Sandbox includes "Proxy WASM SDK (which exposes a specific Sandbox API and declares a reference to the Envoy API, wraps the Envoy API and implements the Sandbox API through type inheritance and interface constraints)" and "WASM Filter (which provides a concrete implementation of the Sandbox API)".

[0046] Specifically, the process of adding a new filter via WASM is as follows: WASM loads binary instructions into the Envoy filter chain, extending the data plane capabilities of the service mesh. This approach decouples Envoy from the extended components, eliminating the need for users to modify the Envoy source code or compile customized Envoy versions to achieve capability extensions. It also offers advantages such as dynamic loading and security isolation. After writing the WASM filter, the plugin needs to be mounted onto the business workload. Furthermore, an Envoy filter resource needs to be created in the service mesh, and the WASM filter needs to be added to the corresponding workload's Envoy filter chain to activate it.

[0047] While WASM filters offer advantages such as agility, reliability, isolation, and flexibility in extending Envoy capabilities, they also present challenges in deployment, especially at large scale. The cumbersome deployment process makes batch deployment and management difficult without the right tools. Currently, there are three main methods for deploying WASM filters: 1) Mounting the Host Path: This method mounts the WASM filter into the container. It has two drawbacks: First, existing Pods (in a service mesh, a Pod is the smallest unit of deployment and management in a Kubernetes cluster (a collection of physical or virtual machines organized into a single pool of computing resources running the Kubernetes platform)) cannot be file-mounted, requiring a Pod restart and path mounting. Second, file mounting requires the corresponding file to exist on the machine; otherwise, Envoy filter creation may cause Envoy errors and timing issues. 2) Pre-packing the WASM file into the Sidecar image: This method lacks flexibility and further complicates WASM filter deployment. 3) Use the Remote Source mode natively supported by Envoy. This method requires users to manage the remote repository of WASM plugins themselves, while also considering network connectivity issues.

[0048] In summary, while writing and deploying WASM Filters can greatly simplify the process of extending Envoy's data plane capabilities, the deployment of WASM Filters is cumbersome and prone to errors, especially in scenarios requiring large-scale deployment. Without tools, it is difficult to perform batch deployment and management of WASM Filters.

[0049] To overcome the limitations of related technologies, this application provides a system for batch deployment of service mesh data plane capabilities. This system utilizes components such as "filter configuration resources," "remote source services," and "service mesh instances" to achieve batch deployment of service mesh data plane capabilities. Detailed explanations are provided below.

[0050] Reference Figure 3 As shown, Figure 3 This is a schematic diagram of the structure of a system for batch deployment of service mesh data plane capabilities provided in an embodiment of this application. The system for batch deployment of service mesh data plane capabilities includes:

[0051] A remote source service is used to receive user-compiled WASM filters, which represent service mesh data plane capability configuration files;

[0052] The deployment controller, upon detecting a change in filter configuration resources, obtains the WASM Filter from the remote source service and creates an Envoy Filter based on the filter configuration resources, so that each target management unit to be deployed in batches in the service mesh can deploy service mesh data plane capabilities based on the Envoy Filter and the WASM Filter.

[0053] The filter configuration resource is created by the user after uploading the compiled WASM Filter to 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 mesh.

[0054] In this embodiment, WASM Filter refers to a WASM Filter file. For service mesh data plane capabilities that need to be extended, the user compiles the service mesh data plane capabilities into a WASM Filter and uploads it to a remote source service so that the subsequent deployment controller can actively pull the WASM Filter from the remote source service. The remote source service is a service that provides WASM Filter uploading and downloading and needs to be accessible within the cluster.

[0055] After uploading the compiled WASM Filter to the remote origin service, the user creates a filter configuration resource. This filter configuration resource includes at least the configuration information of the WASM Filter and information about each target management unit (Pod) to be deployed in batches within the service mesh. The WASM Filter configuration information refers to the configuration information required to configure the WASM Filter; each target management unit (Pod) to be deployed in batches within the service mesh refers to the Pod that needs to have its service mesh data plane capabilities deployed in batches. In other words, when creating the filter configuration resource, the user compiles the information of the Pods that need to have their service mesh data plane capabilities deployed into 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 deployment controller can obtain the corresponding WASM Filter from the remote origin service based on the identification information of the WASM Filter.

[0056] The deployment controller (WASM Fetcher Controller) monitors filter configuration resources in real time. In some embodiments, the deployment controller monitors changes to filter configuration resources through List / Watch. List / Watch is a core mechanism in the service mesh used to monitor changes to resource objects. The monitoring and response to filter configuration resources are achieved through the List and Watch operations provided by the API Server.

[0057] When a change in filter configuration resources is detected, it indicates that a user has created filter configuration resources. At this point, the batch deployment process needs to be executed. This involves retrieving the corresponding WASM Filter from the remote source service and caching the WASM Filter locally for use in subsequent single deployments of individual targets. After detecting a change in filter configuration resources, the deployment controller also creates an Envoy Filter based on the filter configuration resources. An Envoy Filter is a resource type in the service mesh used to directly modify Envoy configurations. For example... Figure 4 As shown, the deployment controller's processing logic is as follows: it monitors whether the filter configuration resource (Wasm Fetcher CRD) has changed; when the filter configuration resource has changed, it retrieves the corresponding WASM Filter from the remote source service and caches it locally; and it creates or updates the Envoy Filter according to the filter configuration resource.

[0058] The target management unit has an edge proxy gateway (Envoy). Each target management unit to be deployed in batches in the service mesh deploys service mesh data plane capabilities based on the Envoy Filter and the WASM Filter. This includes: each target management unit adds the WASM Filter to the edge proxy gateway based on the Envoy Filter to realize the deployment of service mesh data plane capabilities.

[0059] By employing the technical solution of this application embodiment, when service mesh data plane capabilities need to be deployed, the deployment controller can automatically obtain WASM Filters from remote source services and can create Envoy Filters based on user-created filter configuration resources. This allows target management units in the service mesh to directly deploy service mesh data plane capabilities based on Envoy Filters and WASM Filters, eliminating the need for cumbersome deployment (e.g., users do not need to write Envoy Filters themselves or apply them to the cluster), thus reducing the probability of errors. Furthermore, the filter configuration resources include at least the configuration information of the WASM Filters and information about each target management unit to be deployed in batches in the service mesh. Therefore, the Envoy Filters created by the deployment controller based on the filter configuration resources can be applied to each target management unit to be deployed in batches, enabling batch deployment based on these Envoy Filters.

[0060] In an optional embodiment, the system further includes:

[0061] After detecting a change in the Envoy Filter, the service mesh instance distributes the Envoy Filter to the edge proxy gateways of each target management unit.

[0062] Furthermore, the various target management units to be deployed in batches within the service mesh deploy service mesh data plane capabilities based on the Envoy Filter and the WASM Filter, including: each target management unit obtains the WASM Filter from the deployment controller and deploys service mesh data plane capabilities according to the WASM Filter.

[0063] In this embodiment, 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 EnvoyFilter in real time through List / Watch.

[0064] When a service mesh instance detects a change in the Envoy Filter, it indicates that service mesh data plane capability deployment is required. The detected Envoy Filter is then distributed to the edge proxy gateways (Envoy) of each target management unit to update their configurations. Subsequently, the target management unit retrieves the WASM Filter from the deployment controller via remote source mode and adds it to its own filter chain, thus completing the service mesh data plane capability deployment.

[0065] The technical solution adopted in this application monitors the Envoy Filter through a service mesh instance, automatically distributing and deploying the Envoy Filter. This eliminates the need for users to write their own Envoy Filters, simplifying the deployment process and preventing errors caused by user-managed deployments. Furthermore, after the Envoy Filter is distributed, each target management unit automatically obtains the WASM Filter to deploy service mesh data plane capabilities, thus achieving batch deployment of service mesh data plane capabilities.

[0066] In one alternative embodiment, the service mesh instance is deployed in a Kubernetes cluster, and the deployment controller is deployed in the system command space of the service mesh instance, consistent with the namespace of the service mesh instance.

[0067] In this embodiment, the 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 deployed in the system (Istio-system) namespace of the service mesh instance, which is consistent with the namespace of the service mesh instance.

[0068] In one alternative embodiment, before deploying service mesh data plane capabilities, a filter configuration resource definition is set and applied to the Kubernetes cluster to enable the Kubernetes cluster to support the filter configuration resource.

[0069] Thus, when deploying service mesh data plane capabilities, users can create corresponding filter configuration resources through filter configuration resource definitions, enabling components such as controllers deployed in the Kubernetes cluster to monitor these filter configuration resources, thereby achieving batch deployment of service mesh data plane capabilities based on the user-created filter configuration resources.

[0070] In one alternative embodiment, the remote source service supports multiple versions of WASM Filters, which are managed using hash values.

[0071] In this embodiment, the remote source service needs to ensure accessibility within the cluster (K8s cluster) and provide file upload and download services. The remote source service can receive multiple different versions of WASM Filters and manage these multiple different versions of WASM Filters so that the deployment controller can obtain the corresponding WASM Filters to implement data plane capability deployment.

[0072] Understandably, since the remote source service supports multiple versions of WASM filters and manages them 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). Thus, after the deployment controller detects that the filter configuration resource has changed, it can obtain the corresponding WASM filter based on the hash value in the filter configuration resource.

[0073] In an alternative embodiment, the Envoy Filter obtains the WASM Filter via a remote source mode that supports the address pointing to the deployment controller through the edge proxy gateway.

[0074] Thus, when the service mesh instance distributes 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 remote source mode; wherein, the WASM Filter in the deployment controller is obtained from the remote source service and cached locally by the deployment controller.

[0075] This application provides another system for batch deployment of service mesh data plane capabilities. The system includes components such as remote source services, deployment controllers, filter configuration resources, and service mesh instances. The construction process of this system for batch deployment of service mesh data plane capabilities includes the following five steps:

[0076] Step 1: Determine a usable Kubernetes cluster and deploy a service mesh instance (i.e., a service mesh Istio instance) within the Kubernetes cluster.

[0077] Step 2: Define a Wasm Fetcher CRD and apply the Wasm Fetcher CRD to the Kubernetes cluster so that the Kubernetes cluster supports the Wasm Fetcher CRD.

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

[0079] Step 4: Deploy the Remote Source service. This 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 filters and manages multiple versions of WASM filters through hash values.

[0080] Thus, the system for batch deployment of service mesh data plane capabilities is built. Users can compile WASM filters based on this system, upload the files to a remote source service, and then create filter configuration resources. The deployment controller in the system monitors changes to the filter configuration resources and automatically retrieves the corresponding WASM filters from the remote source service for local caching. It also creates Envoy filters based on the filter configuration resources. These Envoy filters obtain WASM filters through the remote source mode of the deployment controller, supported by the edge proxy gateway. Therefore, when a service mesh instance detects a change in the Envoy filter, it distributes the Envoy filter to the edge proxy gateways of each target management unit. Each target management unit retrieves the WASM filter from the deployment controller and deploys service mesh data plane capabilities based on the WASM filter.

[0081] Based on this system, when service mesh data plane capabilities need to be deployed, the deployment controller can automatically obtain WASM filters from remote source services and create Envoy filters based on user-defined filter configuration resources. This allows target management units in the service mesh to directly deploy service mesh data plane capabilities based on Envoy filters and WASM filters, eliminating the need for cumbersome deployment processes (e.g., users do not need to write Envoy filters themselves or apply them to the cluster), thus reducing the probability of errors. Furthermore, the filter configuration resources include at least the configuration information of the WASM filters and information about each target management unit to be deployed in batches within the service mesh. Therefore, the Envoy filters generated by the deployment controller based on the filter configuration resources can be applied to each target management unit to be deployed in batches, enabling batch deployment.

[0082] Reference Figure 5 As shown, Figure 5 This application provides an overall architecture diagram of a system for batch deployment of service mesh data plane capabilities. Specifically, the system includes components such as remote source services, deployment controllers, filter configuration resources, and service mesh instances.

[0083] When deploying service mesh data plane capabilities in batches, users upload the compiled WASM Filter to a remote origin service and create a Wasm Fetcher CRD (filter configuration resource) based on the WASM Filter's configuration information and the information of each target management unit to be deployed in the service mesh. The WASM Fetcher Controller detects changes to the Wasm Fetcher CRD and pulls the WASM Filter from the remote origin service. The WASM Fetcher Controller then creates the filter configuration resource based on the Wasm Fetcher CRD. The Istiod (service mesh instance) detects changes to the Envoy Filter and distributes the Envoy Filter configuration to Envoy (edge ​​proxy gateway filter). Envoy pulls the WASM Filter from the WASM Fetcher Controller and deploys the service mesh data plane capabilities based on the WASM Filter.

[0084] This application also provides a method for batch deployment of service mesh data plane capabilities. This method is applied to the system for batch deployment of service mesh data plane capabilities described in this application, with reference to... Figure 6 As shown, Figure 6 This is a flowchart illustrating the steps of a method for batch deployment of service mesh data plane capabilities provided in an embodiment of this application. The method may include the following steps S610 to S630:

[0085] Step S610: After the deployment controller detects a change in the filter configuration resources, it obtains the WASM Filter from the remote source service. The filter configuration resources include 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 mesh. The WASM Filter is a deployment service mesh data plane capability configuration file.

[0086] Step S620: The deployment controller creates an Envoy Filter based on the filter configuration resources.

[0087] Step S630: Each target management unit to be deployed in batches in the service mesh deploys service mesh data plane capabilities based on the Envoy Filter and the WASM Filter.

[0088] Based on the technical solution of this application embodiment, the deployment controller can automatically obtain WASMFilter from the remote source service and can create Envoy Filter according to the user's filter configuration resources. This allows target management units in the service mesh to directly deploy service mesh data plane capabilities based on Envoy Filter and WASM Filter, eliminating the need for cumbersome deployment (e.g., users do not need to write Envoy Filter themselves or apply it to the cluster), thus reducing the probability of errors. Furthermore, the filter configuration resources include 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 mesh. Therefore, the Envoy Filter generated by the deployment controller based on the filter configuration resources can be applied to each target management unit to be deployed in batches, enabling batch deployment based on this Envoy Filter.

[0089] Furthermore, step S630, "deploying service mesh 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 mesh," includes:

[0090] Step S630-1: After detecting a change in the Envoy Filter, the service mesh instance distributes the Envoy Filter to the edge proxy gateways of each target management unit;

[0091] Step S630-2: Each target management unit obtains the WASM Filter from the deployment controller through remote source mode, and deploys service mesh data plane capabilities according to the WASM Filter.

[0092] In this embodiment, the service mesh instance monitors the Envoy Filter. When the service mesh instance detects a change in the Envoy Filter, it indicates that service mesh data plane capability deployment is required. The detected Envoy Filter is then distributed to the edge proxy gateways (Envoy) of each target management unit to update the configuration of the edge proxy gateways of each target management unit. Subsequently, the target management unit can obtain the WASM Filter from the deployment controller via remote source mode and add the obtained WASM Filter to its own filter chain, thereby realizing the deployment of service mesh data plane capabilities.

[0093] In an optional embodiment, the method further includes:

[0094] Based on the data plane capabilities of the service mesh to be deployed, compile it into a WASM Filter, and upload the WASM Filter to the remote source service;

[0095] According to the filter configuration resource definition, filter configuration resources are created 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.

[0096] In this embodiment, when service mesh data plane capabilities need to be deployed in batches, the system for batch deployment of service mesh data plane capabilities compiles a WASM Filter and uploads the file to a remote source service so that the subsequent deployment controller can obtain the WASM Filter from the remote source service for local caching. In addition, the user also creates a filter configuration resource so that the subsequent deployment controller can create or update the EnvoyFilter based on the filter configuration resource, thereby realizing the batch deployment of service mesh data plane functions.

[0097] The following describes the method for batch deployment of service mesh data plane capabilities according to this application using a complete embodiment, referring to... Figure 7 The above, Figure 7 The flowchart of another method for batch deployment of service mesh data plane capabilities provided in this application embodiment includes the following steps C1 to C8:

[0098] Step C1: The user compiles the WASM Filter and uploads it to the remote source service.

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

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

[0101] Step C4: Deploy the controller to obtain the WASM Filter from the remote source service.

[0102] Step C5: Deploy the controller to create the Envoy Filter based on the filter configuration resources.

[0103] Step C6: The service mesh instance detects a change in the Envoy Filter.

[0104] Step C7: The service mesh instance distributes the Envoy Filter to the edge proxy gateways of each target management unit.

[0105] Step C8: The edge proxy gateway in the target management unit obtains the WASM Filter from the deployment controller and deploys service mesh data plane capabilities based on the WASM Filter.

[0106] Compared to existing solutions, the method for batch deployment of service mesh data plane capabilities provided in this application has the following advantages: 1) No need to mount the Host Path, so there is no need to restart existing Pods, and the mounting machine does not require the existence of WASM Filter; 2) No need to modify the Sidecar image, ensuring 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 connectivity issues; 4) Users do not need to write EnvoyFilter configurations themselves, nor do they need to apply them to the cluster themselves, reducing the probability of errors.

[0107] This application also provides an electronic device, see embodiments thereof. Figure 8 , Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. For example... 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. The memory 810 stores a computer program that can run on the processor 820, thereby implementing the steps of the method for batch deployment of service mesh data plane capabilities as described in the embodiments of this application.

[0108] This application also provides a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the method for batch deployment of service mesh data plane capabilities described in this application.

[0109] This application also provides a computer program product, including a computer program that, when executed by a processor, implements the steps of the method for batch deployment of service mesh data plane capabilities described in this application.

[0110] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.

[0111] This application describes embodiments of methods and apparatus according to flowchart illustrations and / or block diagrams. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing terminal device to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing terminal device, generate instructions for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0112] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0113] These computer program instructions can also be loaded onto a computer or other programmable data processing terminal equipment, causing a series of operational steps to be performed on the computer or other programmable terminal equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable terminal equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0114] Although preferred embodiments of the present application have been described, those skilled in the art, upon learning the basic inventive concept, can make other changes and modifications to these embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments as well as all changes and modifications falling within the scope of the embodiments of the present application.

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

[0116] The above provides a detailed description of the system, method, and electronic device for batch deployment of service mesh data plane capabilities provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.

Claims

1. A system for batch deployment of service mesh data plane capabilities, characterized in that, include: A remote source service is used to receive user-compiled WASM filters, which represent service mesh data plane capability configuration files; The deployment controller, upon detecting a change in filter configuration resources, retrieves the WASMFilter from the remote source service and creates an Envoy Filter based on the filter configuration resources, so that each target management unit to be deployed in batches in the service mesh can deploy service mesh data plane capabilities based on the Envoy Filter and the WASM Filter. The filter configuration resource is created by the user after uploading the compiled WASM Filter to 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 mesh.

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

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

4. The system for batch deployment of service mesh data plane capabilities according to claim 3, characterized in that, Before deploying service mesh data plane capabilities, set up filter configuration resource definitions and apply them to the Kubernetes cluster so that the Kubernetes cluster supports filter configuration resources.

5. The system for batch deployment of service mesh data plane capabilities according to any one of claims 1-4, characterized in that, The remote source service supports multiple versions of WASM Filters, which are managed using hash values.

6. The system for batch deployment of service mesh data plane capabilities according to any one of claims 1-4, characterized in that, The Envoy Filter obtains the WASM Filter through the remote source mode of the deployment controller, which is supported by the edge proxy gateway and has an address pointing to the deployment controller.

7. A method for batch deployment of service mesh data plane capabilities, characterized in that, A system applied to the batch deployment service mesh data plane capability as described in any one of claims 1-6 includes: After detecting a change in the filter configuration resources, the deployment controller obtains the WASM Filter from the remote source service. The filter configuration resources include 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 mesh. The WASM Filter is a deployment service mesh data plane capability configuration file. The deployment controller creates the Envoy Filter based on the filter configuration resources; Each target management unit to be deployed in batches in the service mesh deploys service mesh data plane capabilities based on the Envoy Filter and the WASMFilter.

8. The method for batch deployment of service mesh data plane capabilities according to claim 7, characterized in that, Each target management unit to be deployed in batches within the service mesh deploys service mesh data plane capabilities based on the Envoy Filter and the WASM Filter, including: After detecting a change in the Envoy Filter, the service mesh instance distributes the Envoy Filter to the edge proxy gateways of each target management unit; Each target management unit obtains the WASM Filter from the deployment controller via remote source mode and deploys service mesh data plane capabilities based on the WASM Filter.

9. The method for batch deployment of service mesh data plane capabilities according to claim 7 or 8, characterized in that, Also includes: Based on the data plane capabilities of the service mesh to be deployed, compile it into a WASM Filter, and upload the WASM Filter to the remote source service; According to the filter configuration resource definition, filter configuration resources are created 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.

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, The steps of the method for batch deployment of service mesh data plane capability as described in any one of claims 7-9 when the processor executes the computer program are as follows.

Citation Information

Patent Citations

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

    CN113949702A

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

    CN117749513A