community.general.apache2_mod_proxy – Установка и/или получение атрибутов членов пула балансировщика Apache httpd 2.4 mod_proxy
Примечание
Этот плагин входит в коллекцию community.general (версия 2.0.1).
Для его установки используйте: ansible-galaxy collection install community.general.
Для использования в плейбуке укажите: community.general.apache2_mod_proxy.
Обзор
- Установка и/или получение атрибутов членов пула балансировщика Apache httpd 2.4 mod_proxy, используя запросы HTTP POST и GET. Должен быть включён и доступен статус-страница httpd mod_proxy balancer-member, поскольку этот модуль полагается на её разбор. Этот модуль поддерживает режим проверки Ansible и требует модуль BeautifulSoup для Python.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| balancer_url_suffix строка | По умолчанию: "/balancer-manager/" | Суффикс URL пула балансировщиков, необходимый для доступа к странице статуса пула балансировщиков (например, balancer_vhost[:port]/balancer_url_suffix). |
| balancer_vhost строка / обязательно | (ipv4|ipv6|fqdn):порт пула балансировщиков Apache httpd 2.4 mod_proxy. | |
| member_host строка | (ipv4|ipv6|fqdn) члена пула балансировщиков, для которого нужно получить или установить атрибуты. Порт автоматически определяется и не должен указываться здесь. Если не определено, модуль apache2_mod_proxy вернёт список членов в виде списка словарей со всеми текущими атрибутами членов пула балансировщиков. | |
| state строка | Желаемое состояние хоста члена. (absent|disabled),drained,hot_standby,ignore_errors могут быть вызваны одновременно, разделив их запятыми (например, state=drained,ignore_errors). Допустимые значения состояния: ["present", "absent", "enabled", "disabled", "drained", "hot_standby", "ignore_errors"] | |
| tls булево |
| Использовать https для доступа к странице управления балансировщиком. |
| validate_certs булево |
| Проверка сертификатов ssl/tls. |
Примеры
- name: Get all current balancer pool members attributes
community.general.apache2_mod_proxy:
balancer_vhost: 10.0.0.2
- name: Get a specific member attributes
community.general.apache2_mod_proxy:
balancer_vhost: myws.mydomain.org
balancer_suffix: /lb/
member_host: node1.myws.mydomain.org
# Enable all balancer pool members:
- name: Get attributes
community.general.apache2_mod_proxy:
balancer_vhost: '{{ myloadbalancer_host }}'
register: result
- name: Enable all balancer pool members
community.general.apache2_mod_proxy:
balancer_vhost: '{{ myloadbalancer_host }}'
member_host: '{{ item.host }}'
state: present
with_items: '{{ result.members }}'
# Gracefully disable a member from a loadbalancer node:
- name: Step 1
community.general.apache2_mod_proxy:
balancer_vhost: '{{ vhost_host }}'
member_host: '{{ member.host }}'
state: drained
delegate_to: myloadbalancernode
- name: Step 2
ansible.builtin.wait_for:
host: '{{ member.host }}'
port: '{{ member.port }}'
state: drained
delegate_to: myloadbalancernode
- name: Step 3
community.general.apache2_mod_proxy:
balancer_vhost: '{{ vhost_host }}'
member_host: '{{ member.host }}'
state: absent
delegate_to: myloadbalancernode
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| member словарь | успех | словарь конкретной информации о члене пула балансировщиков, возвращается, когда модуль apache2_mod_proxy вызван с параметром member_host. Пример: {'атрибуты': {'Занят': '0', 'Избран': '42', 'Фактор': '1', 'Откуда': '136K', 'Загрузка': '0', 'Маршрут': None, 'МаршрутПеренапр': None, 'Установлено': '0', 'Статус': 'Инициализировано Ok ', 'Куда': ' 47K', 'URLРабочего процесса': None}, 'url_балансировщика': 'http://10.10.0.2/balancer-manager/', 'хост': '10.10.0.20', 'url_управления': 'http://10.10.0.2/lb/?b=mywsbalancer&w=http://10.10.0.20:8080/ws&nonce=8925436c-79c6-4841-8936-e7d13b79239b', 'путь': '/ws', 'порт': 8080, 'протокол': 'http', 'статус': {'выключен': False, 'отключен': False, 'горячий_резерв': False, 'игнорировать_ошибки': False}} |
| members список / элементы=строка | успех | список словарей членов (определённых выше), возвращается, когда apache2_mod_proxy вызывается без параметров member_host и state. Пример: [{'атрибуты': {'Занят': '0', 'Избран': '42', 'Фактор': '1', 'Откуда': '136K', 'Загрузка': '0', 'Маршрут': None, 'МаршрутПеренапр': None, 'Установлено': '0', 'Статус': 'Инициализировано Ok ', 'Куда': ' 47K', 'URLРабочего процесса': None}, 'url_балансировщика': 'http://10.10.0.2/balancer-manager/', 'хост': '10.10.0.20', 'url_управления': 'http://10.10.0.2/lb/?b=mywsbalancer&w=http://10.10.0.20:8080/ws&nonce=8925436c-79c6-4841-8936-e7d13b79239b', 'путь': '/ws', 'порт': 8080, 'протокол': 'http', 'статус': {'выключен': False, 'отключен': False, 'горячий_резерв': False, 'игнорировать_ошибки': False}}, {'атрибуты': {'Занят': '0', 'Избран': '42', 'Фактор': '1', 'Откуда': '136K', 'Загрузка': '0', 'Маршрут': None, 'МаршрутПеренапр': None, 'Установлено': '0', 'Статус': 'Инициализировано Ok ', 'Куда': ' 47K', 'URLРабочего процесса': None}, 'url_балансировщика': 'http://10.10.0.2/balancer-manager/', 'хост': '10.10.0.21', 'url_управления': 'http://10.10.0.2/lb/?b=mywsbalancer&w=http://10.10.0.21:8080/ws&nonce=8925436c-79c6-4841-8936-e7d13b79239b', 'путь': '/ws', 'порт': 8080, 'протокол': 'http', 'статус': {'выключен': False, 'отключен': False, 'горячий_резерв': False, 'игнорировать_ошибки': False}}] |
Авторы
- Оливье Букили (@oboukili)
© 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/apache2_mod_proxy_module.html