f5networks.f5_modules.bigip_pool_member – Управляет членами пула F5 BIG-IP LTM
Примечание
Этот плагин входит в коллекцию f5networks.f5_modules (версия 1.7.1).
Для установки используйте: ansible-galaxy collection install f5networks.f5_modules.
Для использования в плейбуке укажите: f5networks.f5_modules.bigip_pool_member.
Новое в версии 1.0.0: модуля f5networks.f5_modules
Обзор
- Управляет членами пула F5 BIG-IP LTM с помощью API REST.
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| address строка | IP-адрес члена пула. Может быть IPv4 или IPv6. При создании нового члена пула необходимо указать address или fqdn. Этот параметр нельзя изменить после его установки.Псевдонимы: ip, host | ||
| aggregate список / элементы=словарь | Список определений членов пула для создания, изменения или удаления. При использовании aggregates, если одно из определений в агрегате неверно, выполнение агрегата завершится ошибкой, указав последнюю обнаруженную ошибку.Модуль НЕ откатит изменения, сделанные до возникновения ошибки. Модуль также не укажет, какие изменения были внесены до возникновения ошибки. Поэтому настоятельно рекомендуется запускать модуль в режиме check для обеспечения проверки перед выполнением этого модуля.Псевдонимы: members | ||
| availability_requirements словарь | Если активировано более одного монитора работоспособности, указывает количество мониторов работоспособности, которые должны получить успешные ответы, чтобы соединение считалось доступным. Указание пустой строки удалит мониторы и вернётся к наследованию от пула (по умолчанию). Указание none полностью удалит любой мониторинг работоспособности члена. | ||
| at_least целое число | Указывает минимальное количество активных мониторов работоспособности, которые должны быть успешны, прежде чем соединение будет считаться активным. Этот параметр актуален только при использовании type типа at_least. Этот параметр будет проигнорирован, если используется тип all. | ||
| type строка / обязательно |
| Тип правила мониторинга при указании monitors. При создании нового пула, если это значение не указано, будет использоваться значение по умолчанию all. | |
| connection_limit целое число | Предел подключений для члена пула. Установка значения 0 отключает ограничение. | ||
| description строка | Описание члена пула. | ||
| fqdn строка | Имя FQDN члена пула. Может быть любым именем, являющимся допустимым именем DNS по RFC 1123. Поэтому допустимыми символами являются «A»–«Z», «a»–«z», «0»–«9», дефис («-») и точка («.»). Имена FQDN должны содержать по крайней мере одну точку, разделяющую хост и домен. Например, host.domain. Имена FQDN должны заканчиваться буквой или цифрой. При создании нового члена пула необходимо указать address или fqdn. Этот параметр нельзя изменить после его установки.Псевдонимы: hostname | ||
| fqdn_auto_populate булево |
| Указывает, автоматически ли система создаёт временные узлы, используя IP-адреса, полученные в результате разрешения запроса DNS для узла, определённого по FQDN. При значении yes, система генерирует временный узел для каждого IP-адреса, возвращённого в ответ на запрос DNS для FQDN узла. Кроме того, когда ответ DNS указывает, что IP-адрес временного узла больше не существует, система удаляет временный узел.При значении no, система разрешает запрос DNS для FQDN узла с единственным IP-адресом, связанным с FQDN.При создании нового члена пула значение этого параметра по умолчанию равно yes.После установки этот параметр изменить нельзя. Этот параметр игнорируется, когда reuse_nodes равно yes. | |
| ip_encapsulation строка | Указывает IP-инкапсуляцию с использованием IPIP (инкапсуляция IP в IP, RFC 2003) или GRE (Generic Router Encapsulation, RFC 2784) для исходящих пакетов (от системы BIG-IP к члену серверного пула). При значении none, отключает IP-инкапсуляцию.При значении inherit, наследует настройку IP-инкапсуляции из пула члена.При любом другом значении варианты: None, Наследовать из пула и Специфичный для члена. | ||
| monitors список / элементы=строка | Указывает мониторы работоспособности, которые в настоящее время используются системой для мониторинга этого ресурса. | ||
| name строка | Имя узла для создания или повторного использования при создании нового члена пула. Этот параметр необязателен. Если не указан, имя узла будет создано автоматически из указанного address или fqdn. Состояние enabled является псевдонимом present. | ||
| partition строка | По умолчанию: "Common" | Раздел для управления ресурсами. | |
| pool строка / обязательно | Имя пула. Пул должен существовать. | ||
| port целое число | Порт члена пула. Это значение нельзя изменить после его установки. | ||
| preserve_node булево |
| Когда состояние absent, система пытается удалить узел, на который ссылается член пула.Узел не будет удалён, если он по-прежнему ссылается на другие члены пула. В этом случае модуль не выдаст ошибку. Установка значения yes отключает это поведение. | |
| priority_group целое число | Указывает число, представляющее группу приоритетов для члена пула. При добавлении нового члена по умолчанию используется значение 0, что означает, что член не имеет приоритета.Для задания приоритета необходимо активировать использование группы приоритетов при создании нового пула или при добавлении или удалении членов пула. При активации система распределяет трафик в соответствии с номером группы приоритетов, назначенной члену пула. Чем выше число, тем выше приоритет. Таким образом, член с приоритетом 3 имеет более высокий приоритет, чем член с приоритетом 1. | ||
| provider словарь добавлен в версии 1.0.0 f5networks.f5_modules | Объект словаря, содержащий сведения о подключении. | ||
| auth_provider строка | Настраивает поставщика аутентификации для получения маркеров аутентификации от удалённого устройства. Этот параметр используется в основном при работе с устройствами BIG-IQ. | ||
| no_f5_teem булево |
| Если yes, данные телеметрии TEEM не отправляются в F5.Можно пропустить этот параметр, установив переменную среды F5_TEEM. | |
| password строка / обязательно | Пароль для учётной записи пользователя, используемой для подключения к BIG-IP. Можно пропустить этот параметр, установив переменную среды F5_PASSWORD.Псевдонимы: pass, pwd | ||
| server строка / обязательно | Хост BIG-IP. Можно пропустить этот параметр, установив переменную среды F5_SERVER. | ||
| server_port целое число | По умолчанию: 443 | Порт сервера BIG-IP. Можно пропустить этот параметр, установив переменную среды F5_SERVER_PORT. | |
| timeout целое число | Указывает время ожидания в секундах для связи с сетевым устройством для подключения или отправки команд. Если время ожидания истечёт до завершения операции, модуль выдаст ошибку. | ||
| transport строка |
| Настраивает транспортное соединение для использования при подключении к удалённому устройству. | |
| user строка / обязательно | Имя пользователя для подключения к BIG-IP. Пользователь должен иметь административные права на устройстве. Можно пропустить этот параметр, установив переменную среды F5_USER. | ||
| validate_certs булево |
| Если no, сертификаты SSL не проверяются. Используйте только на контролируемых вами сайтах с самозаверенными сертификатами.Можно пропустить этот параметр, установив переменную среды F5_VALIDATE_CERTS. | |
| rate_limit целое число | Предел скорости члена пула (подключений в секунду). Установка значения 0 отключает ограничение. | ||
| ratio целое число | Весовой коэффициент соотношения члена пула. Допустимые значения от 1 до 100. Новые члены пула (если не переопределено) имеют значение по умолчанию 1. | ||
| replace_all_with boolean |
| Удаляет членов пула, не определённых в параметре aggregate. Данная операция выполняется полностью или не выполняется, то есть она прекратится, если некоторые члены пула не могут быть удалены. псевдонимы: purge | |
| reuse_nodes boolean |
| Использует определения узлов, если это запрошено. | |
| state string |
| Состояние члена пула. | |
Примечания
Примечание
- В предыдущих версиях этого модуля, использующих SDK, параметр
nameдействовал какfqdn, еслиaddressилиfqdnне были предоставлены. - Дополнительную информацию об использовании Ansible для управления устройствами F5 Networks см. на странице https://www.ansible.com/integrations/networks/f5.
- Требуется версия ПО BIG-IP ≥ 12.
- Модули F5 манипулируют только текущей конфигурацией продукта F5. Чтобы убедиться, что конфигурация, специфичная для BIG-IP, сохранится на диске, обязательно включите хотя бы одну задачу, использующую модуль f5networks.f5_modules.bigip_config для сохранения текущей конфигурации. Обратитесь к документации модуля для правильного использования модуля для сохранения текущей конфигурации.
Примеры
- name: Add pool member
bigip_pool_member:
pool: my-pool
partition: Common
host: "{{ ansible_default_ipv4['address'] }}"
port: 80
description: web server
connection_limit: 100
rate_limit: 50
ratio: 2
provider:
server: lb.mydomain.com
user: admin
password: secret
delegate_to: localhost
- name: Modify pool member ratio and description
bigip_pool_member:
pool: my-pool
partition: Common
host: "{{ ansible_default_ipv4['address'] }}"
port: 80
ratio: 1
description: nginx server
provider:
server: lb.mydomain.com
user: admin
password: secret
delegate_to: localhost
- name: Remove pool member from pool
bigip_pool_member:
state: absent
pool: my-pool
partition: Common
host: "{{ ansible_default_ipv4['address'] }}"
port: 80
provider:
server: lb.mydomain.com
user: admin
password: secret
delegate_to: localhost
- name: Force pool member offline
bigip_pool_member:
state: forced_offline
pool: my-pool
partition: Common
host: "{{ ansible_default_ipv4['address'] }}"
port: 80
provider:
server: lb.mydomain.com
user: admin
password: secret
delegate_to: localhost
- name: Create members with priority groups
bigip_pool_member:
pool: my-pool
partition: Common
host: "{{ item.address }}"
name: "{{ item.name }}"
priority_group: "{{ item.priority_group }}"
port: 80
provider:
server: lb.mydomain.com
user: admin
password: secret
delegate_to: localhost
loop:
- address: 1.1.1.1
name: web1
priority_group: 4
- address: 2.2.2.2
name: web2
priority_group: 3
- address: 3.3.3.3
name: web3
priority_group: 2
- address: 4.4.4.4
name: web4
priority_group: 1
- name: Add pool members aggregate
bigip_pool_member:
pool: my-pool
aggregate:
- host: 192.168.1.1
partition: Common
port: 80
description: web server
connection_limit: 100
rate_limit: 50
ratio: 2
- host: 192.168.1.2
partition: Common
port: 80
description: web server
connection_limit: 100
rate_limit: 50
ratio: 2
- host: 192.168.1.3
partition: Common
port: 80
description: web server
connection_limit: 100
rate_limit: 50
ratio: 2
provider:
server: lb.mydomain.com
user: admin
password: secret
delegate_to: localhost
- name: Add pool members aggregate, remove non aggregates
bigip_pool_member:
pool: my-pool
aggregate:
- host: 192.168.1.1
partition: Common
port: 80
description: web server
connection_limit: 100
rate_limit: 50
ratio: 2
- host: 192.168.1.2
partition: Common
port: 80
description: web server
connection_limit: 100
rate_limit: 50
ratio: 2
- host: 192.168.1.3
partition: Common
port: 80
description: web server
connection_limit: 100
rate_limit: 50
ratio: 2
replace_all_with: yes
provider:
server: lb.mydomain.com
user: admin
password: secret
delegate_to: localhost
Значения возврата
Общие значения возврата описаны в этом документе, следующие поля уникальны для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| address string | changed | Адрес члена пула. Пример: 1.2.3.4 |
| connection_limit integer | changed | Новый предел подключений для члена пула. Пример: 1000 |
| description string | changed | Новое описание члена пула. Пример: Член моего пула |
| fqdn string | changed | FQDN члена пула. Пример: foo.bar.com |
| fqdn_auto_populate boolean | changed | Установлено ли автоматическое заполнение FQDN для члена? Пример: True |
| monitors list / elements=string | changed | Новый список мониторов для ресурса. Пример: ['/Common/monitor1', '/Common/monitor2'] |
| priority_group integer | changed | Новая группа приоритетов. Пример: 3 |
| rate_limit integer | changed | Новый предел скорости, в подключениях в секунду, для члена пула. Пример: 100 |
| ratio integer | changed | Новый вес коэффициента члена пула. Пример: 50 |
| replace_all_with boolean | changed | Очищает все члены пула, которые не являются агрегатными, с устройства. Пример: True |
Авторы
- Tim Rupp (@caphrim007)
- Wojciech Wypior (@wojtek0806)
© 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/f5networks/f5_modules/bigip_pool_member_module.html