Skip to main content

Подключение стороннего балансировщика к кластеру

Подключение стороннего балансировщика

По умолчанию система использует HAProxy для балансировки нагрузки. Рекомендуется использовать его в качестве балансировщика нагрузки, так как именно с ним система проходит все этапы тестирования и по умолчанию используется при установке у клиентов. Однако, если необходимо использовать сторонний балансировщик, выполните настройку в соответствии с этой инструкцией.

Важно: При использовании сторонних балансировщиков испытания системы на совместимость не проводились. Мы не можем гарантировать стабильную и бесперебойную работу системы с другими решениями. Использование сторонних балансировщиков осуществляется под вашу ответственность.

Перед началом убедитесь, что ознакомились с разделом "Установка и настройка отказоустойчивой конфигурации". Этот раздел актуален для настройки любого балансировщика.

Требования к стороннему балансировщику

  1. Проксирование сообщений: балансировщик должен корректно обрабатывать следующие типы соединений:

    • FTP-соединения: порты 20–21 и 30000–30199.
    • HTTP-соединения: порты 1631, 8010, 8080.
    • WebSocket-соединения (при использовании TCP-конвертера): порты 7776, 7777.

    Если стандартные порты изменены при установке ПМ, укажите новые значения.

  2. Проверка доступности (healthcheck):

    • Балансировщик должен выполнять HTTP-запросы на адрес /health/.
    • Если ответ имеет статус 200, сервер считается исправным. Любой другой ответ означает неисправность.
    • Настройте механизм оповещений о сбоях серверов, доступный в вашем балансировщике.
  3. Параметры настройки:

    • Используйте алгоритм Round Robin с включением Sticky Session.
    • Настройки таймаутов:
      • Таймаут сервера (timeout server): 30 секунд.
      • Таймаут клиента (timeout client): 30 секунд.
      • Таймаут соединения (timeout connection): 5 секунд.
    • Повторы (retries): не требуются.
    • Используйте сгенерированные SSL-сертификаты для балансировщика.

После подготовки настроек установите ваш балансировщик.

Установка и настройка ПринтМенеджеров

Перед установкой первого ПринтМенеджера

Выполните команды для экспорта переменных окружения:

export NFS_ADDR=<NFS_ADDR>
export NFS_PATH=<NFS_FOLDER_PATH>
export DATABASE_URL=postgres://<POSTGRES_LOGIN>:<POSTGRES_PASSWORD>@<DB_HOST>:<PORT>/<BASE_NAME>

Или с указанием конкретной схемы базы данных:

export DATABASE_URL=postgres://<POSTGRES_LOGIN>:<POSTGRES_PASSWORD>@<DB_HOST>:<PORT>/<BASE_NAME>?currentSchema=<POSTGRES_SCHEMA>

Если используется табличное пространство, то добавьте команду:

export DATABASE_TABLESPACE=<DATABASE_TABLESPACE>

Укажите настройки Redis и других сервисов (эти команды обязательны):

export REDIS_ROLE=master
export REDIS_SENTINEL_LIST=<IP_1>,<IP_2>,<IP_3>
export REDIS_MASTER_IP=<IP_1>
export PM_HOSTNAME=<IP_1>
export DRIVER_OPTS_TYPE="nfs"
export DRIVER_OPTS_O="addr=<NFS_ADDR>,nolock,soft,rw"
export DRIVER_OPTS_DEVICE=":/scratch"
export EXT_HOSTNAME=<IP_BALANCER>
export REDIS_PASSWORD=<REDIS_PASSWORD>
export CUPS_PASSWORD=<CUPS_PASSWORD>
export FTPD_PASSWORD=<FTPD_PASSWORD>
export WEBDAV_PASSWORD=<WEBDAV_PASSWORD>

Где:

  • <NFS_ADDR>: IP-адрес или доменное имя сервера NFS.
  • <NFS_FOLDER_PATH>: путь к директории NFS.
  • <POSTGRES_LOGIN>, <POSTGRES_PASSWORD>, <POSTGRES_SCHEMA>: данные для подключения к базе.
  • <IP_1>, <IP_2>, <IP_3>: IP-адреса серверов ПринтМенеджера.
  • <IP_BALANCER>: IP-адрес балансировщика.

Важно: Оставайтесь в этом же терминале до завершения установки, иначе переменные окружения будут потеряны.

Запустите установку первого ПринтМенеджера.

Установка второго и последующих ПринтМенеджеров

Повторите команды экспорта переменных окружения, изменив:

export REDIS_ROLE=slave
export PM_HOSTNAME=<IP>

Где <IP> — IP-адрес устанавливаемого сервера. Запустите установку.

Проверка корректности установки

  1. Проверьте систему по "Чек-листу для проверки корректной установки".
  2. Исключите проверки, связанные с настройкой HAProxy.
  3. Добавьте собственные проверки, актуальные для вашего балансировщика.