Я пытаюсь настроить локальный кластер k8s и на minikube
с установленным istio
, и у меня возникла проблема с включением распределенной трассировки с помощью Jaeger.
У меня 3 микросервиса A -> B -> C
. Я распространяю все необходимые заголовки:
{"x-request-id", "x-b3-traceid", "x-b3-spanid", "x-b3-parentspanid", "x-b3-sampled", "x-b3-flags", "x-ot-span-context"}
Но на интерфейсе Jaeger я могу видеть только запрос к сервису A и не могу видеть запрос к сервису B.
Я зарегистрировал заголовки, отправленные в запросе.
Заголовки из сервиса 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:
Заголовки из службы 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:
Итак, математика x-request-id
, x-b3-traceid
, x-b3-sampled
и x-b3-spanid
. Есть некоторые заголовки, которые не установлены.
Кроме того, я получаю доступ к службе A через IP-адрес службы k8s типа LoadBalancer, а не через вход. Не знаю, может ли это быть проблемой.
UPD: у меня настроен шлюз istio, поэтому теперь я получаю доступ к услуге A
через шлюз istio. Однако результат тот же, я вижу трассировку для gateway->A
, но никакой дальнейшей трассировки