Spec-Zone.ru › Ansible 2.11

community.general.haproxy – Включение, выключение и установка весов для серверов бэкенда HAProxy с помощью команд сокета

Примечание

Этот плагин входит в коллекцию community.general (версия 2.0.1).

Для его установки используйте: ansible-galaxy collection install community.general.

Для использования в плейбуке укажите: community.general.haproxy.

  • Описание
  • Параметры
  • Примечания
  • Примеры

Описание

  • Включение, выключение, остановка и установка весов для серверов бэкенда HAProxy с помощью команд сокета.

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
agent
boolean
добавлен в 1.0.0 community.general
    Варианты:
  • нет ←
  • да
Отключить/включить проверки агента (в зависимости от значения state).
backend
строка
Имя пула бэкенда HAProxy.
Если этот параметр не задан, он будет автоматически определен.
drain
boolean
    Варианты:
  • нет ←
  • да
Ожидать, пока у сервера не будет активных соединений или пока не истечет время ожидания, определенное wait_interval и wait_retries.
Продолжить только после того, как статус изменится на 'MAINT'.
Это переопределяет параметр shutdown_sessions.
fail_on_not_found
boolean
    Варианты:
  • нет ←
  • да
Прерывать выполнение, если попытка включения/выключения хоста бэкенда, который не существует.
health
boolean
добавлен в 1.0.0 community.general
    Варианты:
  • нет ←
  • да
Отключить/включить проверки работоспособности (в зависимости от значения state).
host
строка / обязательно
Имя хоста бэкенда, состояние которого нужно изменить.
shutdown_sessions
boolean
    Варианты:
  • нет ←
  • да
При выключении сервера немедленно завершить все сеансы, подключенные к указанному серверу.
Это может быть использовано для завершения длительных сеансов после перевода сервера в режим технического обслуживания. Переопределяется параметром drain.
socket
путь
Значение по умолчанию:
"/var/run/haproxy.sock"
Путь к файлу сокета HAProxy.
state
строка / обязательно
    Варианты:
  • выключен
  • остановлен
  • включен
Желаемое состояние предоставленного хоста бэкенда.
Обратите внимание, что состояние drain было добавлено в версии 2.4.
Поддерживается только версией HAProxy 1.5 или более поздней.
При использовании на версиях < 1.5, будет проигнорировано.
wait
boolean
    Варианты:
  • нет ←
  • да
Ожидать, пока сервер не сообщит о статусе 'UP', когда state=enabled, статусе 'MAINT', когда state=disabled, или статусе 'DRAIN', когда state=drain.
wait_interval
целое число
Значение по умолчанию:
5
Количество секунд ожидания между повторными попытками.
wait_retries
целое число
Значение по умолчанию:
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). Вам необходимо установить соответствующий пакет для вашей операционной системы, прежде чем этот модуль сможет быть использован.

Примеры

- 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: yes
    agent: yes

- 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: 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.
- community.general.haproxy:
    state: disabled
    host: '{{ inventory_hostname }}'
    socket: /var/run/haproxy.sock
    backend: www
    wait: yes
    drain: yes
    wait_interval: 1
    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: yes

- 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: yes

- 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: yes

- 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: yes
    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

Авторы

  • Ravi Bhure (@ravibhure)

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/general/haproxy_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API