Обнаружение и назначение модулей#

Сценарий описывает внутренний механизм работы компонентов GraDeLy без участия пользователя. Сценарий запускается автоматически при развертывании GraDeLy.

Пререквизиты#

  • модули приложения развернуты;

  • граф репликации создан;

  • сетевые доступы открыты;

  • часть модулей в параметрах инсталляции содержат определенные администратором метки (параметр воркера и модуля приложения, который задается на k8s и указывается в воркере и в модуле приложения).

Процесс#

  1. Запускается консоль управления.

  2. Консоль управления опрашивает существующие воркеры на предмет доступности (GET-запрос на /status), если воркеров нет, этот шаг пропускается.

  3. Запускаются воркеры приложения и получают информацию о своей метке из окружения ${gdl.module.label}. Метка формируется с использованием namespace потребителя и имени кластера, что гарантирует уникальность такой комбинации.

  4. При успешном запуске и готовности к выполнению заданий воркеры передают консоли управления свою метку, если настроена, и FQDN pod.

  5. Консоль, получив запрос от нового воркера, проверяет его наличие в списке доступных воркеров:

    • если воркер уже есть, то его задание завершено, старый процесс переходит в статус ABORTED, а сам воркер переходит в статус READY; модуль при этом должен быть в статусе running (если он запущен) или invalid (если он готов к исполнению);

Альтернативные сценарии#

Если воркера нет, то консоль добавляет запись с FQDN в список доступных воркеров в статусе READY.