Don't ask me why I'm using the default ingress-nginx, I just have to. Anyway, I want to try out its integration with jaeger
Annoyingly I spent 4 hours only to realize the reason my ingress was crashing
was because the docs show the latest master but I'm running the latest release,
jaeger-endpoint config option was very recent.
data: enable-opentracing: "true" # agent host (udp/6831) adjust accordingly jaeger-collector-host: jaeger.jaeger.svc.cluster.local # takes precedence over collector-host # only available after 0.44.0 # jaeger-endpoint: "http://jaeger.jaeger.svc.cluster.local:14268/api/traces"
For reasons, the default config is a bit useless: each request generates 2 spans: both with the name service name nginx and the operation name being the Ingress path, which for most people is just /.
Thankfully, they can be customized, especially useful are the available log fields
data: # rename the service jaeger-service-name: nginx-default # outer span opentracing-operation-name: "$request_method $host" # inner span opentracing-location-operation-name: "$namespace $service_name" # don't kill jaeger jaeger-sampler-type: ratelimiting jaeger-sampler-param: "5"