Service grid instance construction method, service grid system and multi-cluster system
By deploying the control plane components and data plane components of the service mesh in different operating environments, the control plane single point failure and configuration complexity problems in existing service mesh construction solutions are solved, and the hosting of service mesh instances is realized. Decoupling of life cycle management.
Patent Information
- Application Number
- CN202010516849.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-06-09
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2040-06-09
AI Technical Summary
The existing service mesh construction solution has disadvantages such as single point failure in the control plane, configuration complexity requires user maintenance and management, and tight coupling of service mesh instances and service runtime environment life cycle management.
By deploying the control plane components and data plane components of the service mesh in different operation environments, decoupling the life cycle management of the service mesh instance and the service runtime environment, realizing the hosting of the control plane components.
Solve the single point failure and configuration complexity of the control plane, realize the hosting of service mesh instances, reduce the complexity of user maintenance management, and avoid the tight coupling of service mesh instances and service runtime environments. The question comes.
Smart Images

Figure CN113296927B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular to a method for constructing a service grid instance, a service grid system, and a multi-cluster system. Background Art
[0002] Microservices refers to exposing data and functions as a set of loosely coupled API services, which are then combined together to solve application needs. With microservices, organizations can quickly adapt to changing customer needs and provide combined services that can create competitive advantages.
[0003] As application functionality grows in complexity and more and more microservices are created, these loosely coupled services need to understand the dependencies between services to minimize the hassle of making changes later.
[0004] Service mesh is a key part of microservice infrastructure, which can realize calls between services and improve the elasticity and security of applications. Existing service mesh construction solutions usually build service mesh instances within the microservice architecture to provide governance and traffic management capabilities for multiple services within the microservice architecture, but this approach has certain disadvantages, including: the control plane is a single point of failure, and a single configuration error may cause the entire control and data plane to fail; the configuration complexity of the control plane requires user maintenance and management, and cannot be managed; the service mesh instance is tightly coupled with the lifecycle management of the service runtime environment.
[0005] Therefore, a service grid construction solution is needed that can solve at least one of the above disadvantages. Summary of the invention
[0006] A technical problem to be solved by the present disclosure is to provide a service grid construction solution that can solve at least one of the above-mentioned drawbacks.
[0007] According to a first aspect of the present disclosure, a method for constructing a service grid instance is provided, comprising: creating a service grid instance in a first operating environment; registering multiple service instances in a second operating environment with the service grid instance; deploying a data plane component of the service grid instance in the second operating environment, deploying a control plane component of the service grid instance for providing policies and / or configurations for the data plane component in the first operating environment, and sending parameters of the control plane component to the second operating environment, so that the data plane component can follow the policies and / or configurations provided by the control plane component to implement calls between different service instances.
[0008] According to a second aspect of the present disclosure, there is also provided an application running method, wherein the application includes multiple service instances located in a second running environment, the method comprising: utilizing a data plane component deployed in the second running environment to implement calls between different service instances, wherein a control plane component for providing policies and / or configurations for the data plane component is deployed in a first running environment different from the second running environment, and the data plane component and the control plane component constitute a service grid instance for multiple service instances.
[0009] According to a third aspect of the present disclosure, a service grid system is also provided, including: one or more service grid instances, the service grid instances are used to implement calls between different service instances on multiple clusters, the data plane components of the service grid instances are deployed on multiple clusters, the control plane components of the service grid instances are deployed in the service grid system, the control plane components are used to provide policies and / or configurations for the data plane components, and the service grid system sends parameters of the control plane components to multiple clusters so that the data plane components can follow the policies and / or configurations provided by the control plane components to implement calls between different service instances.
[0010] According to the fourth aspect of the present disclosure, a multi-cluster system is also provided, including: multiple clusters, one or more service instances deployed on each cluster; a cluster access controller, used to connect multiple clusters to the service grid instance deployed in the service grid system; multiple proxy containers, each proxy container corresponds to a service instance, and the service instance calls the corresponding proxy container to communicate with the proxy containers corresponding to other service instances; the proxy container obtains the parameters of the control plane component of the service instance through the access entry provided by the entry gateway component deployed in the service grid system.
[0011] According to a fifth aspect of the present disclosure, a computing device is provided, comprising: a processor; and a memory on which executable code is stored, and when the executable code is executed by the processor, the processor executes the method described in the first aspect or the second aspect above.
[0012] According to a sixth aspect of the present disclosure, a non-temporary machine-readable storage medium is provided, on which executable code is stored. When the executable code is executed by a processor of an electronic device, the processor executes the method described in the first or second aspect above.
[0013] Therefore, by deploying control plane components and data plane components in different operating environments, the lifecycle management of service mesh instances and service runtime environments can be decoupled, providing support for the hosting of service mesh instances. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The above and other objects, features and advantages of the present disclosure will become more apparent through a more detailed description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, wherein like reference numerals generally represent like components in the exemplary embodiments of the present disclosure.
[0015] Figure 1 A schematic diagram of a method for constructing a service grid instance according to an embodiment of the present disclosure is shown.
[0016] Figure 2 The structure schematic diagram of a service grid system and related components deployed in a multi-cluster environment according to an embodiment of the present disclosure is shown.
[0017] Figure 3 A schematic diagram showing deployment of a proxy container and a process of a non-containerized application together according to an embodiment of the present disclosure is shown.
[0018] Figure 4 A schematic diagram of the structure of a computing device according to an embodiment of the present disclosure is shown. DETAILED DESCRIPTION
[0019] The preferred embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although the preferred embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be limited by the embodiments described herein. On the contrary, these embodiments are provided to make the present disclosure more thorough and complete, and to fully convey the scope of the present disclosure to those skilled in the art.
[0020] A service mesh consists of two key components: the data plane and the control plane.
[0021] In the data plane, the application service deployment is modified to include a dedicated proxy component (corresponding to the proxy container described below, such as the Sidecar proxy). The data plane allows each service to call its local proxy component to communicate with the proxy components in other services instead of calling the service directly over the network. The proxy component encapsulates the complex logic of service-to-service exchange. A group of interconnected proxy components in the service mesh constitutes the entire data plane.
[0022] The control plane is used to provide policies and / or configurations to the data plane. In other words, the control plane is used to control the proxy behavior across the entire service mesh. Service routing rules, authentication policies, or collecting metrics and configuring parameters for the data plane can all be specified on the control plane. Generally speaking, the communication between the data plane and the control plane is regulated through API definitions.
[0023] The present disclosure proposes a managed service grid construction solution. By deploying the control plane components and data plane components of the service grid in different operating environments, the lifecycle management of the service grid instance and the service runtime environment can be decoupled to achieve the hosting of the control plane components.
[0024] Figure 1 A schematic diagram of a method for constructing a service grid instance according to an embodiment of the present disclosure is shown. Figure 1 The second operating environment refers to the operating environment where the service instance is located. Multiple service instances can be deployed in the second operating environment. The first operating environment is different from the second operating environment. The first operating environment refers to the hosting environment of the service grid, that is, the environment used to create a service grid instance.
[0025] A service grid instance may be created in the first operating environment, and multiple service instances in the second operating environment may be registered with the service grid instance.
[0026] The service grid instance mainly includes a data plane component and a control plane component. In the present disclosure, the data plane component can be split out from the service grid instance and deployed in the second operating environment. The control plane component used to provide policies and / or configurations for the data plane component is retained in the service grid instance, that is, the control plane component is deployed in the first operating environment. And the parameters of the control plane component are sent to the second operating environment in a predetermined manner, so that the data plane component can follow the policies and / or configurations provided by the control plane component to implement calls between different service instances.
[0027] In response to the update of the control plane component in the first operating environment, the parameters of the updated control plane component can be sent to the second operating environment, so that the data plane component can follow the provisioning policy and / or configuration provided by the updated control plane component to implement calls between different service instances. The operation of updating the control plane component can be performed by a user or by a system that provides a service grid hosting service (such as the hosted service grid system described below).
[0028] As an example, the first operating environment may refer to a managed service grid system based on a public cloud, a private cloud, or a hybrid cloud, that is, the managed service grid system may be deployed on a public cloud, a private cloud, or a hybrid cloud. The second operating environment may be a multi-cluster environment. A cluster refers to a collection of logically grouped computer resources that run as a unit, which may be an independent physical cluster or a logical cluster group containing multiple physical clusters, such as a Kubernetes cluster. One or more service instances may be deployed in each cluster. All service instances deployed in a multi-cluster environment may constitute a complete application architecture (such as a microservice architecture).
[0029] The managed service grid system provides managed services of service grid instances to the outside world. The managed service grid system can execute the method for constructing the service grid instance of the present disclosure, and create service grid instances for service instances deployed on multiple clusters to implement calls between different service instances.
[0030] By deploying control plane components and data plane components in different operating environments, the lifecycle management of service grid instances and service runtime environments can be decoupled to a certain extent. Taking the second operating environment as a hosted service grid system as an example, the setting and updating of configuration parameters of control plane components can be achieved in a hosted manner, that is, the configuration of control plane components can be maintained by the hosted service grid system without the need for users to maintain the configuration complexity of the control plane.
[0031] And because the control plane components and data plane components are deployed in different operating environments, even if a parameter configuration error occurs when the control plane components are updated, the data plane components can follow the policies and / or configurations provided by the original control plane components, and will not cause the entire data plane to fail.
[0032] Taking the first operating environment as a managed service grid system and the second operating environment as a multi-cluster environment as an example, the service grid instance may also include a service registration controller and a service registration library. The service registration controller and the service registration library are deployed in the managed service grid system, and a cluster access controller is also provided in the multi-cluster environment. The cluster access controller may connect multiple clusters to the service grid instance; the service registration controller may register different service instances on multiple clusters to the service grid instance; and the service registration library may uniformly manage the service registration information of different service instances on multiple clusters.
[0033] The present disclosure may also deploy an ingress gateway component in a service grid instance to the first operating environment, and the ingress gateway component is used to provide an access entry for the data plane component. For example, the ingress gateway component may be an access entry that provides control plane parameters to the data plane, which may be implemented through an intranet or private network load balancer.
[0034] The data plane component may include multiple proxy containers, each of which corresponds to a service instance. A service instance may call its corresponding proxy container to communicate with proxy containers corresponding to other service instances to implement calls between different service instances.
[0035] The proxy container can be deployed as an out-of-process sidecar with the application instance, and is responsible for performing network-level operations and observing all inbound and outbound traffic. Service instances can be divided into processes of containerized applications and non-containerized applications. For service instances belonging to containerized applications, the proxy container can be deployed together with the container where the service instance's application is located; for service instances belonging to processes of non-containerized applications, the node where the process is located can be registered as a working node of the second operating environment, and the interaction between the process and the proxy container corresponding to the process can be coordinated through the container runtime management environment in the second operating environment.
[0036] The present disclosure may also send remote service grid metadata related to the configuration parameters of the service instance to the second operating environment, so that components related to the service grid instance deployed in the second operating environment can be synchronized based on the remote service grid metadata.
[0037] As described above, the method for constructing a service grid instance of the present disclosure may be executed by a service grid system for providing a service grid hosting service. The following further describes the details of the present disclosure in conjunction with the service grid system.
[0038] Figure 2 The structure schematic diagram of a service grid system and related components deployed in a multi-cluster environment according to an embodiment of the present disclosure is shown.
[0039] like Figure 2 As shown, the service mesh system 101 provides a capability of exposing the control plane of the service mesh in a hosted manner. A hosted service mesh system 101 can build multiple different service mesh instances 102.
[0040] The service grid instance 102 is used to implement calls between different service instances on multiple clusters. Each service grid instance 102 provides a complete service grid control plane 104 (corresponding to the control plane component mentioned above), and the data plane component of the service grid instance 102 is deployed on multiple clusters. The service grid control plane 104 is used to provide policies and / or configurations for the data plane components. The service grid system 101 can send the parameters of the service grid control plane 104 to multiple clusters so that the data plane components can follow the policies and / or configurations provided by the control plane components to implement calls between different service instances.
[0041] The components related to the service mesh instance 102 deployed on multiple clusters constitute a multi-cluster data plane. The multi-cluster data plane includes a cluster access controller 108, which can connect multiple clusters to the service mesh instance 101. The service mesh instance 102 can include a service registration controller 109 and a service registration library 110. In response to the cluster access controller 108 connecting multiple clusters to the service mesh instance 101, the service registration controller 109 can register different service instances on multiple clusters to the service mesh instance 101. The service registration controller 109 can also support unified discovery and registration of services across multiple clusters; each service in the cluster does not depend on other settings and supports any type of exposure method. As an example, the service mesh instance 102 can manage routing rule definitions with a declarative API, thereby exposing service endpoints to the service registration library in a declarative way. Among them, service discovery refers to the process of locating service endpoints from a cluster according to the service name.
[0042] The service registration library 110 can uniformly manage the service registration information of different service instances on multiple clusters. For example, the service registration library 110 uniformly manages the registration service information processed by the service registration controller 109 and uniformly stores all the registration service information in a standardized manner.
[0043] The service mesh instance 102 also includes a service mesh controller 103 and a service mesh ingress gateway 105 (corresponding to the ingress gateway component mentioned above). The service mesh controller 103 is used to set up the service mesh control plane 104 and the service mesh ingress gateway 105, and the service mesh ingress gateway 105 is used to provide access to the service mesh control plane 104 for multiple clusters.
[0044] Specifically, the service mesh controller 103 provides the ability to decouple the lifecycle management of the service mesh instance and the service runtime environment; supports the dynamic creation of the service mesh control plane 104 and the service mesh entry gateway 105, and supports the dynamic and synchronous update of the hosted service mesh control plane 104 and the service mesh entry gateway 105 based on the configuration parameters of the service mesh.
[0045] The service mesh control plane 104 runs in the service mesh system 101, provides traffic configuration and control options for the proxy in the service mesh data plane, and can provide elasticity, load balancing and traffic control functions. The service mesh inlet gateway 105 is the access entrance that provides the hosted service mesh control plane 104 to multiple clusters of the data plane, which is often implemented as a load balancer of the intranet or private network.
[0046] The service grid instance 102 also includes a remote service grid controller 106, which is used to send remote service grid metadata 107 related to the configuration parameters of the service instance to multiple clusters, so that components related to the service grid instance deployed on multiple clusters can be synchronized with the service grid instance 101 based on the remote service grid metadata 107.
[0047] In other words, the remote service grid controller 106 provides a capability to remotely send the remote service grid metadata 107 to the cluster within the service grid, and supports dynamic synchronization and updating of the remote service grid metadata 107 sent to the data plane cluster based on the configuration parameters of the service grid. The remote service grid metadata 107 is used to dynamically synchronize the service grid-related components and configuration parameters on multiple clusters of the data plane, so as to support the proxy container 111 to dynamically adjust as the parameters of the control plane change, and ensure the connection capability with the service grid entry gateway 105.
[0048] Service instances deployed on multiple clusters can be divided into processes of containerized applications and non-containerized applications. For service instances belonging to containerized applications, the proxy container 111 can be deployed as an out-of-process Sidecar together with the application container 112 of the service instance, and is responsible for performing network-level operations and observing all inbound and outbound traffic. The application container 112 refers to the container where the application of the service instance is located, and calls between applications are intercepted and controlled by the proxy container 111.
[0049] The process of a non-containerized application cannot be processed by containerization and usually needs to share a host network with the proxy container 111. For the service instance of the process of a non-containerized application, the application process injector 113 deployed in a multi-cluster environment can register the node where the process is located as the working node of the cluster, and coordinate the interaction between the process and the proxy container 111 corresponding to the process through the container runtime management environment in the cluster. Figure 3 As shown in the figure, the proxy container and the application process can be deployed in a pod. After the node where the process is located is registered as a working node of the cluster, the Pod can use the node's network space and network resources through the Host network.
[0050] In summary, a method and system for a hosted service grid supporting multi-cluster management are proposed through a service grid controller 103 and a remote service grid controller 106, which provides a highly available way to achieve cross-cluster service registration, service discovery and traffic routing management; the service grid controller 103 provides the ability to decouple the lifecycle management of service grid instances and service runtime environments; supports dynamic creation of a hosted service grid control plane 104 and a service grid entry gateway 105, and supports dynamic synchronous update of the hosted service grid control plane 104 and the service grid entry gateway 105 based on the configuration parameters of the service grid; supports different service instances on multiple clusters to register with one service grid instance through a service registration controller 109, and can also support unified discovery and registration of services across multiple clusters; each service in the cluster does not depend on other settings and supports any type of exposure method; supports unified management of containerized applications and non-containerized applications through an application process injector 113.
[0051] The present disclosure also proposes an application operation method. The application mentioned in this embodiment may refer to an application including multiple service instances, that is, an application based on a microservice architecture. The operating environment where these multiple service instances are located is the second operating environment mentioned above. The service grid construction scheme mentioned above can be used to build corresponding service grid instances for these multiple service instances. For the construction process of the service grid instance, please refer to the relevant description above, which will not be repeated here.
[0052] During the application operation, when calls between service instances are required, the data plane components deployed in the second operation environment can be used to implement calls between different service instances. As described in the construction scheme of the service grid instance above, the control plane component for providing policies and / or configurations for the data plane component is deployed in a first operation environment different from the second operation environment, and the data plane component and the control plane component constitute a service grid instance for the multiple service instances.
[0053] As an example, the data plane component may include multiple proxy containers, each proxy container corresponding to a service instance. When a service instance among the multiple service instances needs to call other service instances, the service instance belonging to the caller can call the corresponding proxy container to communicate with the proxy containers corresponding to other service instances belonging to the callee. For the proxy container and service instance, please refer to the relevant description above, which will not be repeated here.
[0054] The present disclosure also provides a multi-cluster system, including: multiple clusters, one or more service instances deployed on each cluster, multiple clusters may refer to a cluster combination consisting of more than one cluster, such as a cluster federation consisting of multiple Kubernetes clusters; a cluster access controller, used to connect multiple clusters to a service grid instance deployed in a service grid system; multiple proxy containers, each proxy container corresponds to a service instance, the service instance calls the corresponding proxy container to communicate with the proxy containers corresponding to other service instances; the proxy container obtains the parameters of the control plane component of the service instance through the access entry provided by the entry gateway component deployed in the service grid system.
[0055] Application instances are divided into processes of containerized applications and non-containerized applications. The multi-cluster system also includes: an application process injector, which is used to register the node where the process of the non-containerized application is located as a working node of the cluster, and coordinate the interaction between the process and the proxy container corresponding to the process through the container runtime management environment of the cluster.
[0056] The multi-cluster system can also receive remote service grid metadata related to the configuration parameters of the service instance sent by the service grid system. The components related to the service instance deployed in the multi-cluster system (such as cluster access controllers and proxy containers) can be synchronized based on the remote service grid metadata. For details about the multi-cluster system, please refer to the relevant description above and will not be repeated here.
[0057] Figure 4 A schematic diagram of the structure of a computing device that can be used to implement the method for constructing the service grid instance according to an embodiment of the present invention is shown.
[0058] See also Figure 4 , the computing device 400 includes a memory 410 and a processor 420 .
[0059] Processor 420 may be a multi-core processor or may include multiple processors. In some embodiments, processor 420 may include a general-purpose main processor and one or more special coprocessors, such as a graphics processing unit (GPU), a digital signal processor (DSP), etc. In some embodiments, processor 420 may be implemented using a customized circuit, such as an application-specific integrated circuit (ASIC) or a field programmable gate array (FPGA).
[0060] The memory 410 may include various types of storage units, such as system memory, read-only memory (ROM), and permanent storage devices. Among them, ROM can store static data or instructions required by the processor 420 or other modules of the computer. The permanent storage device may be a readable and writable storage device. The permanent storage device may be a non-volatile storage device that does not lose the stored instructions and data even after the computer is powered off. In some embodiments, the permanent storage device uses a large-capacity storage device (such as a magnetic or optical disk, flash memory) as a permanent storage device. In some other embodiments, the permanent storage device may be a removable storage device (such as a floppy disk, optical drive). The system memory may be a readable and writable storage device or a volatile readable and writable storage device, such as a dynamic random access memory. The system memory may store some or all instructions and data required by the processor at run time. In addition, the memory 410 may include any combination of computer-readable storage media, including various types of semiconductor memory chips (DRAM, SRAM, SDRAM, flash memory, programmable read-only memory), and disks and / or optical disks may also be used. In some embodiments, the memory 410 may include a readable and / or writable removable storage device, such as a laser disc (CD), a read-only digital versatile disc (such as a DVD-ROM, a double-layer DVD-ROM), a read-only Blu-ray disc, an ultra-density optical disc, a flash memory card (such as an SD card, a mini SD card, a Micro-SD card, etc.), a magnetic floppy disk, etc. The computer-readable storage medium does not include carrier waves and transient electronic signals transmitted wirelessly or wired.
[0061] The memory 410 stores executable codes. When the executable codes are processed by the processor 420, the processor 420 can execute the method for constructing the service grid instance mentioned above.
[0062] The service grid instance construction method, service grid system, application running method and multi-cluster system according to the present invention have been described in detail above with reference to the accompanying drawings.
[0063] In addition, the method according to the present invention may also be implemented as a computer program or a computer program product, which includes computer program code instructions for executing the above steps defined in the above method of the present invention.
[0064] Alternatively, the present invention may also be implemented as a non-temporary machine-readable storage medium (or computer-readable storage medium, or machine-readable storage medium) on which executable code (or computer program, or computer instruction code) is stored. When the executable code (or computer program, or computer instruction code) is executed by a processor of an electronic device (or computing device, server, etc.), the processor executes the various steps of the above-mentioned method according to the present invention.
[0065] Those skilled in the art will further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the disclosure herein may be implemented as electronic hardware, computer software, or a combination of both.
[0066] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system and method according to multiple embodiments of the present invention. In this regard, each square box in the flow chart or block diagram can represent a part of a module, program segment or code, and the part of the module, program segment or code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0067] The embodiments of the present invention have been described above, and the above description is exemplary, not exhaustive, and is not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein are selected to best explain the principles of the embodiments, practical applications, or improvements to the technology in the market, or to enable other persons of ordinary skill in the art to understand the embodiments disclosed herein.
Claims
1. A method for constructing a service grid instance, comprising: Creating a service mesh instance in the first operating environment; The first operating environment is a service grid system based on a public cloud, a private cloud or a hybrid cloud; Registering a plurality of service instances in a second operating environment to the service grid instance; The second operating environment is a multi-cluster environment; multiple service instances in the multi-cluster environment constitute a microservice; Deploy the data plane component of the service grid instance into the second operating environment, deploy the control plane component of the service grid instance for providing policies and / or configurations for the data plane component into the first operating environment, and send the parameters of the control plane component to the second operating environment, so that the data plane component can follow the policies and / or configurations provided by the control plane component to implement calls between different service instances; The data plane component includes a plurality of proxy containers, each of which corresponds to a service instance, and the service instance calls the proxy container corresponding to it to communicate with the proxy containers corresponding to other service instances.
2. The method according to claim 1, further comprising: The ingress gateway component in the service grid instance is deployed into the first operating environment, and the ingress gateway component is used to provide an access entry for the data plane component.
3. The method according to claim 1, further comprising: For a service instance that is a containerized application, deploy the proxy container together with the container where the application of the service instance is located; and / or For a service instance of a process belonging to a non-containerized application, the node where the process is located is registered as a working node of the second operating environment, and the interaction between the process and the proxy container corresponding to the process is coordinated through the container runtime management environment in the second operating environment.
4. The method according to claim 1, wherein: The service grid instance further includes a service registration controller and a service registration library. The multi-cluster environment further includes a cluster access controller. The step of registering multiple service instances in the second operating environment to the service grid instance includes: The cluster access controller connects multiple clusters to the service grid instance; The service registration controller registers different service instances on the multiple clusters to the service grid instance; The service registration library manages the service registration information of different service instances on the multiple clusters in a unified manner.
5. The method according to claim 1, further comprising: The remote service grid metadata related to the configuration parameters of the service instance is sent to the second operating environment, so that components related to the service grid instance deployed in the second operating environment can be synchronized based on the remote service grid metadata.
6. A method for running an application, wherein the application includes a plurality of service instances located in a second running environment, the method comprising: Implementing calls between different service instances by using a data plane component deployed in the second operating environment, wherein a control plane component for providing policies and / or configurations for the data plane component is deployed in a first operating environment different from the second operating environment, and the data plane component and the control plane component constitute a service grid instance for the multiple service instances; The data plane component includes a plurality of proxy containers, each of which corresponds to a service instance, and the service instance calls the proxy container corresponding to it to communicate with the proxy containers corresponding to other service instances; The first operating environment is a service grid system based on a public cloud, a private cloud or a hybrid cloud; The second operating environment is a multi-cluster environment; multiple service instances in the multi-cluster environment constitute a microservice.
7. A service grid system, comprising: One or more service mesh instances, The service grid instance is used to implement calls between different service instances on multiple clusters. The data plane component of the service grid instance is deployed on the multiple clusters, the control plane component of the service grid instance is deployed in the service grid system, and the control plane component is used to provide policies and / or configurations for the data plane component. The service grid system sends the parameters of the control plane component to the multiple clusters, so that the data plane component can follow the provisioning strategy and / or configuration provided by the control plane component to implement calls between different service instances; The control plane component is deployed into a first operating environment; The first operating environment is a service grid system based on a public cloud, a private cloud or a hybrid cloud; The data plane component is deployed into a second operating environment; The second operating environment is a multi-cluster environment; multiple service instances in the multi-cluster environment constitute a microservice; The data plane component includes a plurality of proxy containers, each of which corresponds to a service instance, and the service instance calls the proxy container corresponding to it to communicate with the proxy containers corresponding to other service instances.
8. The service grid system according to claim 7, wherein: The service grid instance also includes a service grid controller and an ingress gateway component, wherein the service grid controller is used to set the control plane component and the ingress gateway component, and the ingress gateway component is used to provide an access entry for the control plane component for the multiple clusters.
9. The service grid system according to claim 7, wherein: The service grid instance also includes a remote service grid controller, which is used to send remote service grid metadata related to the configuration parameters of the service instance to the multiple clusters, so that components related to the service grid instance deployed on the multiple clusters can be synchronized with the service grid instance based on the remote service grid metadata.
10. The service grid system according to claim 7, wherein: The service grid instance also includes a service registration controller and a service registration library. In response to the cluster access controller deployed on the multiple clusters connecting the multiple clusters to the service grid instance, the service registration controller registers different service instances on the multiple clusters to the service grid instance, and the service registration library uniformly manages the service registration information of different service instances on the multiple clusters.
11. A multi-cluster system, comprising: Multiple clusters, one or more service instances are deployed on each cluster; The multiple service instances in the multiple clusters constitute a microservice; A cluster access controller, used to connect the multiple clusters to a service grid instance deployed in the service grid system; Multiple proxy containers, each of which corresponds to a service instance, and the service instance calls the proxy container corresponding to it to communicate with the proxy containers corresponding to other service instances; The proxy container obtains the parameters of the control plane component of the service instance through the access entry provided by the entry gateway component deployed in the service grid system; The service grid instance is created in a first operating environment; the first operating environment is a service grid system based on a public cloud, a private cloud or a hybrid cloud.
12. The multi-cluster system according to claim 11, wherein: The service instance is divided into processes of containerized applications and non-containerized applications, and the multi-cluster system further includes: The application process injector is used to register the node where the process of the non-containerized application is located as the working node of the cluster, and coordinate the interaction between the process and the proxy container corresponding to the process through the container runtime management environment of the cluster.
13. The multi-cluster system according to claim 11, wherein: The multi-cluster system also receives remote service grid metadata related to the configuration parameters of the service instance sent by the service grid system, and components related to the service instance deployed in the multi-cluster system are synchronized based on the remote service grid metadata.
14. A computing device comprising: processor; as well as A memory having executable codes stored thereon, which, when executed by the processor, causes the processor to execute the method according to any one of claims 1 to 6.
15. A non-transitory machine-readable storage medium having executable codes stored thereon, which, when executed by a processor of an electronic device, causes the processor to execute the method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Monitoring system and method for employing multi-process applications in container cluster
CN106776212A