haproxy - Включить, отключить и установить веса для серверов бэкенда HAProxy с помощью команд сокета.
Новое в версии 1.9.
Описание
- Включить, отключить, запустить отвод и установить веса для серверов бэкенда HAProxy с помощью команд сокета.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| backend | Значение по умолчанию: автоопределяется | Имя пула бэкенда HAProxy. |
| drain (добавлен в 2.4) | Значение по умолчанию: нет | Ожидание, пока у сервера не будет активных подключений или пока не будет достигнут таймаут, определенный wait_interval и wait_retries. Продолжить только после изменения статуса на 'MAINT'. Это переопределяет опцию shutdown_sessions. |
| fail_on_not_found (добавлен в 2.2) | Значение по умолчанию: нет | Неудачное завершение при попытке включения/отключения узла бэкенда, который не существует |
| host обязательно | Значение по умолчанию: Нет | Имя узла бэкенда, который нужно изменить. |
| shutdown_sessions | Значение по умолчанию: нет | При отключении сервера немедленно завершите все сеансы, подключенные к указанному серверу. Это можно использовать для завершения длительных сеансов после перевода сервера в режим технического обслуживания. Переопределяется опцией drain. |
| socket | Значение по умолчанию: /var/run/haproxy.sock | Путь к файлу сокета HAProxy. |
| state обязательно |
Нет | Желаемое состояние указанного узла бэкенда. Обратите внимание, что состояние drain было добавлено в версии 2.4. Оно поддерживается только версией HAProxy 1.5 или более поздней; если используется на версиях < 1.5, оно будет проигнорировано. |
| wait (добавлен в 2.0) | Значение по умолчанию: нет | Ожидание, пока сервер не сообщит о статусе 'UP' при `state=enabled`, статусе 'MAINT' при `state=disabled` или статусе 'DRAIN' при `state=drain` |
| wait_interval (добавлен в 2.0) | Значение по умолчанию: 5 | Количество секунд ожидания между повторными попытками. |
| wait_retries (добавлен в 2.0) | Значение по умолчанию: 25 | Количество попыток проверки статуса после изменения состояния. |
| weight | Значение по умолчанию: Нет | Значение, переданное в качестве аргумента. Если значение заканчивается символом `%`, новый вес будет относительным по отношению к изначально настроенному весу. Относительные веса разрешены только в диапазоне от 0 до 100%, а абсолютные веса - в диапазоне от 0 до 256. |
Примечания
Примечание
- Команды включения, отключения и отвода ограничены и могут быть выполнены только для сокетов, настроенных для уровня 'admin'. Например, вы можете добавить строку «stats socket /var/run/haproxy.sock level admin» в общий раздел haproxy.cfg. См. http://haproxy.1wt.eu/download/1.5/doc/configuration.txt.
- Зависит от наличия netcat (nc); вам необходимо установить соответствующий пакет для вашей операционной системы, прежде чем этот модуль сможет быть использован.
Примеры
# disable server in 'www' backend pool
- haproxy:
state: disabled
host: '{{ inventory_hostname }}'
backend: www
# disable server without backend pool name (apply to all available backend pool)
- haproxy:
state: disabled
host: '{{ inventory_hostname }}'
# disable server, provide socket file
- haproxy:
state: disabled
host: '{{ inventory_hostname }}'
socket: /var/run/haproxy.sock
backend: www
# disable server, provide socket file, wait until status reports in maintenance
- haproxy:
state: disabled
host: '{{ inventory_hostname }}'
socket: /var/run/haproxy.sock
backend: www
wait: yes
# Place server in drain mode, providing a socket file. Then check the server's
# status every minute to see if it changes to maintenance mode, continuing if it
# does in an hour and failing otherwise.
- haproxy:
state: disabled
host: '{{ inventory_hostname }}'
socket: /var/run/haproxy.sock
backend: www
wait: yes
drain: yes
wait_interval: 1
wait_retries: 60
# disable backend server in 'www' backend pool and drop open sessions to it
- haproxy:
state: disabled
host: '{{ inventory_hostname }}'
backend: www
socket: /var/run/haproxy.sock
shutdown_sessions: true
# disable server without backend pool name (apply to all available backend pool) but fail when the backend host is not found
- haproxy:
state: disabled
host: '{{ inventory_hostname }}'
fail_on_not_found: yes
# enable server in 'www' backend pool
- haproxy:
state: enabled
host: '{{ inventory_hostname }}'
backend: www
# enable server in 'www' backend pool wait until healthy
- haproxy:
state: enabled
host: '{{ inventory_hostname }}'
backend: www
wait: yes
# enable server in 'www' backend pool wait until healthy. Retry 10 times with intervals of 5 seconds to retrieve the health
- haproxy:
state: enabled
host: '{{ inventory_hostname }}'
backend: www
wait: yes
wait_retries: 10
wait_interval: 5
# enable server in 'www' backend pool with change server(s) weight
- haproxy:
state: enabled
host: '{{ inventory_hostname }}'
socket: /var/run/haproxy.sock
weight: 10
backend: www
# set the server in 'www' backend pool to drain mode
- haproxy:
state: drain
host: '{{ inventory_hostname }}'
socket: /var/run/haproxy.sock
backend: www
Статус
Этот модуль помечен как предварительный просмотр, что означает, что он не гарантирует обратную совместимость интерфейса.
Автор
- Ravi Bhure (@ravibhure)
Подсказка
Если вы обнаружите какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/haproxy_module.html