Отладка приложения с поддержкой Istio Java - PullRequest
0 голосов
/ 16 мая 2018

Я пытаюсь выполнить удаленную отладку Java-приложения, работающего в Openshift с Istio, поэтому в качестве модуля с одним док-контейнером с самим приложением и еще одним контейнером с прокси Envoy.

Я установил аргументы отладки для процесса Java:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005

и процесс открыл порт и написал:

Listening for transport dt_socket at address: 5005

Однако, когда я пытаюсь подключиться к этому как снаружи, так и из самого контейнера, я получаю:

> jdb -attach 172.17.0.8:5005
java.io.IOException: handshake failed - connection prematurally closed
    at com.sun.tools.jdi.SocketTransportService.handshake(SocketTransportService.java:136)
    at com.sun.tools.jdi.SocketTransportService.attach(SocketTransportService.java:232)
    at com.sun.tools.jdi.GenericAttachingConnector.attach(GenericAttachingConnector.java:116)
    at com.sun.tools.jdi.SocketAttachingConnector.attach(SocketAttachingConnector.java:90)
    at com.sun.tools.example.debug.tty.VMConnection.attachTarget(VMConnection.java:519)
    at com.sun.tools.example.debug.tty.VMConnection.open(VMConnection.java:328)
    at com.sun.tools.example.debug.tty.Env.init(Env.java:63)
    at com.sun.tools.example.debug.tty.TTY.main(TTY.java:1066)

Fatal error:
Unable to attach to target VM.

Мое подозрение заключается в том, что это связано с прокси-сервером Istio, который не понимает JDWP и портится с этим (к моему удивлению даже при доступе из контейнера с использованием

oc exec -it myservice-42-abcdef -c myservice bash

но я не могу проверить iptables из контейнера, так как у меня там нет root).

Мой подозреваемый прав? Как я могу отключить прокси на определенных портах?

1 Ответ

0 голосов
/ 16 мая 2018

Вы должны определить службы на портах, к которым у вас есть доступ с помощью модулей, поддерживающих Istio, даже для доступа на локальном хосте.Вы должны назвать порт <protocol>[-<suffix>], например tcp-jdwp.См. Требования для модулей с поддержкой Istio https://istio.io/docs/setup/kubernetes/sidecar-injection.html#pod-spec-requirements.

...