The following sections define the core elements of the data plane proxy configuration.
An inbound defines the port exposed for each workload. It consists of:
- The port the workload listens on.
- A set of tags.
A DPP typically exposes a single inbound. When a workload exposes multiple ports, multiple inbounds can be defined.
Tags are a set of key-value pairs that are defined for each DPP inbound. These tags can serve the following purposes:
- Specifying the service this DPP inbound is part of.
- Adding metadata about the exposed service.
- Allowing subsets of DPPs to be selected by these tags.
Tags prefixed with kuma.io are reserved:
-
kuma.io/service identifies the service name. On Kubernetes this tag is automatically created, while on Universal it must be specified manually. This tag must always be present.
-
kuma.io/zone identifies the zone name in a multi-zone deployment. This tag is automatically created and cannot be overwritten.
-
kuma.io/protocol identifies the protocol of the service exposed by this inbound. Accepted values are tcp, http, http2, grpc and kafka.
A service is a group of all DPP inbounds that have the same kuma.io/service tag.
An outbound allows the workload to consume a service in the mesh using a local port.
Outbounds are not required when using transparent proxying.