Spec-Zone.ru › Ansible 2.10

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

Примечание

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

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

Для использования в playbook, укажите: 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’ в раздел general файла 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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/general/haproxy_module.html

Spec-Zone.ru

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