Spec-Zone.ru › Ansible 2.9

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

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

Описание

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

Параметры

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

- name: Disable server without backend pool name (apply to all available backend pool)
  haproxy:
    state: disabled
    host: '{{ inventory_hostname }}'

- name: Disable server, provide socket file
  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
  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.
- 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
  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
  haproxy:
    state: disabled
    host: '{{ inventory_hostname }}'
    fail_on_not_found: yes

- name: Enable server in 'www' backend pool
  haproxy:
    state: enabled
    host: '{{ inventory_hostname }}'
    backend: www

- name: Enable server in 'www' backend pool wait until healthy
  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
  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
  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
  haproxy:
    state: drain
    host: '{{ inventory_hostname }}'
    socket: /var/run/haproxy.sock
    backend: www

Статус

  • Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
  • Этот модуль поддерживается сообществом Ansible. [community]

Авторы

  • 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.9/modules/haproxy_module.html

Spec-Zone.ru

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