Как я могу открыть пользовательский интерфейс Jaeger (работающий в Istio) в удаленном браузере, а не на локальном хосте? - PullRequest
0 голосов
/ 19 марта 2019

Официальный документ Istio (версия 1.0.6) гласит:

Мы можем получить доступ к пользовательскому интерфейсу Jaeger с помощью следующего действия:

Порт Kubectl-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, у нее нет браузера.Я должен открыть браузер на удаленной машине.Как я могу это сделать?Спасибо.

Ответы [ 3 ]

0 голосов
/ 03 апреля 2019

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

0 голосов
/ 03 апреля 2019

Есть несколько способов сделать это. port-forward отлично работает в Google Cloud Shell. Если вы используете GKE, я настоятельно рекомендую использовать Cloud Shell и port-forward, так как это самый простой способ. О других облаках я не знаю.

То, что говорит Стефан, сработает. Вы можете отредактировать сервис jaeger с помощью kubectl edit svc jaeger-query, а затем изменить тип сервиса с ClusterIP на NodePort. Наконец, вы можете получить доступ к услуге с помощью NODE_IP:PORT (любой узел). Если вы сделаете kubectl get svc, вы увидите новый порт, назначенный службе. Примечание. Может потребоваться открыть правило брандмауэра для этого порта.

Вы также можете указать тип услуги LoadBalancer, если у вас есть плоскость управления для настройки внешнего IP-адреса. Это было бы более дорогим решением, но у вас был бы выделенный внешний IP-адрес для вашей службы.

Есть и другие способы, но я бы сказал, что это подходящие.

0 голосов
/ 19 марта 2019

Вы можете создать службу NodePort , используя селектор app: jaeger, чтобы открыть пользовательский интерфейс за пределами кластера.

...