With the instruction from the Jaeger documentation installed jaeger operator all-in-one instance in Docker Desktop (windows) Kubernetes cluster.
With port-forward’ing the port 16686 was able to access the Jaeger UI. jaeger-query service (default) was visibile.
After deploying a simple spring-boot (version 2.7.X) application with below jaeger dependencies in pom.xml. Say, I had two services Service-1 and Service-2, where service1 had end-point /path1
which uses RestTemplate java client to access the service-2 /path2
and displays the response in console.
<dependency>
<groupId>io.opentracing.contrib</groupId>
<artifactId>opentracing-spring-jaeger-cloud-starter</artifactId>
<version>3.1.2</version>
</dependency>
With the service running in IntelliJ IDE, I expect the traces to be loaded to the Jaeger UI under corresponding service name (mostly the spring boot application name in this case), when the Jaeger instance is running in the Kubernetes cluster I don’t see the trace in Jaeger UI.
When I use the docker run command with the all-in-one image, the same works where I am able to see the service’s and traces.
I am not sure what is missing in case of Jaeger operator all-in-one instance running in Kubernetes cluster. I also port-forwarded the 14268 (jaeger-collector port) as well, still there are no traces.
Used below configuration after the installation of operator.
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: simplest
- The
kubectl
service lists the collector, collector-headless, agent, etc and running successfully.
I expect if the spring boot applications images are executed in the cluster, the traces would appear in the Jaeger-ui.
Is there any reason, why the Spring boot application running in the host (from IDE) not able to send traces to the Jaeger running in the Kubernetes cluster with 16686 and 14268 port forwarded?
From documentation, I am not getting the clear picture how the jaeger-collector is being accessed by the Jaeger client from the spring application, etc.