Careful!
You are browsing documentation for the next version of Kuma. Use this version at your own risk.
Dataplane
The Dataplane resource defines the configuration of a data plane proxy (also called a sidecar). A data plane proxy runs next to each workload and handles all inbound and outbound traffic for that workload.
On Kubernetes, Kuma automatically generates Dataplane resources when pods are injected with the sidecar. On Universal, you must manually create Dataplane resources to register workloads with the mesh.
Each Dataplane belongs to exactly one mesh.
Examples
Basic Dataplane with single inbound (Universal)
type: Dataplane
mesh: default
name: web-01
networking:
address: 192.168.0.1
inbound:
- port: 8080
servicePort: 8080
tags:
kuma.io/service: web
kuma.io/protocol: http
version: v1
Dataplane with multiple inbounds (Universal)
When a workload exposes multiple ports:
type: Dataplane
mesh: default
name: backend-01
networking:
address: 192.168.0.2
inbound:
- port: 8080
servicePort: 8080
tags:
kuma.io/service: backend-http
kuma.io/protocol: http
- port: 9090
servicePort: 9090
tags:
kuma.io/service: backend-grpc
kuma.io/protocol: grpc
Dataplane with outbounds (Universal, without transparent proxying)
type: Dataplane
mesh: default
name: web-01
networking:
address: 192.168.0.1
inbound:
- port: 8080
servicePort: 8080
tags:
kuma.io/service: web
kuma.io/protocol: http
outbound:
- port: 10001
tags:
kuma.io/service: backend
- port: 10002
tags:
kuma.io/service: database
Dataplane with transparent proxying (Universal)
type: Dataplane
mesh: default
name: web-01
networking:
address: 192.168.0.1
inbound:
- port: 8080
servicePort: 8080
tags:
kuma.io/service: web
kuma.io/protocol: http
transparentProxying:
redirectPortInbound: 15006
redirectPortOutbound: 15001
reachableServices:
- backend
- database
Dataplane with service probes (Universal)
type: Dataplane
mesh: default
name: web-01
networking:
address: 192.168.0.1
inbound:
- port: 8080
servicePort: 8080
tags:
kuma.io/service: web
kuma.io/protocol: http
serviceProbe:
interval: 10s
timeout: 2s
unhealthyThreshold: 3
healthyThreshold: 1
tcp: {}
Dataplane with advertised address (Universal)
For proxies in private networks (like Docker):
type: Dataplane
mesh: default
name: web-01
networking:
address: 172.17.0.2
advertisedAddress: 10.0.0.1
inbound:
- port: 8080
servicePort: 8080
tags:
kuma.io/service: web
kuma.io/protocol: http
Delegated gateway Dataplane
type: Dataplane
mesh: default
name: kong-gateway
networking:
address: 192.168.0.10
gateway:
type: DELEGATED
tags:
kuma.io/service: kong-gateway
Builtin gateway Dataplane
type: Dataplane
mesh: default
name: edge-gateway
networking:
address: 192.168.0.10
gateway:
type: BUILTIN
tags:
kuma.io/service: edge-gateway
See also
- Data plane proxy - Conceptual overview
- Configure the data plane on Kubernetes - Kubernetes-specific configuration
- Configure the data plane on Universal - Universal-specific configuration
- Transparent proxying - Traffic interception without application changes
- Service health probes - Health checking configuration
- Built-in gateways - Gateway configuration
- Mesh - Parent resource for all Dataplanes