haproxy - Включение, отключение и установка весов для серверов бэкенда HAProxy с помощью команд сокета.
Новое в версии 1.9.
Описание
- Включение, отключение, остановка и установка весов для серверов бэкенда HAProxy с помощью команд сокета.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| backend | По умолчанию: "auto-detected" | Имя пула бэкенда HAProxy. |
| drain (добавлен в 2.4) | Ожидание, пока сервер не будет иметь активных подключений или пока не истечёт время ожидания, определяемое параметрами wait_interval и wait_retries. Продолжить только после изменения статуса на 'MAINT'. Это переопределяет параметр shutdown_sessions. | |
| fail_on_not_found bool (добавлен в 2.2) |
| Останавливать выполнение, если пытаетесь включить/отключить хост бэкенда, который не существует |
| host обязательно | Имя хоста бэкенда, состояние которого необходимо изменить. | |
| shutdown_sessions bool |
| При отключении сервера немедленно завершить все сессии, связанные с указанным сервером. Это можно использовать для завершения длительных сессий после перевода сервера в режим обслуживания. Переопределяется параметром drain. |
| socket | По умолчанию: "/var/run/haproxy.sock" | Путь к файлу сокета HAProxy. |
| state обязательно |
| Желаемое состояние предоставленного хоста бэкенда. Обратите внимание, что drain состояние было добавлено в версии 2.4. Оно поддерживается только HAProxy версии 1.5 или более поздней. Если используется на версиях < 1.5, оно будет проигнорировано. |
| wait bool (добавлен в 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
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется как обратная совместимость.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. Подробнее см. Техническое обслуживание и поддержка модулей.
Список других модулей, поддерживаемых сообществом Ansible, см. здесь.
Автор
- 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.6/modules/haproxy_module.html