Модуль community.general.haproxy — включение и отключение серверов бэкенда HAProxy и настройка их весов с помощью команд сокета
Примечание
Этот модуль входит в коллекцию community.general (версия 12.6.1).
Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Чтобы установить её, используйте: ansible-galaxy collection install community.general.
Чтобы использовать её в плейбуке, укажите: community.general.haproxy.
Краткое описание
- Включение, отключение, вывод из обслуживания и настройка весов серверов бэкенда HAProxy с помощью команд сокета.
Параметры
Параметр | Комментарии |
|---|---|
agent логическое значение добавлено в community.general 1.0.0 | Отключить/включить проверки агента (в зависимости от значения Варианты:
|
backend строка | Имя пула бэкенда HAProxy. Если этот параметр не задан, его значение определяется автоматически. |
drain логическое значение | Ожидать, пока у сервера не останется активных подключений или пока не истечёт время ожидания, определяемое параметрами Продолжить только после изменения статуса на Этот параметр переопределяет параметр shutdown_sessions. Варианты:
|
fail_on_not_found логическое значение | Завершать работу с ошибкой при попытке включить или отключить отсутствующий хост бэкенда. Варианты:
|
health логическое значение добавлено в community.general 1.0.0 | Отключить/включить проверки состояния (в зависимости от значения Варианты:
|
host строка / обязательный | Имя хоста бэкенда, который необходимо изменить. |
shutdown_sessions логическое значение | При отключении сервера немедленно завершать все сеансы, связанные с указанным сервером. Это можно использовать для завершения длительных сеансов после перевода сервера в режим обслуживания. Переопределяется параметром drain. Варианты:
|
socket путь | Путь к файлу сокета HAProxy. По умолчанию: |
state строка / обязательный | Требуемое состояние указанного хоста бэкенда. Обратите внимание, что состояние Варианты:
|
wait логическое значение | Ожидать, пока сервер сообщит статус Варианты:
|
wait_interval целое число | Количество секунд ожидания между повторными попытками. По умолчанию: |
wait_retries целое число | Количество проверок статуса после изменения состояния. По умолчанию: |
weight строка | Значение, передаваемое в аргументе. Если значение заканчивается знаком Относительные веса могут находиться только в диапазоне от 0 до 100%, а абсолютные — в диапазоне от 0 до 256. |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: отсутствует | Может выполняться в режиме |
diff_mode | Поддержка: отсутствует | Возвращает сведения об изменениях (или об изменениях, которые могут потребоваться в |
Примечания
Примечание
- Команды включения, отключения и вывода из обслуживания имеют ограничения: их можно выполнять только через сокеты, настроенные на уровень
admin. Например, можно добавить строкуstats socket /var/run/haproxy.sock level adminв общий разделhaproxy.cfg. См. http://haproxy.1wt.eu/download/1.5/doc/configuration.txt. - Требуется наличие netcat (
nc); перед использованием этого модуля необходимо установить соответствующий пакет для вашей операционной системы.
Примеры
- name: Disable server in 'www' backend pool
community.general.haproxy:
state: disabled
host: '{{ inventory_hostname }}'
backend: www
- name: Disable server in 'www' backend pool, also stop health/agent checks
community.general.haproxy:
state: disabled
host: '{{ inventory_hostname }}'
health: true
agent: true
- name: Disable server without backend pool name (apply to all available backend pool)
community.general.haproxy:
state: disabled
host: '{{ inventory_hostname }}'
- name: Disable server, provide socket file
community.general.haproxy:
state: disabled
host: '{{ inventory_hostname }}'
socket: /var/run/haproxy.sock
backend: www
- name: Disable server, provide socket file, wait until status reports in maintenance
community.general.haproxy:
state: disabled
host: '{{ inventory_hostname }}'
socket: /var/run/haproxy.sock
backend: www
wait: true
# 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.
- community.general.haproxy:
state: disabled
host: '{{ inventory_hostname }}'
socket: /var/run/haproxy.sock
backend: www
wait: true
drain: true
wait_interval: 60
wait_retries: 60
- name: Disable backend server in 'www' backend pool and drop open sessions to it
community.general.haproxy:
state: disabled
host: '{{ inventory_hostname }}'
backend: www
socket: /var/run/haproxy.sock
shutdown_sessions: true
- name: Disable server without backend pool name (apply to all available backend pool) but fail when the backend host is
not found
community.general.haproxy:
state: disabled
host: '{{ inventory_hostname }}'
fail_on_not_found: true
- name: Enable server in 'www' backend pool
community.general.haproxy:
state: enabled
host: '{{ inventory_hostname }}'
backend: www
- name: Enable server in 'www' backend pool wait until healthy
community.general.haproxy:
state: enabled
host: '{{ inventory_hostname }}'
backend: www
wait: true
- name: Enable server in 'www' backend pool wait until healthy. Retry 10 times with intervals of 5 seconds to retrieve the
health
community.general.haproxy:
state: enabled
host: '{{ inventory_hostname }}'
backend: www
wait: true
wait_retries: 10
wait_interval: 5
- name: Enable server in 'www' backend pool with change server(s) weight
community.general.haproxy:
state: enabled
host: '{{ inventory_hostname }}'
socket: /var/run/haproxy.sock
weight: 10
backend: www
- name: Set the server in 'www' backend pool to drain mode
community.general.haproxy:
state: drain
host: '{{ inventory_hostname }}'
socket: /var/run/haproxy.sock
backend: www
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/haproxy_module.html