bigip_virtual_server - Управление виртуальными серверами LTM на BIG-IP
Новая версия с 2.1.
Описание
- Управление виртуальными серверами LTM на BIG-IP.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- f5-sdk >= 3.0.9
- netaddr
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |
|---|---|---|---|
| address_translation bool (добавлен в 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) | Список правил, которые применяются в порядке приоритета. Если вы хотите удалить существующие iПравила, укажите единственное пустое значение; "". См. документацию для примера.Если type равно dhcp, этот параметр будет проигнорирован.Если type равно stateless, этот параметр будет проигнорирован.Если type равно reject, этот параметр будет проигнорирован.Если type равно internal, этот параметр будет проигнорирован.псевдонимы: all_rules | ||
| metadata (добавлен в 2.5) | Произвольные пары ключ/значение, которые можно прикрепить к пулу. Это полезно в ситуациях, когда вам может потребоваться аннотировать виртуальный сервер, управляемый Ansible. Имена ключей будут храниться как строки; это включает имена, которые являются числами. Значения для всех ключей будут храниться как строки; это включает значения, которые являются числами. Данные будут сохранены, а не временные. | ||
| name обязательно | Имя виртуального сервера. псевдонимы: vs | ||
| partition (добавлен в 2.5) | По умолчанию: "Common" | Раздел устройства для управления ресурсами. | |
| password обязательно | Пароль для учетной записи пользователя, используемой для подключения к BIG-IP. Этот параметр можно опустить, если переменная среды F5_PASSWORD установлена.псевдонимы: pass, pwd | ||
| policies | Указывает политики для виртуального сервера. Если type равно dhcp, этот параметр будет проигнорирован.Если type равно reject, этот параметр будет проигнорирован.Если type равно internal, этот параметр будет проигнорирован.псевдонимы: all_policies | ||
| pool | Пул по умолчанию для виртуального сервера. Если вы хотите удалить существующий пул, укажите пустое значение; "". См. документацию для примера.При создании нового виртуального сервера и type равно stateless, этот параметр обязателен.Если type равно stateless, используемый pool не должен содержать членов, определяющих rate_limit. | ||
| port | Порт виртуального сервера. Требуется, когда state равно present и виртуальный сервер не существует.Если вы не хотите указывать конкретный порт, используйте значение 0. Результатом будет то, что виртуальный сервер будет прослушивать любой порт.Если type равно dhcp, этот модуль принудительно установит параметр port в значение 67.Если type равно internal, этот модуль принудительно установит параметр port в значение 0.Помимо указания номера порта, также можно указать ряд имён служб. Строка ftp может быть заменена портом 21. | ||
| profiles | Список профилей (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, в котором вы можете внести изменения и скопировать корректные комбинации. псевдонимы: all_profiles | ||
| name | Имя профиля. Если это не указано, предполагается, что элемент профиля представляет собой только имя профиля. Это необходимо, если указан контекст. | ||
| context |
| Сторона соединения, на которой должен применяться профиль. | |
| provider (добавлен в 2.5) | Объект dict, содержащий данные соединения. | ||
| password требуется | Пароль для учетной записи пользователя, используемой для подключения к BIG-IP. Вы можете опустить этот параметр, если установлена переменная окружения F5_PASSWORD. псевдонимы: pass, pwd | ||
| server требуется | Хост BIG-IP. Вы можете опустить этот параметр, если установлена переменная окружения F5_SERVER. | ||
| server_port | По умолчанию: 443 | Порт сервера BIG-IP. Вы можете опустить этот параметр, если установлена переменная окружения F5_SERVER_PORT. | |
| user требуется | Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные привилегии на устройстве. Вы можете опустить этот параметр, если установлена переменная окружения F5_USER. | ||
| validate_certs bool |
| Если no, сертификаты SSL не будут проверены. Используйте только на сайтах, контролируемых вами, с самозаверяющимися сертификатами. Вы можете опустить этот параметр, если установлена переменная окружения F5_VALIDATE_CERTS. | |
| timeout | По умолчанию: 10 | Устанавливает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут истечёт до завершения операции, модуль вернёт ошибку. | |
| ssh_keyfile | Указывает SSH-ключевой файл для аутентификации подключения к удалённому устройству. Этот аргумент используется только для транспортов cli. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_SSH_KEYFILE. | ||
| transport требуется |
| Настраивает транспортное соединение для подключения к удалённому устройству. | |
| security_log_profiles (добавлен в 2.6) | Указывает профиль журнала, применяемый к виртуальному серверу. Для использования этой функции модуль AFM должен быть лицензирован и предоставлен. Параметры Log all requests и Log illegal requests взаимно исключают друг друга, и поэтому этот модуль выдаст ошибку, если оба они будут указаны. | ||
| 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. | |
| Тип (добавлено в 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 (протокол адаптации содержимого интернета) для изменения HTTP-запросов и ответов путем создания и применения профиля ICAP и добавления профилей адаптации запроса или адаптации ответа к виртуальному серверу.Когда message-routing, указывает виртуальный сервер, который использует протокол приложения SIP и работает в соответствии с профилем сеанса SIP и профилем маршрутизатора SIP. | |
| пользователь обязательно | Имя пользователя для подключения к BIG-IP. Этот пользователь должен иметь административные привилегии на устройстве. Этот параметр можно опустить, если переменная окружения F5_USER установлена. | ||
| validate_certs bool (добавлено в 2.0) |
| Если no, сертификаты SSL не будут проверены. Используйте только на сайтах, контролируемых вами лично, которые используют самозаверенные сертификаты. Этот параметр можно опустить, если переменная окружения F5_VALIDATE_CERTS установлена. | |
Примечания
Примечание
- Требуется версия ПО BIG-IP >= 11
- Требуется пакет netaddr Python на хосте. Это так же просто, как pip install netaddr.
- Дополнительную информацию об использовании Ansible для управления устройствами F5 Networks см. на странице https://www.ansible.com/integrations/networks/f5.
- Требуется пакет f5-sdk Python на хосте. Это так же просто, как
pip install f5-sdk.
Примеры
- 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 bool | изменённое | Новое значение, определяющее включение или выключение трансляции адресов. Пример: True |
| default_persistence_profile строка | изменённое | Установленный по умолчанию профиль сохранения для виртуального сервера. Пример: /Common/dest_addr |
| description строка | изменённое | Новое описание виртуального сервера. Пример: Это моё описание |
| destination строка | изменённое | Цель виртуального сервера. Пример: 1.1.1.1 |
| disabled bool | изменённое | Включён или выключен виртуальный сервер. Пример: True |
| disabled_vlans список | изменённое | Список VLAN, для которых виртуальный сервер отключён. Пример: ['/Common/vlan1', '/Common/vlan2'] |
| enabled bool | изменённое | Включён или выключен виртуальный сервер. |
| 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 bool | изменённое | Новое значение, определяющее включение или выключение трансляции портов. Пример: 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. Подробнее см. Техническое обслуживание модулей и поддержка.
Список других модулей, поддерживаемых сообществом 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.6/modules/bigip_virtual_server_module.html