0

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 机器,它没有浏览器。我必须在远程机器上打开浏览器。我怎样才能做到这一点?谢谢。

4

3 回答 3

2

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

什么暗示 Stefan 会起作用。您可以使用 编辑 jaeger 服务kubectl edit svc jaeger-query,然后将服务类型从 更改ClusterIPNodePort。最后,您可以使用NODE_IP:PORT(任何节点)访问该服务。如果这样做kubectl get svc,您将看到分配给该服务的新端口。注意:您可能需要为该端口打开防火墙规则。

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

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

于 2019-04-03T08:33:16.323 回答
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 命令参考

于 2019-04-03T04:54:28.337 回答
0

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

于 2019-03-19T12:53:31.113 回答