bigip_virtual_server – Управление виртуальными серверами LTM на BIG-IP
Новая версия с 2.1.
Описание
- Управление виртуальными серверами LTM на BIG-IP.
Требования
Ниже приведены требования к хосту, на котором выполняется этот модуль.
- f5-sdk >= 3.0.16
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| address_translation boolean добавлен в 2.6 |
| Указывает, когда enabled, что система переводит адрес виртуального сервера.Когда disabled, указывает, что система использует адрес без перевода.Этот параметр полезен, когда система балансирует нагрузку устройств с одинаковым IP-адресом. При создании нового виртуального сервера значение по умолчанию enabled. | |
| default_persistence_profile - | Профиль по умолчанию, управляющий сохранением сессий. Если вы хотите удалить существующий профиль по умолчанию, укажите пустое значение; "". См. документацию для примера.Когда type является dhcp, этот параметр будет проигнорирован. | ||
| description - | Описание виртуального сервера. | ||
| destination - | IP-адрес назначения виртуального сервера. Необходимо, когда state равен present и виртуальный сервер не существует.Когда type равен internal, этот параметр игнорируется. Для других типов он обязателен.псевдонимы: address, ip | ||
| disabled_vlans - добавлен в 2.5 | Список VLAN, которые нужно отключить. Если для раздела не указана VLAN, то используется опция partition этого модуля.Этот параметр взаимоисключает параметры enabled_vlans. | ||
| enabled_vlans - добавлен в 2.2 | Список VLAN, которые нужно включить. Когда используется VLAN с именем all, разрешаются все VLAN. VLAN могут быть указаны с или без ведущего раздела. Если для раздела не указана VLAN, то используется опция partition этого модуля.Этот параметр взаимоисключает параметр disabled_vlans. | ||
| fallback_persistence_profile - добавлен в 2.3 | Указывает профиль сохранения, который система должна использовать, если не может использовать указанный профиль по умолчанию. Если вы хотите удалить существующий резервный профиль сохранения, укажите пустое значение; "". См. документацию для примера.Если type является dhcp, этот параметр будет проигнорирован. | ||
| firewall_enforced_policy - добавлен в 2.6 | Применяет указанную политику AFM к виртуальному серверу в принудительном режиме. При создании нового виртуального сервера, если этот параметр не указан, принудительная политика отключена. | ||
| firewall_staged_policy - добавлен в 2.6 | Применяет указанную политику AFM к виртуальному серверу в принудительном режиме. Политика в режиме ожидания отображает результаты правил политики в журнале, но фактически не применяет правила к трафику. При создании нового виртуального сервера, если этот параметр не указан, политика в режиме ожидания отключена. | ||
- | ip_protocol - добавлен в 2.6 |
| Указывает имя сетевого протокола, который система должна использовать для направления трафика на этот виртуальный сервер. При создании нового виртуального сервера, если этот параметр не указан, значение по умолчанию tcp.Настройка Протокол недоступна, когда Тип выбран как Производительность (HTTP). Значение этого аргумента может быть указано в его числовом значении или, для удобства, в нескольких именованных значениях. См. choices для примеров.Список допустимых номеров IP-протоколов см. на этой странице https://en.wikipedia.org/wiki/List_of_IP_protocol_numbers Если type равно dhcp, этот модуль заставит параметр ip_protocol иметь значение 17 (UDP). |
| irules - добавлен в 2.2 | Список правил, которые применяются в порядке приоритета. Если вы хотите удалить существующие iRules, укажите одно пустое значение; "". См. документацию для примера.Если type равно dhcp, этот параметр будет проигнорирован.Если type равно stateless, этот параметр будет проигнорирован.Если type равно reject, этот параметр будет проигнорирован.Если type равно internal, этот параметр будет проигнорирован.псевдонимы: all_rules | ||
| metadata - добавлен в 2.5 | Произвольные пары ключ/значение, которые можно прикрепить к пулу. Это полезно в ситуациях, когда необходимо добавить аннотации к виртуальному серверу, управляемому Ansible. Имена ключей будут храниться в виде строк; это включает имена, которые являются числами. Значения для всех ключей будут храниться в виде строк; это включает значения, которые являются числами. Данные будут сохранены, а не временные. | ||
| name - / обязательно | Имя виртуального сервера. псевдонимы: vs | ||
| partition - добавлен в 2.5 | По умолчанию: "Общие" | Раздел устройства для управления ресурсами. | |
| password - / обязательно | Пароль учетной записи пользователя, используемой для подключения к BIG-IP. Вы можете опустить этот параметр, установив переменную среды F5_PASSWORD.псевдонимы: pass, pwd | ||
| policies - | Указывает политики для виртуального сервера. Если type равно dhcp, этот параметр будет проигнорирован.Если type равно reject, этот параметр будет проигнорирован.Если type равно internal, этот параметр будет проигнорирован.псевдонимы: all_policies | ||
| pool - | Пул по умолчанию для виртуального сервера. Если вы хотите удалить существующий пул, укажите пустое значение; "". См. документацию для примера.При создании нового виртуального сервера и type равно stateless, этот параметр обязателен.Если type равно stateless, используемый pool, не должен содержать членов, которые определяют rate_limit. | ||
| порт - | Порт виртуального сервера. Требуется, когда state является present, и виртуальный сервер не существует.Если вы не хотите указывать конкретный порт, используйте значение 0. В результате виртуальный сервер будет прослушивать любой порт.Когда type является dhcp, этот модуль принудительно установит параметр port в значение 67. Когда type является internal, этот модуль принудительно установит параметр port в значение 0. Помимо указания номера порта, можно также указать ряд имён служб. Строка ftp может быть заменена для порта 21. Строка http может быть заменена для порта 80. Строка https может быть заменена для порта 443. Строка telnet может быть заменена для порта 23. Строка smtp может быть заменена для порта 25. Строка snmp может быть заменена для порта 161. Строка snmp-trap может быть заменена для порта 162. Строка ssh может быть заменена для порта 22. Строка tftp может быть заменена для порта 69. Строка isakmp может быть заменена для порта 500. Строка mqtt может быть заменена для порта 1883. Строка mqtt-tls может быть заменена для порта 8883. | ||
| перевод_порта boolean добавлен в 2.6 |
| Указывает, когда enabled, что система переводит порт виртуального сервера.Когда disabled, указывает, что система использует порт без перевода. Отключение перевода портов для виртуального сервера полезно, если вы хотите использовать виртуальный сервер для балансировки соединений с любой службой.При создании нового виртуального сервера значение по умолчанию enabled. | |
| профили - | Список профилей (HTTP, ClientSSL, ServerSSL и т.д.) для применения к обеим сторонам соединения (сторона клиента и сторона сервера). Если вы хотите применить определённый профиль только к стороне клиента соединения, укажите client-side для context профиля.Если вы хотите применить определённый профиль только к стороне сервера соединения, укажите server-side для context профиля.Если context не указано, по умолчанию используется all.Если вы хотите удалить профиль из списка активных профилей на виртуальном сервере, просто удалите его из списка profiles. Примеры иллюстрируют это.Если вы хотите добавить профиль в список активных профилей на виртуальном сервере, просто добавьте его в список profiles. Примеры иллюстрируют это.
Профили важны. Этот модуль не сможет настроить BIG-IP, если вы смешаете профили или попытаетесь установить IP-протокол, который не поддерживают ваши текущие или новые профили. Как этот модуль, так и BIG-IP сообщат вам об ошибке, подобной lists profiles incompatible with its protocol.Если вы не уверены в правильных комбинациях профилей, используйте BIG-IP для внесения изменений и копирования корректных комбинаций. псевдонимы: все_профили | ||
| контекст - |
| Сторона соединения, на которую должен быть применён профиль. | |
| имя - | Имя профиля. Если это не указано, предполагается, что элемент профиля — только имя профиля. Это должно быть указано, если указан контекст. | ||
| поставщик - добавлен в 2.5 | По умолчанию: null | Объект типа dict, содержащий детали соединения. | |
| пароль - / обязательно | Пароль для учётной записи пользователя, используемой для подключения к BIG-IP. Вы можете опустить этот параметр, установив переменную окружения F5_PASSWORD.псевдонимы: pass, pwd | ||
| сервер - / обязательно | Хост BIG-IP. Вы можете опустить этот параметр, установив переменную окружения F5_SERVER. | ||
| порт_сервера - | По умолчанию: 443 | Порт сервера BIG-IP. Вы можете опустить этот параметр, установив переменную окружения F5_SERVER_PORT. | |
| ssh_ключ_файл - | Указывает файл SSH-ключа, используемый для аутентификации подключения к удалённому устройству. Этот аргумент используется только для транспортов cli. Вы можете опустить этот параметр, установив переменную окружения ANSIBLE_NET_SSH_KEYFILE. | ||
| таймаут - | По умолчанию: 10 | Указывает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут истечёт до завершения операции, модуль вернёт ошибку. | |
| транспорт - / обязательно |
| Настраивает транспортное соединение для подключения к удалённому устройству. | |
| пользователь - / обязательно | Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные права на устройстве. Вы можете опустить этот параметр, установив переменную окружения F5_USER. | ||
| проверять_сертификаты boolean |
| Если no, сертификаты SSL не проверяются. Используйте только на контролируемых вами сайтах с самозаверенными сертификатами.Вы можете опустить этот параметр, установив переменную окружения F5_VALIDATE_CERTS. | |
| профили_журнала_безопасности - добавлен в 2.6 | Указывает профиль журнала, применяемый к виртуальному серверу. Для использования этой функции модуль AFM должен быть лицензирован и настроен. Параметры Log all requests и Log illegal requests взаимоисключающие, поэтому этот модуль выдаст ошибку, если они будут указаны вместе. | ||
| политика_безопасности_nat - добавлен в 2.7 | Укажите политики Firewall NAT для виртуального сервера. Вы можете указать одну или несколько политик NAT. Используется наиболее специфичная политика. Например, если вы укажете, что виртуальный сервер должен использовать политику устройства и политику домена маршрутизации, политика домена маршрутизации переопределяет политику устройства. | ||
| политика - | Политика для применения политики NAT непосредственно к виртуальному серверу. Политика NAT виртуального сервера является наиболее специфичной и переопределяет политику домена маршрутизации и политики устройства, если они указаны. Для удаления политики укажите пустое значение. | ||
| использовать_политику_устройства boolean |
| Указывает, что виртуальный сервер использует политику NAT устройства, как указано в параметрах брандмауэра. Политика устройства используется, если не указана политика домена маршрутизации или политика NAT виртуального сервера. | |
| use_route_domain_policy boolean |
| Указывает, что виртуальный сервер использует политику маршрутизации домена, как указано в настройках безопасности политики домена маршрутизации. При указании политика маршрутизации домена переопределяет политику устройства и переопределяется политикой виртуального сервера. | |
| server - / обязательно | Хост BIG-IP. Вы можете опустить этот параметр, установив переменную среды F5_SERVER. | ||
| server_port - добавлено в 2.2 | По умолчанию: 443 | Порт сервера BIG-IP. Вы можете опустить этот параметр, установив переменную среды F5_SERVER_PORT. | |
| snat - | Политика адреса исходной сети. Когда type равно dhcp, этот параметр игнорируется.Когда type равно reject, этот параметр будет проигнорирован.Когда type равно internal, этот параметр будет проигнорирован.Имя пула SNAT (например, "/Common/snat_pool_name") может быть указано для включения SNAT с использованием конкретного пула. Чтобы удалить SNAT, укажите слово none. Чтобы указать автомаппинг, используйте слово automap. | ||
| source - добавлено в 2.5 | Указывает IP-адрес или сеть, из которых виртуальный сервер принимает трафик. Виртуальный сервер принимает клиентов только с одного из этих IP-адресов. Для эффективной работы этого параметра, укажите значение отличное от 0.0.0.0/0 или ::/0 (то есть any/0, any6/0). Для максимальной эффективности этого параметра, укажите наиболее точные префиксы адресов, охватывающие все клиентские адреса и не другие. Укажите IP-адрес в формате CIDR (Classless Inter-Domain Routing); адрес/префикс, где длина префикса в битах. Например, для IPv4: 10.0.0.1/32 или 10.0.0.0/24, а для IPv6: ffe1::0020/64 или 2001:ed8:77b5:2:10:10:100:42/64. | ||
| state - |
| Состояние виртуального сервера. Если absent, удалите виртуальный сервер, если он существует. present создаёт виртуальный сервер и включает его. Если enabled, включите виртуальный сервер, если он существует. Если disabled, создайте виртуальный сервер при необходимости и установите состояние в disabled. | |
| type - добавлено в 2.6 |
| Определяет сетевую услугу, предоставляемую этим виртуальным сервером. При создании нового виртуального сервера, если этот параметр не указан, по умолчанию будет standard. Это значение не может быть изменено после его установки. Когда standard, определяет виртуальный сервер, который направляет клиентский трафик в пул балансировки нагрузки и является наиболее базовым типом виртуального сервера. При первом создании виртуального сервера вы назначаете ему существующий пул по умолчанию. После этого виртуальный сервер автоматически направляет трафик в этот пул по умолчанию.Когда forwarding-l2, определяет виртуальный сервер, который разделяет один и тот же IP-адрес, что и узел в связанной VLAN.Когда forwarding-ip, определяет виртуальный сервер, как и другие виртуальные серверы, за исключением того, что у виртуального сервера нет членов пула для балансировки нагрузки. Виртуальный сервер просто пересылает пакет напрямую целевому IP-адресу, указанному в клиентском запросе.Когда performance-http, определяет виртуальный сервер, с которым вы связываете профиль Fast HTTP. Вместе виртуальный сервер и профиль увеличивают скорость обработки виртуальным сервером HTTP-запросов.Когда performance-l4, определяет виртуальный сервер, с которым вы связываете профиль Fast L4. Вместе виртуальный сервер и профиль увеличивают скорость обработки виртуальным сервером запросов 4-го уровня.Когда stateless, определяет виртуальный сервер, который принимает трафик, соответствующий адресу виртуального сервера, и балансирует нагрузку пакета на членов пула, не пытаясь сопоставить пакет с уже существующим соединением в таблице соединений. Новые соединения немедленно удаляются из таблицы соединений. Это решает требования к одностороннему UDP-трафику, который должен обрабатываться на очень высоких уровнях пропускной способности, например, балансировка нагрузки syslog-трафика на пул syslog-серверов. Виртуальные серверы без состояния не подходят для обработки трафика, требующего отслеживания состояния, например, трафика TCP. Виртуальные серверы без состояния не поддерживают iRules, сохранение состояния, дублирование соединения, ограничение скорости или автомаппинг SNAT.Когда reject, указывает, что система BIG-IP отклоняет любой трафик, предназначенный для IP-адреса виртуального сервера.Когда dhcp, определяет виртуальный сервер, который пересылает запросы DHCP-клиентов для получения IP-адреса одному или нескольким DHCP-серверам и предоставляет ответы DHCP-сервера с доступным IP-адресом для клиента.Когда internal, определяет виртуальный сервер, который поддерживает изменение HTTP-запросов и ответов. Внутренние виртуальные серверы позволяют использовать серверы ICAP (Internet Content Adaptation Protocol) для изменения HTTP-запросов и ответов путем создания и применения профиля ICAP и добавления профилей Request Adapt или Response Adapt к виртуальному серверу.Когда message-routing, определяет виртуальный сервер, который использует протокол приложения SIP и функционирует в соответствии с профилем сеанса SIP и профилем маршрутизатора SIP. | |
| user - / обязательно | Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные привилегии на устройстве. Вы можете опустить этот параметр, установив переменную среды F5_USER. | ||
| validate_certs boolean добавлено в 2.0 |
| Если no, сертификаты SSL не проверяются. Используйте это только на сайтах под вашим контролем, использующих самозаверяемые сертификаты.Вы можете опустить этот параметр, установив переменную среды F5_VALIDATE_CERTS. | |
Примечания
Примечание
- Дополнительную информацию об использовании Ansible для управления устройствами F5 Networks см. на https://www.ansible.com/integrations/networks/f5.
- Требуется пакет f5-sdk Python на хосте. Это так же просто, как
pip install f5-sdk. - Требуется версия программного обеспечения BIG-IP >= 12.
- Модули F5 манипулируют только текущей конфигурацией продукта F5. Чтобы убедиться, что конфигурация, специфичная для BIG-IP, сохранится на диске, обязательно включите по крайней мере одну задачу, использующую модуль bigip_config для сохранения текущей конфигурации. Обратитесь к документации модуля для правильного использования модуля для сохранения текущей конфигурации.
Примеры
- name: Modify Port of the Virtual Server
bigip_virtual_server:
server: lb.mydomain.net
user: admin
password: secret
state: present
partition: Common
name: my-virtual-server
port: 8080
delegate_to: localhost
- name: Delete virtual server
bigip_virtual_server:
server: lb.mydomain.net
user: admin
password: secret
state: absent
partition: Common
name: my-virtual-server
delegate_to: localhost
- name: Add virtual server
bigip_virtual_server:
server: lb.mydomain.net
user: admin
password: secret
state: present
partition: Common
name: my-virtual-server
destination: 10.10.10.10
port: 443
pool: my-pool
snat: Automap
description: Test Virtual Server
profiles:
- http
- fix
- name: clientssl
context: server-side
- name: ilx
context: client-side
policies:
- my-ltm-policy-for-asm
- ltm-uri-policy
- ltm-policy-2
- ltm-policy-3
enabled_vlans:
- /Common/vlan2
delegate_to: localhost
- name: Add FastL4 virtual server
bigip_virtual_server:
destination: 1.1.1.1
name: fastl4_vs
port: 80
profiles:
- fastL4
state: present
- name: Add iRules to the Virtual Server
bigip_virtual_server:
server: lb.mydomain.net
user: admin
password: secret
name: my-virtual-server
irules:
- irule1
- irule2
delegate_to: localhost
- name: Remove one iRule from the Virtual Server
bigip_virtual_server:
server: lb.mydomain.net
user: admin
password: secret
name: my-virtual-server
irules:
- irule2
delegate_to: localhost
- name: Remove all iRules from the Virtual Server
bigip_virtual_server:
server: lb.mydomain.net
user: admin
password: secret
name: my-virtual-server
irules: ""
delegate_to: localhost
- name: Remove pool from the Virtual Server
bigip_virtual_server:
server: lb.mydomain.net
user: admin
password: secret
name: my-virtual-server
pool: ""
delegate_to: localhost
- name: Add metadata to virtual
bigip_pool:
server: lb.mydomain.com
user: admin
password: secret
state: absent
name: my-pool
partition: Common
metadata:
ansible: 2.4
updated_at: 2017-12-20T17:50:46Z
delegate_to: localhost
- name: Add virtual with two profiles
bigip_pool:
server: lb.mydomain.com
user: admin
password: secret
state: absent
name: my-pool
partition: Common
profiles:
- http
- tcp
delegate_to: localhost
- name: Remove HTTP profile from previous virtual
bigip_pool:
server: lb.mydomain.com
user: admin
password: secret
state: absent
name: my-pool
partition: Common
profiles:
- tcp
delegate_to: localhost
- name: Add the HTTP profile back to the previous virtual
bigip_pool:
server: lb.mydomain.com
user: admin
password: secret
state: absent
name: my-pool
partition: Common
profiles:
- http
- tcp
delegate_to: localhost
Значения возврата
Общие значения возврата описаны в здесь, следующие — поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| address_translation boolean | изменено | Новое значение, указывающее, включена или выключена трансляция адресов. Пример: True |
| default_persistence_profile строка | изменено | Профиль сохранения по умолчанию, установленный на виртуальном сервере. Пример: /Common/dest_addr |
| description строка | изменено | Новое описание виртуального сервера. Пример: Это моё описание |
| destination строка | изменено | Назначение виртуального сервера. Пример: 1.1.1.1 |
| disabled boolean | изменено | Включен или выключен виртуальный сервер. Пример: True |
| disabled_vlans список | изменено | Список VLAN, для которых виртуальный сервер отключён. Пример: ['/Common/vlan1', '/Common/vlan2'] |
| enabled boolean | изменено | Включен или выключен виртуальный сервер. |
| enabled_vlans список | изменено | Список VLAN, для которых виртуальный сервер включён. Пример: ['/Common/vlan5', '/Common/vlan6'] |
| fallback_persistence_profile строка | изменено | Профиль резервного сохранения, установленный на виртуальном сервере. Пример: /Common/source_addr |
| firewall_enforced_policy строка | изменено | Новая принудительная политика брандмауэра. Пример: /Common/my-enforced-fw |
| firewall_staged_policy строка | изменено | Новая политика брандмауэра в режиме ожидания. Пример: /Common/my-staged-fw |
| ip_protocol целое число | изменено | Новое значение IP-протокола. Пример: 6 |
| irules список | изменено | Наборы iRules, установленные на виртуальном сервере. Пример: ['/Common/irule1', '/Common/irule2'] |
| metadata словарь | изменено | Новое значение виртуального объекта. Пример: {'key1': 'foo', 'key2': 'bar'} |
| policies список | изменено | Список политик, прикреплённых к виртуальному объекту. Пример: ['/Common/policy1', '/Common/policy2'] |
| pool строка | изменено | Пул, к которому прикреплён виртуальный сервер. Пример: /Common/my-pool |
| port целое число | изменено | Порт, на котором виртуальный сервер настроен для прослушивания. Пример: 80 |
| port_translation boolean | изменено | Новое значение, указывающее, включена или выключена трансляция портов. Пример: True |
| profiles список | изменено | Список профилей, установленных на виртуальном сервере. Пример: [{'name': 'tcp', 'context': 'server-side'}, {'name': 'tcp-legacy', 'context': 'client-side'}] |
| security_log_profiles список | изменено | Новый список профилей журналов безопасности. Пример: ['/Common/profile1', '/Common/profile2'] |
| snat строка | изменено | Настройка SNAT виртуального сервера. Пример: Automap |
| source строка | изменено | Исходный адрес в формате CIDR, установленный на виртуальном сервере. Пример: 1.2.3.4/32 |
Статус
- Этот модуль не гарантирует обратную совместимость интерфейса. [превью]
- Этот модуль поддерживается партнёром Ansible. [сертифицировано]
Авторы
- Tim Rupp (@caphrim007)
Подсказка
Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.7/modules/bigip_virtual_server_module.html