在部署istio时,我对global.tracer.zipkin.address
有疑问。我正在使用Jaeger,并在DaemonSet部署了Jaeger特工。由于我有每个Jaeger Agent(在每个节点上(、Jaeger Collector和Jaeger Query,我认为global.tracer.zipkin.address应该配置为Jaeger代理主机。但是,每个节点上都有代理,我很难指定主机。我应该如何指定?提前谢谢。仅供参考(如果我理解正确,Jaeger客户端将通过Envoy将数据发送给Jaeger代理,然后发送给Jaager收集器。
根据istio文档:
选项2:可自定义安装
查阅Jaeger文档开始吧。Jaeger无需进行任何特殊更改Istio。
一旦安装了Jaeger,您将需要指向Istio代理来发送部署的跟踪。这可以通过
--set values.global.tracer.zipkin.address=<jaeger-collector-address>:9411
进行配置在安装时。请参阅ProxyConfig.Tracing
用于高级配置,如TLS设置。
Istio文档声明在global.tracer.zipkin.address
中使用jaeger收集器地址。
关于Jaeger代理主机,根据Jaeger操作员文档:
<9>默认情况下,操作员假定代理部署为目标吊舱内的侧车。将策略指定为"DaemonSet"改变了这一点,并使操作员将代理部署为DaemonSet。请注意,您的跟踪程序客户端可能必须重写使用节点IP的"JAEGER_AGENT_HOST"环境变量。
然后,您的跟踪客户端很可能需要被告知代理的位置。这通常是通过将环境变量
JAEGER_AGENT_HOST
设置为Kubernetes节点的IP值来完成的,例如:apiVersion: apps/v1 kind: Deployment metadata: name: myapp spec: selector: matchLabels: app: myapp template: metadata: labels: app: myapp spec: containers: - name: myapp image: acme/myapp:myversion env: - name: JAEGER_AGENT_HOST valueFrom: fieldRef: fieldPath: status.hostIP