Дистанційне підключення до сервісів

🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію.

У разі виникнення необхідності дистанційного налагодження сервісу з локальної машини виконайте наступні кроки, щоб приєднатися.

  1. Авторизуйтесь до OpenShift консолі.

  2. Перейдіть до меню Workloads > Deployments. Виберіть проєкт з випадного списку Project, в якому буде використовуватись дистанційне підключення до сервісу. У рядку пошуку введіть назву сервісу, в результатах фільтрування виберіть необхідний, наприклад, user-task-management.

    Перед редагуванням ресурсів реєстру в Openshift, обов’язково зверніться до адміністратора Платформи за правами на редагування YAML-конфігурацій та переадресацію портів у namespace реєстру, адже за замовчуванням ці права не надані адміністратору реєстру.

    remote connection 1

  3. Перейдіть до меню YAML, в вікні редактора додайте властивість для JAVA_OPTS наступне значення:

    -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005
    remote connection 2 1
    Зображення 1. Вигляд ресурсу ДО редагування
    remote connection 2
    Зображення 2. Вигляд ресурсу ПІСЛЯ редагування

    Далі виконайте перезавантаження поди.

  4. Завантажте OpenShift command line interface.

    1. Натисніть піктограму знака питання в правій верхній частині сторінки.

    2. Виберіть меню Command line tools.

    3. Виберіть утиліту з переліку для завантаження, відповідно до вашої операційної системи.

    4. Відкрийте завантажений файл.

    remote connection 3

  5. Запустіть командний рядок (cmd) з місця де знаходиться файл oc.exe.

    remote connection 4

  6. Отримайте токен для авторизації в OpenShift.

    1. Натисніть на ім’я профілю у правій верхній частині сторінки та оберіть пункт меню Copy login command.

      remote connection 5

    2. Повторно автентифікуйтесь в системі.

    3. Натисніть Display Token.

    4. Скопіюйте значення з поля Log in with this token.

      remote connection 6

  7. Виконайте скопійовану команду в командному рядку (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
    1. Далі виберіть відповідний проєкт, виконавши команду:

      oc project some_name

      де some_name – назва вашого проєкту.

    2. Отримайте ідентифікатор поди сервісу, виконавши команду:

      oc get pods
    3. Виконайте команду переадресації портів:

      oc port-forward user-task-management-c8b9695d6-rg92b 5005:5005
  8. Додайте нову конфігурацію в Intellij IDEA.

    1. Перейдіть до меню Run  Edit Configuration…​.

      remote connection 7

    2. Натисніть Add New Configuration і виберіть тип конфігурації Remote JVM Debug.

      remote connection 8

    3. Вкажіть назву та перевірте налаштування, після чого натисніть OK.

      remote connection 9

  9. Запустіть сервіс.

    remote connection 10

  10. При наступному запиті сервіс вже можливо перехопити на локальній машині.

    remote connection 11