Подключения к услуге Telepresenced получают 502 ошибки - PullRequest
0 голосов
/ 18 апреля 2019

Я работаю с несколькими сервисами в кластере kubernetes.Я пытаюсь реализовать телеприсутствие, чтобы разрешить локальную отладку кода в кластере или возможные изменения в запросах на получение.Службы в кластере работают с сервисами SpringBoot REST.

У меня есть простой тестовый пример использования curl для достижения конечной точки REST, работающей в кластере.Я могу достичь этого успешно без телеприсутствия.

Я на ноутбуке с Win7, работаю на виртуальной машине Ubuntu с сетью NAT.Я могу запустить командную строку telepresence, чей раздел «--run» запускает «mvn spring-boot: run».По умолчанию используется прокси-метод "vpn-tcp".Служба запускается нормально.Я могу ударить конечную точку службы с помощью «localhost: 8080».

Однако, если я перезапущу контрольный пример для достижения службы в кластере, он завершится неудачно с 502 (плохой шлюз).

Когда я запускаю TelePresence, я могу наблюдать, как он заменяет два модуля, на которых запущен образ Springboot, на один модуль, на котором работает образ TelePresence.Я рассмотрел подробные свойства службы и модулей как до, так и после запуска телеприсутствия, и не вижу каких-либо очевидных проблем в незначительных различиях.

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

Обратите внимание, что в настоящее время я выполняю это тестирование, когда подключен к нашей корпоративной сети через VPN.Инструкции в документах по телеприсутствию гласят, что нельзя смешивать «vpn-tcp» с другим VPN.Я не уверен, если это актуально.В первый раз, когда я попробовал этот тест, я был в офисе, а не по VPN, и увидел те же результаты.

Я также попытался изменить метод прокси на «inject-tcp».Это привело к тому, что служба SpringBoot не запустилась, ссылаясь на клиент Jaeger, который не смог подключиться к серверу.

Если это имеет значение, вот команда телеприсутствия, которую я выполняю (отмена изменения inject-tcp) и некоторые начальные результаты:

+ telepresence --verbose --swap-deployment cartms-blue --expose 8080 --run mvn spring-boot:run '-Dspring-boot.run.jvmArguments=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005' -Dspring-boot.run.folders=opt/ajsc/etc/config
T: Starting proxy with method 'vpn-tcp', which has the following limitations: All processes are affected, only one telepresence can run per machine, and you can't use other VPNs. You may need to add cloud hosts and headless services with --also-proxy. For a full list of method limitations see https://telepresence.io/reference/methods.html
T: Volumes are rooted at $TELEPRESENCE_ROOT. See https://telepresence.io/howto/volumes.html for details.
T: Starting network proxy to cluster by swapping out Deployment cartms-blue with a proxy
T: Forwarding remote port 8080 to local port 8080.
T: Forwarding remote port 8443 to local port 8443.

T: Setup complete. Launching your command.

Я ищу идеи для продвижения вперед от этого.

...