Distributed Tracing with Jaeger

Illustrate the configuration for allowing distributed tracing using Jaeger.

Setup Seldon Core

Install Seldon Core as described in docs

Then port-forward to that ingress on localhost:8003 in a separate terminal either with:

  • Ambassador:

kubectl port-forward $(kubectl get pods -n seldon -l app.kubernetes.io/name=ambassador -o jsonpath='{.items[0].metadata.name}') -n seldon 8003:8080

  • Istio:

kubectl port-forward $(kubectl get pods -l istio=ingressgateway -n istio-system -o jsonpath='{.items[0].metadata.name}') -n istio-system 8003:80

!kubectl create namespace seldon
Error from server (AlreadyExists): namespaces "seldon" already exists
!kubectl config set-context $(kubectl config current-context) --namespace=seldon
Context "kind-ansible" modified.

Install Jaeger

Follow the Jaeger docs to install on Kubernetes.

!kubectl create namespace observability
!kubectl create -f https://github.com/jaegertracing/jaeger-operator/releases/download/v1.38.0/jaeger-operator.yaml -n observability

Port forward to Jaeger UI

Run Example REST Deployment

Check the Jaeger UI. You should be able to find traces like below:

rest

Run Example GRPC Deployment

Check the Jaeger UI. You should be able to find traces like below:

grpc

Last updated

Was this helpful?