I'm trying to set up a local k8s cluster and on minikube
with installed istio
and I have an issue with enabling distributed tracing with Jaeger.
I have 3 microservices A -> B -> C
. I am propagating the all the headers that are needed:
{"x-request-id", "x-b3-traceid", "x-b3-spanid", "x-b3-parentspanid", "x-b3-sampled", "x-b3-flags", "x-ot-span-context"}
But on Jaeger interface, I can only see the request to the service A and I cannot see the request going to service B.
I have logged the headers that are sent in the request. Headers from service A:
Header - x-request-id: c2804368-2ff0-9d90-a2aa-972537968924
Header - x-b3-traceid: 3a2400b40bbe5ed8
Header - x-b3-spanid: 3a2400b40bbe5ed8
Header - x-b3-parentspanid:
Header - x-b3-sampled: 1
Header - x-b3-flags:
Header - x-ot-span-context:
Headers from service B:
Header - x-request-id: c2804368-2ff0-9d90-a2aa-972537968924
Header - x-b3-traceid: 3a2400b40bbe5ed8
Header - x-b3-spanid: 3a2400b40bbe5ed8
Header - x-b3-parentspanid:
Header - x-b3-sampled: 1
Header - x-b3-flags:
Header - x-ot-span-context:
So the x-request-id
, x-b3-traceid
, x-b3-sampled
, and x-b3-spanid
mathces. There are some headers that aren't set.
Also, I'm accessing service A via k8s Service IP of type LoadBalancer, not via ingress. Don't know if this could be the issue.
UPD: I have setup istio gateway so now I'm accessing service A
via istio gateway. However the result is the same, I can see the trace for gateway->A
but no any further tracing