Traffic Trace

    Tracing is supported on any HTTP traffic in a , and will only work with data plane proxies and services that have the Kuma kuma.io/protocol: http tag defined. Check the for more details on how to set the protocol tag in the different environments.

    In order to enable tracing there are two steps that have to be taken:

    On Kubernetes we can run kumactl install tracing | kubectl apply -f - to deploy Jaeger automatically in a kuma-tracing namespace.

    A tracing backend must be first specified in a resource. Once added, the tracing backend will be available for use in the TrafficTrace resource.

    The types supported are:

    To add a new tracing backend we must create a new property in a Mesh resource:

    We will apply the configuration with kubectl apply -f [..].

    We will apply the configuration with kumactl apply -f [..] or via the .

    Add a TrafficTrace resource

    Once we have added a tracing backend, we can now create TrafficTrace resources that will determine how we are going to collecting traces, and what backend we should be using to store them.

    We will apply the configuration with kubectl apply -f [..].

    We will apply the configuration with or via the .

    We can use Kuma Tags to apply the TrafficTrace resource in a more target way to a subset of data plane proxies as opposed to all of them (like we do in the example by using the kuma.io/service: '*' selector),

    • x-request-id
    • x-b3-traceid
    • x-b3-spanid
    • x-b3-sampled

    As noted before, Envoy’s Zipkin tracer is also compatible with Jaeger through Zipkin V2 HTTP API.Traffic Trace - 图2 (opens new window).