<< Click to Display Table of Contents >> Администрирование (Linux) > Расширенная установка > Настройка NOMAD в ферме серверов через обратный прокси-сервер Установка и настройка HAProxy |
HAProxy – серверное программное обеспечение для обеспечения высокой доступности и балансировки нагрузки для TCP- и HTTP-приложений. Это достигается с помощью распределения входящих запросов на несколько обслуживающих серверов.
Установка HAProxy
Получите из репозитория или с официального сайта http://www.haproxy.org актуальные пакеты HAProxy для используемой версии Linux и установите их. Например, в Ubuntu для этого выполните команды:
$ sudo apt-get update
$ sudo apt-get install haproxy
Для установки HAProxy также можно использовать Directum Launcher. В этом случае HAProxy будет располагаться в docker-контейнере. Чтобы установить HAProxy:
1.Архив с Directum Launcher распакуйте в локальную папку на сервере с помощью команды:
tar -xvf <Имя архива> -С <Имя папки>
ВАЖНО. Для корректной установки общий путь к файлам должен быть не более 256 символов. Также он не должен содержать пробелы, символы кириллицы, запятые и спецсимволы. Поэтому используйте, например, папку /srv/DirectumLauncher.
2.Создайте копию файла full_config.yml.example, переименуйте его в config.yml и скопируйте в папку DirectumLauncher/etc/. Созданный конфигурационный файл откройте на редактирование и в секции services_config оставьте только секцию SungeroHaproxy. Подробнее см. раздел «Установка с помощью командной строки».
Пример конфигурационного файла
|
3.Выполните команду:
./do.sh all up
Настройка HAProxy
1.Откройте конфигурационный файл HAProxy haproxy.cfg. Пример пути: /etc/haproxy/.
2.В секцию backend добавьте строки для балансировки сервисов NOMAD через cookie:
backend nomadservice_backend
balance roundrobin
cookie NomadNode insert indirect nocache
server Имя узла <IP>:<PORT> cookie Имя узла inter fall rise
где:
Имя узла – идентификатор сервиса NOMAD внутри фермы/ Указанное имя используется при настройке сервиса NOMAD;
inter – интервал между проверками доступности сервиса NOMAD в секундах. Рекомендуемое значение: 10s;
fall – количество неудачных попыток подключения, после которых сервис считается недоступным. Рекомендуемое значение: 9;
rise – количество удачных попыток подключения, после которых сервис считается доступным. Рекомендуемое значение: 2.
ПРИМЕЧАНИЕ. Параметры inter, fall и rise задаются, чтобы перераспределять пользователей с одного узла на несколько при последовательном перезапуске серверов фермы.
3.В секцию frontend добавьте строку:
default_backend nomadservice_backend
4.Перезапустите HAProxy:
./do.sh haproxy usudo systemctl haproxy restart
Чтобы управлять HAProxy используйте команды:
•для перезапуска:
sudo systemctl haproxy restart
•для остановки:
sudo systemctl haproxy stop
Пример конфигурационного файла:
global
ssl-default-bind-options ssl-min-ver TLSv1.2
defaults
mode http
timeout connect 5s
timeout client 2m
timeout server 15m
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
option httplog
default-server init-addr last,libc,none
default-server check inter 10s resolvers docker_resolver
retries 3
maxconn 4000
log stdout len 4096 format raw local0 debug
resolvers docker_resolver
nameserver dns 127.0.0.11:53
frontend directumrx
bind 0.0.0.0:80
http-request set-header X-Forwarded-Host %[req.hdr(host)]
bind 0.0.0.0:443 ssl crt /usr/local/etc/ssl.pem
redirect scheme https if !{ ssl_fc }
default_backend nomadservice_backend
http-request set-header X-Forwarded-Proto https
backend nomadservice_backend
balance roundrobin
cookie NomadNode insert indirect nocache
server node1 192.168.12.52:443 ssl verify none cookie node1 inter 10S fall 9 rise 2
server node2 192.168.12.53:443 ssl verify none cookie node2 inter 10S fall 9 rise 2
В примере жирным шрифтом выделены добавленные настройки. Остальные параметры оставлены без изменений.
Подробное описание параметров см. в документации HAProxy статью Configuration Manual.
© Компания Directum, 2024 |