Spec-Zone.ru › Ansible 2.6

bigip_virtual_server - Управление виртуальными серверами LTM на BIG-IP

Новая версия с 2.1.

  • Описание
    • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
  • Техническое обслуживание
    • Автор

Описание

  • Управление виртуальными серверами LTM на BIG-IP.

Требования

Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.

  • f5-sdk >= 3.0.9
  • netaddr

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
address_translation
bool

(добавлен в 2.6)
    Варианты:
  • no
  • yes
Указывает, когда 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)
    Варианты:
  • ah
  • bna
  • esp
  • etherip
  • gre
  • icmp
  • ipencap
  • ipv6
  • ipv6-auth
  • ipv6-crypt
  • ipv6-icmp
  • isp-ip
  • mux
  • ospf
  • sctp
  • tcp
  • udp
  • udplite
Указывает имя сетевого протокола, который система должна использовать для направления трафика на этот виртуальный сервер.
При создании нового виртуального сервера, если этот параметр не указан, значение по умолчанию 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
    Варианты:
  • all ←
  • server-side
  • client-side
Сторона соединения, на которой должен применяться профиль.
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
  • yes ←
Если no, сертификаты SSL не будут проверены. Используйте только на сайтах, контролируемых вами, с самозаверяющимися сертификатами. Вы можете опустить этот параметр, если установлена переменная окружения F5_VALIDATE_CERTS.
timeout По умолчанию:
10
Устанавливает таймаут в секундах для связи с сетевым устройством при подключении или отправке команд. Если таймаут истечёт до завершения операции, модуль вернёт ошибку.
ssh_keyfile
Указывает SSH-ключевой файл для аутентификации подключения к удалённому устройству. Этот аргумент используется только для транспортов cli. Если значение не указано в задаче, будет использовано значение переменной окружения ANSIBLE_NET_SSH_KEYFILE.
transport
требуется
    Варианты:
  • rest
  • cli ←
Настраивает транспортное соединение для подключения к удалённому устройству.
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
    Варианты:
  • present ←
  • absent
  • enabled
  • disabled
Состояние виртуального сервера. Если absent, удалить виртуальный сервер, если он существует. present создаёт виртуальный сервер и включает его. Если enabled, включить виртуальный сервер, если он существует. Если disabled, создать виртуальный сервер, если необходимо, и установить состояние на disabled.
Тип
(добавлено в 2.6)
    Варианты:
  • стандартный ←
  • forwarding-l2
  • forwarding-ip
  • performance-http
  • performance-l4
  • бессостоятельный
  • отклонить
  • dhcp
  • внутренний
  • маршрутизация-сообщений
Указывает сетевую службу, предоставляемую этим виртуальным сервером.
При создании нового виртуального сервера, если этот параметр не указан, по умолчанию будет 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API