【发布时间】:2020-02-14 01:56:57
【问题描述】:
我想在 istio 中使用 stackdriver trace 作为分布式跟踪的后端。我在 GCP 的虚拟机上安装了 Docker,并运行了 zipkin-gcp 的镜像。
docker run -d -p 9411:9411 -e STORAGE_TYPE=stackdriver -e STACKDRIVER_PROJECT_ID=my-project openzipkin/zipkin-gcp
然后,根据官方文档,我将 istio 配置为将 spans 发送到此 VM。
istioctl manifest apply --set values.tracing.enabled=true --set values.tracing.provider=zipkin --set values.global.tracer.zipkin.address=10.128.0.30:9411 --set values.pilot.traceSampling=100.0
但是,堆栈驱动程序跟踪中没有显示任何跟踪。
为了隔离问题,我停止了 zipkin-gcp 并检查了是否使用 tcpdump 发送数据包。
tcpdump -i eth0 dst port 9411
结果发现什么都没有发送。我已确认 Kubernetes 集群到 VM 的端口 9411 连接。
如何使用 istio 向外部 zipkin 服务器发送跟踪信息?
【问题讨论】:
-
嗨,您是否将
9411端口转发到 docker 网络?似乎您的虚拟机可能可以访问,但容器无法访问。 -
好吧,我认为 9411 端口由于
-p 9411:9411而被转发。而且我已经确认了从 k8s 集群到 VM 的可达性。我从 k8s 集群向 9411 抛出了一个 HTTP 请求,并确认该数据包出现在 tcpdump 中。我认为这意味着有 TCP 连接。
标签: istio zipkin distributed-tracing