apache2_mod_proxy - Установка и получение атрибутов членов пула балансировщика Apache httpd 2.4 mod_proxy
Новая версия 2.2.
Описание
- Установка и получение атрибутов членов пула балансировщика Apache httpd 2.4 mod_proxy, используя запросы HTTP POST и GET. Страница состояния балансировщика mod_proxy balancer-member должна быть включена и доступна, так как этот модуль полагается на её парсинг. Этот модуль поддерживает режим проверки ansible и требует модуля BeautifulSoup для Python.
Параметры
| параметр | обязателен | по умолчанию | варианты | комментарии |
|---|---|---|---|---|
| balancer_url_suffix | нет | /balancer-manager/ | Суффикс URL пула балансировщиков, необходимый для доступа к странице состояния пула балансировщиков (например, balancer_vhost[:port]/balancer_url_suffix). | |
| balancer_vhost | да | None | (ipv4|ipv6|fqdn):порт пула балансировщика Apache httpd 2.4 mod_proxy. | |
| member_host | нет | None | (ipv4|ipv6|fqdn) члена балансировщика, для получения или установки атрибутов. Номер порта автоматически определяется и не должен указываться здесь. Если не определено, модуль apache2_mod_proxy вернёт список членов, представляющий собой список словарей с атрибутами всех текущих членов пула балансировщиков. | |
| state | нет | None |
| Желаемое состояние узла-члена. (absent|disabled), drained, hot_standby, ignore_errors могут быть одновременно вызваны, разделив их запятыми (например, state=drained,ignore_errors). |
| tls | нет |
| Использовать https для доступа к странице управления балансировщиком. | |
| validate_certs | нет | True |
| Проверка сертификатов ssl/tls. |
Примеры
# Get all current balancer pool members' attributes:
- apache2_mod_proxy:
balancer_vhost: 10.0.0.2
# Get a specific member's attributes:
- apache2_mod_proxy:
balancer_vhost: myws.mydomain.org
balancer_suffix: /lb/
member_host: node1.myws.mydomain.org
# Enable all balancer pool members:
- apache2_mod_proxy:
balancer_vhost: '{{ myloadbalancer_host }}'
register: result
- 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:
- apache2_mod_proxy:
balancer_vhost: '{{ vhost_host }}'
member_host: '{{ member.host }}'
state: drained
delegate_to: myloadbalancernode
- wait_for:
host: '{{ member.host }}'
port: '{{ member.port }}'
state: drained
delegate_to: myloadbalancernode
- apache2_mod_proxy:
balancer_vhost: '{{ vhost_host }}'
member_host: '{{ member.host }}'
state: absent
delegate_to: myloadbalancernode
Возвращаемые значения
Общие возвращаемые значения описаны здесь Возвращаемые значения, следующие поля уникальны для этого модуля:
| имя | описание | возвращается | тип | пример |
|---|---|---|---|---|
| member | Словарь со специфической информацией о члене балансировщика, возвращается, когда модуль apache2_mod_proxy вызывается с параметром member_host. | успех | dict | {'status': {'disabled': False, 'hot_standby': False, 'drained': False, 'ignore_errors': False}, 'protocol': 'http', 'management_url': 'http://10.10.0.2/lb/?b=mywsbalancer&w=http://10.10.0.20:8080/ws&nonce=8925436c-79c6-4841-8936-e7d13b79239b', 'balancer_url': 'http://10.10.0.2/balancer-manager/', 'host': '10.10.0.20', 'attributes': {'Load': '0', 'Status': 'Init Ok ', 'Busy': '0', 'From': '136K', 'Elected': '42', 'Route': None, 'To': ' 47K', 'Set': '0', 'Factor': '1', 'Worker URL': None, 'RouteRedir': None}, 'path': '/ws', 'port': 8080} |
| members | Список словарей членов (определённых выше), возвращается, когда apache2_mod_proxy вызывается без параметров member_host и state. | успех | list | [{'status': {'disabled': False, 'hot_standby': False, 'drained': False, 'ignore_errors': False}, 'protocol': 'http', 'management_url': 'http://10.10.0.2/lb/?b=mywsbalancer&w=http://10.10.0.20:8080/ws&nonce=8925436c-79c6-4841-8936-e7d13b79239b', 'balancer_url': 'http://10.10.0.2/balancer-manager/', 'host': '10.10.0.20', 'attributes': {'Load': '0', 'Status': 'Init Ok ', 'Busy': '0', 'From': '136K', 'Elected': '42', 'Route': None, 'To': ' 47K', 'Set': '0', 'Factor': '1', 'Worker URL': None, 'RouteRedir': None}, 'path': '/ws', 'port': 8080}, {'status': {'disabled': False, 'hot_standby': False, 'drained': False, 'ignore_errors': False}, 'protocol': 'http', 'management_url': 'http://10.10.0.2/lb/?b=mywsbalancer&w=http://10.10.0.21:8080/ws&nonce=8925436c-79c6-4841-8936-e7d13b79239b', 'balancer_url': 'http://10.10.0.2/balancer-manager/', 'host': '10.10.0.21', 'attributes': {'Load': '0', 'Status': 'Init Ok ', 'Busy': '0', 'From': '136K', 'Elected': '42', 'Route': None, 'To': ' 47K', 'Set': '0', 'Factor': '1', 'Worker URL': None, 'RouteRedir': None}, 'path': '/ws', 'port': 8080}] |
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантирует обратной совместимости.
Для получения помощи в разработке модулей, если вы этого захотите, прочитайте Информация о сообществе и участие, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/apache2_mod_proxy_module.html