Spec-Zone.ru › Ansible

Модуль 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

Отключить/включить проверки агента (в зависимости от значения state).

Варианты:

  • false ← (по умолчанию)
  • true

backend

string

Имя пула HAProxy backend.

Если этот параметр не задан, он будет определен автоматически.

drain

boolean

Ожидать, пока сервер не будет иметь активных соединений, или пока не истечет время ожидания, определяемое параметрами wait_interval и wait_retries.

Продолжить только после того, как статус изменится на MAINT.

Переопределяет параметр shutdown_sessions.

Варианты:

  • false ← (по умолчанию)
  • true

fail_on_not_found

boolean

Выдать ошибку при попытке включить/выключить несуществующий хост backend.

Варианты:

  • false ← (по умолчанию)
  • true

health

boolean

добавлено в community.general 1.0.0

Отключить/включить проверки работоспособности (в зависимости от значения state).

Варианты:

  • false ← (по умолчанию)
  • true

host

string / обязательно

Имя хоста backend, который нужно изменить.

shutdown_sessions

boolean

При отключении сервера немедленно завершить все сессии, прикрепленные к указанному серверу.

Это может использоваться для завершения длительных сессий после того, как сервер переведен в режим обслуживания. Переопределяется параметром drain.

Варианты:

  • false ← (по умолчанию)
  • true

socket

path

Путь к файлу сокета HAProxy.

По умолчанию: "/var/run/haproxy.sock"

state

string / обязательно

Требуемое состояние предоставленного хоста backend.

Обратите внимание, что состояние drain поддерживается только версиями HAProxy 1.5 и выше. При использовании на версиях < 1.5 оно будет игнорироваться.

Варианты:

  • "disabled"
  • "drain"
  • "enabled"

wait

boolean

Ожидать, пока сервер не сообщит о статусе UP при state=enabled, статус MAINT при state=disabled или статус DRAIN при state=drain.

Варианты:

  • false ← (по умолчанию)
  • true

wait_interval

integer

Количество секунд ожидания между повторными попытками.

По умолчанию: 5

wait_retries

integer

Количество проверок статуса после изменения состояния.

По умолчанию: 25

weight

string

Переданное значение.

Если значение заканчивается знаком %, то новый вес будет относительным к первоначально настроенному весу.

Относительные веса допускаются только от 0 до 100%, а абсолютные веса — от 0 до 256.

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: отсутствует

Может работать в режиме check_mode и возвращать прогноз состояния "изменено" без изменения целевого объекта.

diff_mode

Поддержка: отсутствует

В режиме diff будет возвращать подробную информацию о том, что изменилось (или, возможно, должно измениться в check_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

Авторы

  • Ravi Bhure (@ravibhure)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (источники)
  • Задайте вопрос
  • Отправить отчет об ошибке
  • Запросить функцию
  • Общение

© 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

Spec-Zone.ru

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