Обнаружение и назначение модулей#
Сценарий описывает внутренний механизм работы компонентов GraDeLy без участия пользователя. Сценарий запускается автоматически при развертывании GraDeLy.
Пререквизиты#
модули приложения развернуты;
граф репликации создан;
сетевые доступы открыты;
часть модулей в параметрах инсталляции содержат определенные администратором метки (параметр воркера и модуля приложения, который задается на k8s и указывается в воркере и в модуле приложения).
Процесс#
Запускается консоль управления.
Консоль управления опрашивает существующие воркеры на предмет доступности (GET-запрос на
/status), если воркеров нет, этот шаг пропускается.Запускаются воркеры приложения и получают информацию о своей метке из окружения
${gdl.module.label}. Метка формируется с использованием namespace потребителя и имени кластера, что гарантирует уникальность такой комбинации.При успешном запуске и готовности к выполнению заданий воркеры передают консоли управления свою метку, если настроена, и FQDN pod.
Консоль, получив запрос от нового воркера, проверяет его наличие в списке доступных воркеров:
если воркер уже есть, то его задание завершено, старый процесс переходит в статус
ABORTED, а сам воркер переходит в статусREADY; модуль при этом должен быть в статусе running (если он запущен) или invalid (если он готов к исполнению);
Альтернативные сценарии#
Если воркера нет, то консоль добавляет запись с FQDN в список доступных воркеров в статусе READY.