如何在远程浏览器中打开Jaeger UI(在Istio中运行),而不是localhost机器

问题描述 投票:0回答:3

Istio(1.0.6版)官方文件说:

我们可以通过以下操作访问Jaeger UI:

Kubectl port-forward -n istio-system $(kubectl get pod -n istio-system -l app = jaeger -o jsonpath ='{。items [0] .metadata.name}')16686:16686&

然后我们可以使用http://localhost:16686。但是localhost是一台Linux机器,它没有浏览器。我必须在远程计算机上打开浏览器。我怎样才能做到这一点?谢谢。

kubernetes istio jaeger
3个回答
0
投票

您可以使用NodePort选择器创建app: jaeger服务,以在集群外部公开UI。


0
投票

kubectl port-forward命令默认只暴露给localhost网络,尝试添加--address 0.0.0.0

$ kubectl port-forward -n istio-system \
 $(kubectl get pod -n istio-system -l app=jaeger -o jsonpath=’{.items[0].metadata.name}’) \
  --address 0.0.0.0 16686:16686 &

kubectl command reference


0
投票

有几种方法可以做到这一点。 port-forward在Google Cloud Shell上运行良好。如果您正在使用GKE,那么我强烈建议使用Cloud Shell和port-forward,因为这是最简单的方法。在其他云上,我不知道。

什么表明斯特凡会工作。您可以使用kubectl edit svc jaeger-query编辑jaeger服务,然后将服务类型从ClusterIP更改为NodePort。最后,您可以使用NODE_IP:PORT(任何节点)访问该服务。如果您执行kubectl get svc,您将看到分配给该服务的新端口。注意:您可能需要为该端口打开防火墙规则。

如果您有一个控制平面来设置外部IP地址,您也可以使服务类型为LoadBalancer。这将是一个更昂贵的解决方案,但您将拥有一个专用的外部IP地址为您的服务。

有更多的方法,但我会说这些是合适的。

© www.soinside.com 2019 - 2024. All rights reserved.