根据Jaeger文档中的说明,在Docker Desktop(Windows)Kubernetes集群中安装了Jaeger operator一体化示例。
通过端口转发,端口16686能够访问Jaeger UI。Jaeger查询服务(默认)可见。
在pom.xml中部署了一个简单的spring-boot(版本2.7.X)应用程序(具有以下jaeger依赖项)后,假设我有两个服务Service-1和Service-2,其中service 1具有端点/path1
,该端点使用RestTemplate java客户端访问service-2 /path2
并在控制台中显示响应。
<dependency>
<groupId>io.opentracing.contrib</groupId>
<artifactId>opentracing-spring-jaeger-cloud-starter</artifactId>
<version>3.1.2</version>
</dependency>
当服务在IntelliJ IDE中运行时,我希望跟踪信息加载到Jaeger UI中相应的服务名称下(在本例中主要是Spring Boot 应用程序名称),当Jaeger示例在Kubernetes集群中运行时,我在Jaeger UI中看不到跟踪信息。
当我对一体化映像使用docker run命令时,在我能够看到服务的和跟踪的情况下也是如此。
我不确定在Kubernetes集群中运行Jaeger operator all-in-one示例的情况下缺少了什么。我还端口转发了14268(jaeger收集器端口),但仍然没有任何痕迹。
安装操作器后使用以下配置。
apiVersion: jaegertracing.io/v1
kind: Jaeger
metadata:
name: simplest
kubectl
服务列出了收集器、收集器-headless、代理等,并成功运行。
我希望如果在集群中执行Spring Boot 应用程序映像,则跟踪将出现在Jaeger-ui中。
在主机中运行的Sping Boot 应用程序(从IDE)无法将跟踪发送到在Kubernetes集群中运行的Jaeger(转发16686和14268端口),是否有任何原因?
从文档中,我并没有清楚地了解Jaeger客户机是如何从spring应用程序等访问Jaeger收集器的。
1条答案
按热度按时间eeq64g8w1#
我在上面的评论端口转发服务,特别是
*-collector
服务工作是不正确的。端口转发服务
kubectl -n <namespace> simplest-collector 14268:14268
在
application.yaml
中