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.  Добавьте собственные проверки, актуальные для вашего балансировщика.