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. |
Примеры
# 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
Примечания
Примечание
- Команды включения, отключения и перевода в режим ожидания ограничены и могут быть выполнены только по сокетам, настроенным на уровень 'admin'. Например, можно добавить строку ‘stats socket /var/run/haproxy.sock level admin’ в общий раздел haproxy.cfg. См. http://haproxy.1wt.eu/download/1.5/doc/configuration.txt.
- Требуется наличие netcat (nc); необходимо установить соответствующий пакет для вашей операционной системы, прежде чем этот модуль можно будет использовать.
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется как обратный.
Для помощи в разработке модулей, если вас это заинтересует, пожалуйста, прочитайте Справочная информация по сообществу и вклад, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/haproxy_module.html