Minikube部署Istio环境下Jaeger无追踪返回结果问题求助
故障排查步骤
- 1 确认Istio追踪采样率配置
Istio默认追踪采样率仅为1%,测试环境可调整为100%全采样,执行以下命令修改配置:
在kubectl edit configmap istio -n istio-systemmesh配置段下添加或修改如下配置:
修改完成后重启Istiod Pod使配置生效:mesh: | defaultConfig: tracing: sampling: 100.0kubectl rollout restart deployment istiod -n istio-system - 2 验证Envoy代理的Jaeger地址配置
进入任意业务Pod的istio-proxy容器,检查追踪上报地址是否正确:
正常输出应包含jaeger.istio-system.svc.cluster.local:14268相关地址,如未配置需检查Istio安装时是否开启了tracing组件,可重新执行Istio安装命令开启相关配置:# 替换为你实际的业务Pod名称与命名空间 kubectl exec <业务Pod名> -c istio-proxy -- pilot-agent request GET config_dump | grep -E 'jaeger|14268'istioctl install --set values.tracing.enabled=true --set values.tracing.provider=jaeger -y - 3 验证Pod网络连通性
使用临时容器测试业务Pod到Jaeger Pod的网络连通性:
如连接超时,需排查以下配置:# 替换为你的Jaeger Pod实际IP kubectl run -it --rm --restart=Never busybox --image=busybox:1.28 -- wget --spider --timeout=3 http://172.17.0.6:14268/api/traces- CentOS8宿主机是否关闭了firewalld、iptables规则是否拦截了集群内部流量
- Virtualbox主机内部网络是否开启了混杂模式
- 集群是否配置了限制跨命名空间访问的NetworkPolicy
- 4 检查Jaeger运行状态与日志
你提供的Jaeger事件中存在历史健康检查超时记录,可先重启Jaeger Pod:
重启后查看Jaeger运行日志排查报错:kubectl rollout restart deployment jaeger -n istio-systemkubectl logs -n istio-system -l app=jaeger - 5 生成测试流量验证
上述配置全部调整完成后,多次访问你的业务服务产生请求流量,等待1-2分钟后再到Jaeger界面查询追踪数据。
内容的提问来源于stack exchange,提问作者Vernon Ranis
相关产品推荐
相关产品推荐

