从k8s集群访问Jaeger /tracing on返回index.html和503 Service Unavailab



我有一个Kubernetes集群,它使用Istio作为服务网格运行,并由Metallb提供负载平衡。我有4个Istio插件(Prometheus、Kiali、Grafana和Jaeger)运行在Istio命名空间的集群上,但是在虚拟机上运行firefox相对较慢,而且我也不想依赖于"Istio仪表板"。命令,以便访问我的监视工具。

我已经成功地访问了Kiali和Grafana通过隧道与putty和利用Istio ingressgateway与网关/虚拟服务资源类似的Istio文档在这里- https://istio.io/latest/docs/tasks/observability/gateways/。istio ingressgateway pod正在监听10.10.1.10,我的putty隧道定向到10.10.1.10:80,源端口为90。此时所有的测试都在http中完成

我在下面列出了我的具体配置-

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: tracing-gateway
namespace: istio-system
spec:
selector:
istio: ingressgateway # use istio default controller
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:
- route:
- destination:
host: tracing
port:
number: 80
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: tracing
namespace: istio-system
spec:
host: tracing
trafficPolicy:
tls:
mode: DISABLE
---

每当我尝试通过点击/tracing访问Jaeger时,我总是收到503服务不可用错误。我知道这个应用程序可以正常工作,因为如果我运行istioctl dashboard jaeger命令,我可以通过虚拟机的firefox浏览器访问它。我想知道我需要在Jaeger中配置什么才能允许我访问它

最初,当与Jaeger合作时,我试图使用与Grafana和Kiali相同的网关/虚拟服务配置,但替换了名称/端口/前缀。如下所示-

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: grafana-gateway
spec:
selector:
istio: ingressgateway # use istio default controller
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
- "*"
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: grafana
spec:
hosts:
- "*"
gateways:
- grafana-gateway
http:
- match:
- uri:
prefix: /grafana
route:
- destination:
host: grafana
port:
number: 3000

当运行这个jaeger时,我只收到HTTP 503响应。在尝试了不同的端口组合之后,我使用了上面链接中列出的Istio页面中的yaml定义,只更改了hosts行,因为我没有域,而且一切都是基于IP的。

此时,当我使用putty隧道导航到/tracing时,它返回一个空白页面,如果检查,它是jaegers index.html页面。检查页面显示,它试图重定向到jaeger_tracing,但返回net::ERR_ABORTED 503(服务不可用)代码,如下面的截图所示。

通过在端口16686上运行kubectl port-forward命令找到了一个解决方案,但同样可以使用istioctl dashboard jaeger命令完成。

我在后台运行其中一个,并使用我的putty实例使用url/jaeger_tracing(在我的jaeger清单中定义)隧道到本地主机。从那里,我可以在本地实例中运行jaeger,而不会出现VM性能缓慢的问题。

相关内容

  • 没有找到相关文章

最新更新