You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过K8s集群访问Jaeger /tracing返回index.html及503服务不可用

问题排查与解决方案

核心问题分析

Jaeger通过Istio Ingress Gateway访问出现503或空白页,本质是两个关键配置不匹配:

  • Istio路由未正确处理路径前缀与转发规则
  • Jaeger UI未配置BASE_URL,导致静态资源、API请求路径错误

步骤1:确认Jaeger Service端口配置

首先检查Istio命名空间中Jaeger Service的端口映射,确保VirtualService的目标端口与实际一致:

kubectl get svc tracing -n istio-system

默认Jaeger UI的targetPort为16686,若Service将其暴露为80端口,则VirtualService可使用80;否则需调整为16686。


步骤2:修正Istio路由配置

更新VirtualService,添加路径匹配与重写规则,确保所有/tracing前缀的请求正确转发到Jaeger:

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: tracing-gateway
  namespace: istio-system
spec:
  selector:
    istio: ingressgateway
  servers:
  - port:
      number: 80
      name: http-tracing
      protocol: HTTP
    hosts:
    - "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: tracing-vs
  namespace: istio-system
spec:
  hosts:
  - "*"
  gateways:
  - tracing-gateway
  http:
  - match:
    - uri:
        prefix: /tracing
    rewrite:
      uri: "/"
    route:
    - destination:
        host: tracing
        port:
          number: 16686  # 替换为实际Jaeger Service暴露的端口
  # 兼容Jaeger内部跳转的/jaeger路径
  - match:
    - uri:
        prefix: /jaeger
    rewrite:
      uri: "/"
    route:
    - destination:
        host: tracing
        port:
          number: 16686
---
# 若Jaeger与Istio之间为明文通信,可保留此规则;否则可删除
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: tracing
  namespace: istio-system
spec:
  host: tracing
  trafficPolicy:
    tls:
      mode: DISABLE

步骤3:配置Jaeger UI的Base路径

Jaeger UI默认使用根路径,需通过环境变量指定BASE_URL,确保静态资源、API请求自动带上/tracing前缀:

kubectl edit deployment tracing -n istio-system

在容器的env字段中添加:

env:
- name: BASE_URL
  value: "/tracing"
- name: COLLECTOR_HTTP_PORT
  value: "14268"

保存后重启Jaeger Deployment:

kubectl rollout restart deployment tracing -n istio-system

步骤4:验证配置

  1. 检查Istio规则是否生效:
istioctl analyze -n istio-system
  1. 查看IngressGateway日志,排查转发错误:
kubectl logs -n istio-system -l istio=ingressgateway -f
  1. 测试访问:http://localhost:90/tracing

内容的提问来源于stack exchange,提问作者Cole Maly

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 23:20:37