haproxy

haproxy

Роль Ansible для установки и настройки HAProxy для одного или нескольких приложений с балансировкой нагрузки.

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

Требования

Требования, чтобы эта роль работала.

Пакеты

Пакеты, которые должны быть доступны для установки роли.

  • haproxy

Сервисы

Сервисы, которые должны быть включены, чтобы роль могла их настроить.

  • firewalld

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

Информация о ожидаемых параметрах роли.

параметр требуется по умолчанию варианты комментарии
haproxy_applications да Список хэшей, определяющих приложения для балансировки нагрузки

haproxy_applications

Параметр haproxy_applications — это список хэшей, определяющих приложения для балансировки нагрузки. Каждый элемент списка может содержать следующие параметры.

параметр требуется по умолчанию варианты комментарии
name да Имя приложения. Используется для определения фронтенд и бэкенд серверов. Должно быть понятным, так как появится в статистике HAProxy. Должно соответствовать /a-zA-Z0-9-_/
domain да Полное доменное имя (FQDN), которое будет разрешаться в сервер HAProxy для балансировки нагрузки servers. Может быть простым FQDN или регулярным выражением для сопоставления домена.
domain_is_regex нет false true, false true, если данный domain является регулярным выражением, false, чтобы рассматривать как обычный FQDN.
expose_http нет false true, false true, чтобы открыть это приложение по http, false, чтобы не открывать по http.
expose_https нет false true, false true, чтобы открыть это приложение по https, false, чтобы не открывать по https.
redirect_http_to_https нет false true, false true, чтобы автоматически перенаправлять http на https, false, чтобы не перенаправлять.
servers да Список хэшей, определяющих серверы для балансировки нагрузки.

servers

Каждый элемент списка haproxy_applications должен содержать ключ servers, который является списком хэшей, определяющих серверы для балансировки нагрузки для соответствующего приложения. Каждый элемент в списке может содержать следующие параметры.

параметр требуется по умолчанию варианты комментарии
name да Имя, используемое для ссылки на сервер. Будет отображаться в статистике HAProxy. Должно соответствовать `/a-zA-Z0-9-_/
address да Полное доменное имя (FQDN) или IP-адрес сервера для балансировки нагрузки.
port_http нет 80 Порт сервера по адресу address для балансировки нагрузки, когда expose_http равен true.
port_https нет 443 Порт сервера по адресу address для балансировки нагрузки, когда expose_https равен true.

Примеры Playbooks

Балансировка нагрузки для Ansible Tower

    - name: HAProxy
      hosts: haproxy
      roles:
        - role: haproxy
          haproxy_applications:
            - name: ansible-tower
              domain: tower.example.com
              expose_https: True
              redirect_http_to_https: True
              servers:
                - name: tower0002
                  address: tower0002.example.com
                - name: tower0003
                  address: tower0003.example.com
                - name: tower0004
                  address: tower0004.example.com

Балансировка нагрузки для мастер-серверов и маршрутизаторов OpenShift Container Platform (OCP)

    - name: HAProxy
      hosts: haproxy
      roles:
        - role: haproxy
          haproxy_applications:
            - name: ocp-admin
              domain: ocp.example.com
              expose_https: True
              redirect_http_to_https: True
              servers:
                - name: ocp0002-master
                  address: ocp0002.example.com
                - name: ocp0003-master
                  address: ocp0003.example.com
                - name: ocp0004-master
                  address: ocp0004.example.com
            - name: ocp-router
              domain: .*.apps.example.com
              domain_is_regex: True
              expose_https: True
              expose_http: True
              redirect_http_to_https: False
              servers:
                - name: ocp0005-infra
                  address: ocp0005.example.com
                - name: ocp0006-infra
                  address: ocp0006.example.com
                - name: ocp0007-infra
                  address: ocp0007.example.com

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

О проекте

Ansible role for installing and configuring HAProxy for one or many frontend and backend servers.

Установить
ansible-galaxy install rhtconsulting/ansible-role_haproxy
Лицензия
apache-2.0
Загрузки
145296
Владелец