Новый проект Kafka Connect#

Создавать проекты может администратор с ролью PROJECT_CREATOR.

Для создания проектов Kafka Connect убедитесь, что установлен стендовый параметр консоли grdl-console.kafka-connect.list=.

Последовательность выполнения#

Для создания нового проекта:

  1. Нажмите значок Новый проект рядом с полем Выберите проект.

    Новый проект

  2. Введите название проекта в открывшемся окне Добавление проекта, нажмите тумблер проекта Kafka Connect Cluster, заполните поле Адрес Kafka Connect Workers и нажмите Сохранить.

    Новый проект

Адреса Kafka Connect Workers должны соответствовать одному кластеру Kafka Connect.

Поле Адрес Kafka Connect Workers#

Адрес указывается по схеме:

http://<домен>:9884

Порт 9884 — это внутренний, фиксированный и неизменный порт, через который GraDeLy обращается к Kafka Connect.

Механизм работы Kafka Connect#

Трафик маршрутизируется через сервис-меш Istio. Istio перехватывает запрос и преобразует его в HTTPS:

  1. Пользователь в UI указывает Kafka Connect:

    http://connect-service.internal:9884

  2. Запрос отправляется из GraDeLy к Istio.

  3. Istio перенаправляет его на эндпоинт Kafka Connect на сервере:

    https://connect-service.internal:8443

    Порт 8443 может быть изменен в параметре grdl-console.kafka-connect.host.port в репозитории конфигурации.

  4. Kafka Connect получает запрос, выполняет операции (создание коннектора, получение статуса, удаление).

  5. Ответ возвращается тем же путем в UI.

Kafka Connect не требует настройки на разные внешние порты, все унифицируется через Istio.

@startuml
skinparam backgroundColor #F8FBFF
skinparam sequence {
    ArrowColor #007ACC
    ActorBorderColor #5FB760
    ActorBackgroundColor #E0FFE0
    LifeLineBorderColor #007ACC
    LifeLineBackgroundColor #E9F3FF
    ParticipantBorderColor #5FB760
    ParticipantBackgroundColor #DFFFE0
    BoxBackgroundColor #E6FFF0
    BoxBorderColor #5FB760
    NoteBackgroundColor #E0F7FF
    NoteBorderColor #5FB760
}

actor User as U
participant "GraDeLy UI" as UI
participant "Istio Service Mesh" as Istio
participant "Kafka Connect\nhttps://<домен>:8443" as KC

U -> UI : Указывает адрес\nhttp://<домен>:9884
UI -> Istio : HTTP-запрос\nhttp://<домен>:9884
note right of Istio
 Istio перехватывает трафик
 и перенаправляет его по HTTPS
 на реальный порт 8443
end note
Istio -> KC : HTTPS-запрос\nhttps://<домен>:8443
KC -> Istio : Ответ
Istio -> UI : Ответ по HTTP
UI -> U : Отображает результат
@enduml

Для редактирования проекта Kafka Connect:

  1. Нажмите на раскрывающийся список проектов в левой панели GraDeLy рядом с полем Выберите проект.

  2. Выберите проект для редактирования и нажмите значок Новый проект рядом с названием проекта.

    Новый проект

  3. Отредактируйте название проекта в открывшемся окне Редактирование имени проекта.

    Новый проект

  4. Нажмите Сохранить.

  5. Убедитесь, что администратор СУДИР удалил роли переименованного проекта и назначил пользователям новые роли.

    После переименования проекта прежде действовавшие в нем роли перешли в статус ARCHIVE и автоматически создались новые роли в статусе ACTIVE.

Для удаление проекта Kafka Connect:

  1. Нажмите на раскрывающийся список проектов в левой панели GraDeLy рядом с полем Выберите проект.

  2. Выберите проект для удаления и нажмите значок Новый проект рядом с названием проекта.

    Новый проект

  3. Нажмите Удалить в открывшемся окне предупреждения.

    Новый проект

  4. Убедитесь, что администратор СУДИР удалил роли уже удаленного проекта согласно документации СУДИР.

    После удаления проекта эти роли перешли в статус ARCHIVE.

Результат#

При входе в приложение созданный проект отображается в раскрывающемся перечне проектов в левом верхнем углу интерфейса. При переходе в проект Kafka Connect открывается меню с вкладками: Коннекторы, Задачи коннектора,Кластер.