haproxy

Роль HAProxy

:warning: Этот проект архивирован! :warning:

Эта роль была перемещена в нашу коллекцию hifis.toolkit:

CI Status Ansible Role: hifis.haproxy Ansible Role Downloads Apache-2.0 Licensed Latest release DOI

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

В настоящее время поддерживаемые платформы:

  • Ubuntu 22.04 LTS
  • Ubuntu 20.04 LTS

Эта роль протестирована на двух последних версиях LTS HAProxy. На данный момент это обеспечивает официальную поддержку выпусков HAProxy:

  • 2.6
  • 2.4

Другие версии, известные как работающие, но не проходят автоматическое тестирование.

Требования

Нет.

Переменные роли

Обязательные переменные, которые не установлены по умолчанию

IP-адреса бэкендов GitLab

Укажите список бэкендов с именем и IP-адресом (порт необязателен, по умолчанию 80):

haproxy_backends:
  - backend_name: 'backend_server_1'
    backend_ip: '192.168.33.10'
    backend_port: '80'

Плавающий IP-адрес фронтенда

Укажите плавающий IP-адрес фронтенда:

haproxy_frontend_ip: '192.168.33.100'

Обязательные переменные, которые установлены по умолчанию, но нуждаются в адаптации

Количество процессоров, используемых HAProxy

Задает количество процессоров, используемых HAProxy:

haproxy_nbproc: '1'

Количество потоков, используемых HAProxy

Задает количество потоков, используемых HAProxy:

haproxy_nbthread: '2'

Сопоставление CPU для многопоточности HAProxy

Сопоставление потоков с ядрами процессоров:

haproxy_cpumap: 'auto:1/1-2 0-1'

Включение/выключение статистики

Переменная для включения или выключения статистики:

haproxy_stats_enable: 'enable'

Имя пользователя администратора статистики

Переменная для хранения имени пользователя администратора статистики:

haproxy_stats_admin_user: 'admin'

Пароль пользователя администратора статистики

Переменная для хранения пароля пользователя администратора статистики:

haproxy_stats_admin_user_password: 'changeme'

Все другие переменные по умолчанию

Путь к исполняемому файлу HAProxy

Путь к исполняемому файлу HAProxy:

haproxy_executable_path: '/usr/sbin/haproxy'

Версия PPA HAProxy

Переменная для указания определенной версии PPA:

haproxy_ppa_version: 'ppa:vbernat/haproxy-2.6'

Версия HAProxy

Переменная для указания определенной версии HAProxy:

haproxy_version: '2.6.*'

Пользователь HAProxy

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

haproxy_user: 'haproxy'

Группа HAProxy

Переменная для указания системной группы HAProxy:

haproxy_group: 'haproxy'

Установочные зависимости HAProxy

Список зависимостей HAProxy, которые необходимо установить:

haproxy_dependencies:
  - 'software-properties-common'

Имя бинарного файла HAProxy

Имя бинарного файла HAProxy:

haproxy_name: 'haproxy'

Шаблон конфигурации HAProxy

Укажите путь к шаблону конфигурации HAProxy:

haproxy_config_template: 'haproxy.cfg.j2'

Путь к каталогу конфигурации HAProxy

Укажите путь к каталогу конфигурации HAProxy:

haproxy_conf_dir: '/etc/haproxy/'

Путь к файлу конфигурации HAProxy

Укажите путь к файлу конфигурации HAProxy:

haproxy_conf_file_path: "/etc/haproxy/haproxy.cfg"

Путь к сокету логирования HAProxy

Укажите путь к сокету логирования HAProxy:

haproxy_log_socket: '/dev/log'

Уровень логирования HAProxy

Укажите уровень логирования HAProxy. Возможные значения: emerg, alert, crit, err, warning, notice, info, debug.

haproxy_log_level: 'info'

Путь к файлу сокета HAProxy

Укажите путь к файлу сокета HAProxy:

haproxy_socket: '/run/haproxy/admin.sock'

Создание самоподписанного SSL-сертификата HAProxy

