A Kong Mesh service mesh consists of two main components:
- The data plane consists of the proxies that run alongside your services. All of your mesh traffic flows through these proxies on its way to its destination. Kong Mesh uses Envoy for its data plane proxy.
- The control plane configures the data plane proxies for handling mesh traffic. The control plane runs independently of the data plane and doesn’t interact with mesh traffic directly. Kong Mesh users create policies that the Kong Mesh control plane processes to generate configuration for the data plane proxies.
One Kong Mesh control plane deployment can control multiple isolated data planes using the
Meshresource. Compared to using one control plane per data plane, this option lowers the complexity and operational cost of supporting multiple meshes.
Here’s a diagram that shows the Kong Mesh architecture :
flowchart TB
CP[Control plane]
subgraph M[Mesh]
direction LR
subgraph S1[Service]
subgraph DP1[Data plane]
DPP1[Data plane proxy]
end
end
subgraph S2[Service]
subgraph DP2[Data plane]
DPP2[Data plane proxy]
end
end
DPP1 <--> DPP2
end
CP <----> DPP1 & DPP2
Data plane proxies handle two types of communication:
- Configuration retrieval from the control plane using the Envoy xDS APIs.
- Request proxying for all traffic to and from the service.