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:16686&
然后我们可以使用http://localhost:16686
。但是Localhost是一台Linux机器,它没有浏览器。我必须在远程计算机上打开浏览器。我怎样才能做到这一点?谢谢。
有几种方法。port-forward
在Google Cloud Shell上工作正常。如果您使用的是GKE,那么我强烈建议使用Cloud Shell,而port-forward
是最简单的方法。在其他云上,我不知道。
暗示Stefan会起作用的是什么。您可以使用kubectl edit svc jaeger-query
编辑Jaeger服务,然后将服务类型从ClusterIP
更改为NodePort
。最后,您可以使用NODE_IP:PORT
(任何节点)访问服务。如果您执行kubectl get svc
,则会看到分配给服务的新端口。注意:您可能需要为该端口打开防火墙规则。
,如果您有一个控制平面来设置外部IP地址,也可以制作服务类型LoadBalancer
。这将是一个更昂贵的解决方案,但是您将拥有一个专用的外部IP地址。
还有更多方法,但我想说这些是适当的。
您可以使用app: jaeger
选择器创建nodeport服务,以在群集外公开UI。
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命令参考