Создавать ли самоподписанный SSL-сертификат:

haproxy_create_self_signed_cert: true

Название страны для SSL-сертификата

Укажите страну для SSL-сертификата:

haproxy_country_name: 'DE'

Название региона для SSL-сертификата

Укажите регион для SSL-сертификата:

haproxy_state_or_province_name: 'Саксония'

Название населенного пункта для SSL-сертификата

Укажите населенный пункт для SSL-сертификата:

haproxy_locality_name: 'Дрезден'

Название организации для SSL-сертификата

Укажите название организации для SSL-сертификата:

haproxy_organization_name: 'Гельмгольц-Центр Дрезден-Россендорф (HZDR)'

Название подразделения организации для SSL-сертификата

Укажите название подразделения для SSL-сертификата:

haproxy_organizational_unit_name: 'FWCC / Компьютерные науки'

Электронный адрес для SSL-сертификата

Укажите электронный адрес для SSL-сертификата:

haproxy_email_address: '[email protected]'

Общее название для SSL-сертификата

Укажите общее название для SSL-сертификата:

haproxy_common_name: 'Ассоциация Гельмгольца'

Путь к каталогу SSL для HAProxy

Укажите путь к каталогу SSL для HAProxy:

haproxy_ssl_certificate_dir: '/etc/haproxy/ssl'

Путь к файлу закрытого ключа HAProxy

Укажите путь к файлу закрытого ключа HAProxy:

haproxy_ssl_certificate_key_file: "/etc/haproxy/ssl/haproxy.key"

Путь к файлу запроса на подписку сертификата HAProxy

Укажите путь к файлу запроса на подписку сертификата HAProxy:

haproxy_ssl_certificate_csr_file: '/etc/haproxy/ssl/haproxy.csr'

Путь к файлу сертификата HAProxy

Укажите путь к файлу сертификата HAProxy:

haproxy_ssl_certificate_crt_file: "/etc/haproxy/ssl/haproxy.crt"

Путь к файлу PKCS12 HAProxy

Укажите путь к файлу PKCS12 HAProxy:

haproxy_ssl_certificate_pkcs12_file: "/etc/haproxy/ssl/haproxy.p12"

Путь к файлу цепочки сертификатов HAProxy

Укажите путь к файлу цепочки сертификатов HAProxy:

haproxy_ssl_certificate_chain_file: "/etc/haproxy/ssl/haproxy.pem"

Путь к исходному файлу цепочки сертификатов HAProxy

Укажите путь к исходному файлу цепочки сертификатов на управляющем узле, который будет скопирован на удаленный хост:

haproxy_ssl_cert_chain_src_file_path: "haproxy.pem"

Примечание: Эта переменная обязательна, когда haproxy_create_self_signed_cert установлен на false. Файл должен быть в формате PEM и содержать как минимум публичный сертификат и закрытый ключ.

Путь к файлу параметров DH HAProxy

Укажите путь к файлу параметров DH:

haproxy_ssl_dhparam_file: "/etc/haproxy/ssl/dhparam.pem"

Размер параметров DH HAProxy

Размер (в битах) генерируемых параметров DH:

haproxy_ssl_dhparam_size: 4096

Зависимости

Нет.

Примечание: Эта роль предназначена для использования вместе с, но не ограничена, ролью hifis.keepalived.

Пример плейбука

- hosts: loadbalancers
  roles:
    - role: hifis.haproxy
      vars:
        haproxy_frontend_ip: '192.168.33.100'
        haproxy_backends:
          - backend_name: 'backend_server_1'
            backend_ip: '192.168.33.10'
            backend_port: 80

Лицензия

Apache-2.0

Информация об авторе

Команда программного обеспечения HIFIS

Участники

Мы хотели бы поблагодарить и отметить следующих участников этого проекта:

О проекте

Install and configure HAProxy to be used for load-balancing in a high availability and scalability context.

Установить
ansible-galaxy install hifis-net/ansible-role-haproxy
Лицензия
other
Загрузки
25891
Владелец
Helmholtz Digital Services for Science — Collaboration made easy.