kubernetes 从主机向Jaeger一体机操作员示例发送轨迹时出现问题

6fe3ivhb  于 2023-01-12  发布在  Kubernetes
关注(0)|答案(1)|浏览(117)

根据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收集器的。

eeq64g8w

eeq64g8w1#

我在上面的评论端口转发服务,特别是*-collector服务工作是不正确的。
端口转发服务kubectl -n <namespace> simplest-collector 14268:14268
application.yaml

opentracing:
  jaeger:
    http-sender:
      url: http://localhost:14268/api/traces

相关问题