Дистанційне підключення до сервісів
🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію. |
У разі виникнення необхідності дистанційного налагодження сервісу з локальної машини виконайте наступні кроки, щоб приєднатися.
-
Авторизуйтесь до OpenShift консолі.
-
Перейдіть до меню Workloads > Deployments. Виберіть проєкт з випадного списку Project, в якому буде використовуватись дистанційне підключення до сервісу. У рядку пошуку введіть назву сервісу, в результатах фільтрування виберіть необхідний, наприклад,
user-task-management
.Перед редагуванням ресурсів реєстру в Openshift, обов’язково зверніться до адміністратора Платформи за правами на редагування YAML-конфігурацій та переадресацію портів у namespace реєстру, адже за замовчуванням ці права не надані адміністратору реєстру. -
Перейдіть до меню
YAML
, в вікні редактора додайте властивість дляJAVA_OPTS
наступне значення:-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
Зображення 1. Вигляд ресурсу ДО редагуванняЗображення 2. Вигляд ресурсу ПІСЛЯ редагуванняДалі виконайте перезавантаження поди.
-
Завантажте
OpenShift command line interface
.-
Натисніть піктограму знака питання в правій верхній частині сторінки.
-
Виберіть меню
Command line tools
. -
Виберіть утиліту з переліку для завантаження, відповідно до вашої операційної системи.
-
Відкрийте завантажений файл.
-
-
Запустіть командний рядок (cmd) з місця де знаходиться файл
oc.exe
. -
Отримайте токен для авторизації в OpenShift.
-
Натисніть на ім’я профілю у правій верхній частині сторінки та оберіть пункт меню
Copy login command
. -
Повторно автентифікуйтесь в системі.
-
Натисніть
Display Token
. -
Скопіюйте значення з поля
Log in with this token
.
-
-
Виконайте скопійовану команду в командному рядку (cmd), наприклад:
oc login --token=sha256~1aWEXnvr4IBVNaaaaaaaAAQ10NkhokA9aa-s_-trO8k --server=https://api.example.com:6443
У випадку, якщо під час логіну з’являється помилка
error: x509: certificate is not trusted
через відсутність сертифіката на API-ендпоінтіhttps://api.example.com:6443
, використовуйте флаг--insecure-skip-tls-verify
для обходу перевірки TLS. Наприклад:oc login --insecure-skip-tls-verify --token=sha256~1aWEXnvr4IBVNaaaaaaaAAQ10NkhokA9aa-s_-trO8k --server=https://api.example.com:6443
-
Далі виберіть відповідний проєкт, виконавши команду:
oc project some_name
де
some_name
– назва вашого проєкту. -
Отримайте ідентифікатор поди сервісу, виконавши команду:
oc get pods
-
Виконайте команду переадресації портів:
oc port-forward user-task-management-c8b9695d6-rg92b 5005:5005
-
-
Додайте нову конфігурацію в Intellij IDEA.
-
Перейдіть до меню
. -
Натисніть
Add New Configuration
і виберіть тип конфігураціїRemote JVM Debug
. -
Вкажіть назву та перевірте налаштування, після чого натисніть
OK
.
-
-
Запустіть сервіс.
-
При наступному запиті сервіс вже можливо перехопити на локальній машині.