Модуль community.general.haproxy – Включение, отключение и установка весов для серверов HAProxy backend с использованием команд сокета
Примечание
Этот модуль является частью коллекции community.general (версия 9.5.0).
Эта коллекция может быть уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install community.general.
Для использования в playbook, укажите: community.general.haproxy.
Краткое описание
- Включение, отключение, дренирование и установка весов для серверов HAProxy backend с использованием команд сокета.
Параметры
Параметр | Комментарии |
|---|---|
agent boolean добавлено в community.general 1.0.0 | Отключить/включить проверки агента (в зависимости от значения Варианты:
|
backend string | Имя пула HAProxy backend. Если этот параметр не задан, он будет определен автоматически. |
drain boolean | Ожидать, пока сервер не будет иметь активных соединений, или пока не истечет время ожидания, определяемое параметрами wait_interval и wait_retries. Продолжить только после того, как статус изменится на Переопределяет параметр shutdown_sessions. Варианты:
|
fail_on_not_found boolean | Выдать ошибку при попытке включить/выключить несуществующий хост backend. Варианты:
|
health boolean добавлено в community.general 1.0.0 | Отключить/включить проверки работоспособности (в зависимости от значения Варианты:
|
host string / обязательно | Имя хоста backend, который нужно изменить. |
shutdown_sessions boolean | При отключении сервера немедленно завершить все сессии, прикрепленные к указанному серверу. Это может использоваться для завершения длительных сессий после того, как сервер переведен в режим обслуживания. Переопределяется параметром drain. Варианты:
|
socket path | Путь к файлу сокета HAProxy. По умолчанию: |
state string / обязательно | Требуемое состояние предоставленного хоста backend. Обратите внимание, что состояние Варианты:
|
wait boolean | Ожидать, пока сервер не сообщит о статусе Варианты:
|
wait_interval integer | Количество секунд ожидания между повторными попытками. По умолчанию: |
wait_retries integer | Количество проверок статуса после изменения состояния. По умолчанию: |
weight string | Переданное значение. Если значение заканчивается знаком Относительные веса допускаются только от 0 до 100%, а абсолютные веса — от 0 до 256. |
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: отсутствует | Может работать в режиме |
diff_mode | Поддержка: отсутствует | В режиме diff будет возвращать подробную информацию о том, что изменилось (или, возможно, должно измениться в |
Примечания
Примечание
- Команды включения, выключения и слива ограничены и могут быть выполнены только на сокетах, настроенных для уровня ‘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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/haproxy_module.html