Skip to main content

Установка балансировщика HAProxy


Page Type: Installation Component: ПринтМенеджер Domain: Infrastructure Product Versions: 4.x OS: Linux Status: Draft Related Components: HAProxy, ПринтМенеджер

Установка балансировщика HAProxy

Цель

Установка балансировщика нагрузки HAProxy для кластерной конфигурации ПринтМенеджеров.


Предусловия

  • Подготовлена база PostgreSQL и NFS-хранилище
  • Получены дистрибутивы Мониторинга, ПринтМенеджера и Балансировщика с файлами контрольных сумм

Шаги установки

Шаг 1. Скопируйте дистрибутивы на сервер балансировщика

Скопируйте на сервер балансировщика дистрибутивы Мониторинга, ПринтМенеджера и Балансировщика вместе с файлами контрольных сумм:

printmanager-X1.Y1.Z1.tar.gz
printmanager-X1.Y1.Z1.tar.gz.sha512
printum-X2.Y2.Z2.tar.gz
printum-X2.Y2.Z2.tar.gz.sha512
printum-balancer-X3.Y3.Z3.tar.gz
printum-balancer-X3.Y3.Z3.tar.gz.sha512

Шаг 2. Проверьте контрольные суммы

sha512sum -c <имя_файла>.sha512

Шаг 3. Распакуйте архив балансировщика

tar xzvf printum-balancer-X3.Y3.Z3.tar.gz
cd printum-balancer-X3.Y3.Z3

Шаг 4. Настройте переменные окружения

Введите следующие команды для настройки (оставайтесь в этом же терминале до завершения установки):

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>

где:

  • <POSTGRES_LOGIN> — логин пользователя с необходимыми разрешениями (запись, удаление, чтение, обновление).
  • <POSTGRES_PASSWORD> — пароль пользователя POSTGRES_LOGIN.
  • <DB_HOST> — реальный адрес базы или балансировщика кластера баз.
  • <PORT> — порт для подключения к базе.
  • <BASE_NAME> — Имя базы.
  • <POSTGRES_SCHEMA> — схема базы данных, указывать, если не используется схема public.
  • <DATABASE_TABLESPACE> — Табличное пространство.
  • <NFS_ADDR> — IP-адрес или доменное имя NFS сервера.
  • <NFS_FOLDER_PATH> — путь директории NFS сервера.

Также вы можете указать логин и пароль для страницы HAProxy:

export STATS_USER=<STATS_USER>
export STATS_PASSWORD=<STATS_PASSWORD>

Если пароль и логин не указан, то будет установлен логин "admin" и случайно сгенерированный пароль. Логин и пароль записаны в файле /opt/printum_balancer/.env.

Шаг 5. Запустите установку

С автоматическими сертификатами:

sudo -E ./install.sh -balancer <BALANCER_ADR> -pm <PM_1> -pm <PM_2> -pm <PM_3>

С собственными сертификатами:

export SSL_CERT=<client.crt>
export SSL_KEY=<client.key>
export SSL_CERT_CA=<ca.crt>
sudo -E ./install.sh -balancer <BALANCER_ADR> -pm <PM_1> -pm <PM_2> -pm <PM_3>

где:

  • <BALANCER_ADR> — IP адрес или доменное имя балансировщика.
  • <PM_1> — IP адрес или доменное имя первого ПМ.
  • <PM_2>, <PM_3>, … — IP адрес или имя ПМ.

Ожидаемый результат

Если установка прошла без ошибок, то в консоли будет выведено сообщение об успехе и http адрес для доступа к панели HAProxy:

Статус HAProxy доступен по адресу: https://BALANCER_ADR:7000/

Во время установки балансировщика будут автоматически записаны настройки для балансировщика и ПМов. Архивы находятся в директории /opt/printum_balancer/certificates.


Как проверить установку

Откройте страницу по адресу https://BALANCER_ADR:7000/.

Вы увидите несколько групп строк, группы отделяются заголовками бордового цвета. Каждая группа обозначает часть системы и её статус. После установки всех ПМов строки станут зелеными.


Next steps

  • Установка первого ПринтМенеджера в кластере
  • Добавление серверов ПринтМенеджера в кластер

Типовые ошибки

ОшибкаПричинаРешение
Страница состояния балансировщика (HAProxy) и ПринтМенеджеров загружается с ошибкой Отсутствует или некорректен FQDN (hostname) в DNS для ВМ в составе конфигурации Проверить наличие и корректность FQDN (hostname) в DNS для всех ВМ в составе отказоустойчивой конфигурации

Связанные страницы