avi_virtualservice - Модуль для настройки виртуальной службы Avi RESTful Object
Новая версия с 2.3.
Обзор
- Этот модуль используется для настройки объекта виртуальной службы
- больше примеров по адресу https://github.com/avinetworks/devops
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- avisdk
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| active_standby_se_tag | Эта конфигурация применяется только если virtualservice находится в режиме legacy active standby ha и включено распределение нагрузки между активными и резервными. Это поле используется для маркировки virtualservice, чтобы virtualservices с одинаковой меткой использовали один и тот же активный serviceengine. Virtualservices с разными метками будут иметь разные активные serviceengines. Если один из serviceengine в serviceenginegroup выходит из строя, все virtualservices будут использовать один и тот же активный serviceengine. Перераспределение virtualservices может быть ручным или автоматическим при восстановлении вышедшего из строя serviceengine. Перераспределение основано на свойстве auto redistribute serviceenginegroup. Варианты перечисления - ACTIVE_STANDBY_SE_1, ACTIVE_STANDBY_SE_2. Значение по умолчанию, если не указано в API или модуле, интерпретируется Avi Controller как ACTIVE_STANDBY_SE_1. | |
| analytics_policy | Определяет настройки аналитики для приложения. | |
| analytics_profile_ref | Устанавливает настройки, относящиеся к аналитике. Это ссылка на объект типа analyticsprofile. | |
| api_context (добавлен в 2.5) | Контекст Avi API, который включает текущий идентификатор сеанса и токен CSRF. Это позволяет пользователю выполнить однократный вход и повторно использовать сеанс. | |
| api_version | По умолчанию: "16.4.4" | Версия Avi API для использования с Avi API и объектами. |
| application_profile_ref | Включить функции, специфичные для прикладного уровня, для виртуальной службы. Это ссылка на объект типа applicationprofile. | |
| auto_allocate_floating_ip bool |
| Автоматическое выделение плавающего/упругого IP-адреса из облачной инфраструктуры. Поле устарело в 17.1.1. Значение по умолчанию, если не указано в API или модуле, интерпретируется Avi Controller как False. |
| auto_allocate_ip bool |
| Автоматическое выделение VIP из предоставленной подсети. Поле устарело в 17.1.1. Значение по умолчанию, если не указано в API или модуле, интерпретируется Avi Controller как False. |
| availability_zone | Доступная зона для размещения виртуальной службы. Поле устарело в 17.1.1. | |
| avi_allocated_fip bool |
| (внутреннее использование) fip выделен avi в облачной инфраструктуре. Поле устарело в 17.1.1. Значение по умолчанию, если не указано в API или модуле, интерпретируется Avi Controller как False. |
| avi_allocated_vip bool |
| (внутреннее использование) vip выделен avi в облачной инфраструктуре. Поле устарело в 17.1.1. Значение по умолчанию, если не указано в API или модуле, интерпретируется Avi Controller как False. |
| avi_api_patch_op (добавлен в 2.5) |
| Операция исправления для использования при использовании avi_api_update_method как patch. |
| avi_api_update_method (добавлен в 2.5) |
| Метод по умолчанию для обновления объекта - HTTP PUT. Установка на patch переопределит это поведение, чтобы использовать HTTP PATCH. |
| avi_credentials (добавлен в 2.5) | Словарь Avi Credentials, который может быть использован вместо перечисления учетных данных входа в Avi Controller. | |
| bulk_sync_kvcache bool (добавлен в 2.6) |
| (это бета-функция). Синхронизация кэша ключей-значений с новым сеансом при масштабировании vs. Например, сессии ssl хранятся с помощью кэша ключей-значений vs. При масштабировании vs информация о сессии ssl синхронизируется с новым se, что позволяет повторно использовать существующие сессии ssl на новом se. Поле добавлено в 17.2.7, 18.1.1. Значение по умолчанию, если не указано в API или модуле, интерпретируется Avi Controller как False. |
| client_auth | Настройка аутентификации HTTP для защищённых ресурсов. | |
| close_client_conn_on_config_update bool (добавлен в 2.5) |
| Закрыть соединение клиента при обновлении конфигурации vs. Поле добавлено в 17.2.4. Значение по умолчанию, если не указано в API или модуле, интерпретируется Avi Controller как False. |
| cloud_config_cksum | Контрольная сумма облачной конфигурации для vs. Внутренне устанавливается облачным коннектором. | |
| cloud_ref | Это ссылка на объект типа cloud. | |
| cloud_type | Варианты перечисления - cloud_none, cloud_vcenter, cloud_openstack, cloud_aws, cloud_vca, cloud_apic, cloud_mesos, cloud_linuxserver, cloud_docker_ucp, cloud_rancher, cloud_oshift_k8s, cloud_azure. Значение по умолчанию, если не указано в API или модуле, интерпретируется Avi Controller как CLOUD_NONE. | |
| connections_rate_limit | Ограничить скорость входящих подключений к этой виртуальной службе. | |
| content_rewrite | Профиль, используемый для сопоставления и переписывания строк в теле запроса и/или ответа. | |
| controller | По умолчанию: "" | IP-адрес или имя хоста контроллера. Значение по умолчанию — переменная среды AVI_CONTROLLER. |
| created_by | Имя создателя. | |
| delay_fairness bool |
| Выбор алгоритма для обеспечения справедливости QoS. Это определяет, как несколько виртуальных служб, использующих одни и те же service engines, будут приоритезировать трафик при перегрузке сети. Значение по умолчанию, если не указано в API или модуле, интерпретируется Avi Controller как False. |
| description | Пользовательское описание объекта. | |
| discovered_network_ref | (внутреннее использование) обнаруженные сети, обеспечивающие достижимость IP-адреса виртуальной службы, обращённой к клиенту. Это поле устарело. Это ссылка на объект типа network. Поле устарело в 17.1.1. | |
| discovered_networks | (внутреннее использование) обнаруженные сети, обеспечивающие достижимость IP-адреса виртуальной службы, обращённой к клиенту. Это поле используется внутри avi и не редактируется пользователем. Поле устарело в 17.1.1. | |
| discovered_subnet | (внутреннее использование) обнаруженные подсети, обеспечивающие достижимость IP-адреса виртуальной службы, обращённой к клиенту. Это поле устарело. Поле устарело в 17.1.1. | |
| dns_info | Данные, специфичные для обнаружения служб, включая полное доменное имя, тип и время жизни записи DNS. Обратите внимание, что разрешено только одно из значений fqdn и dns_info. | |
| dns_policies (добавлен в 2.4) | Политики DNS, применяемые к трафику DNS виртуальной службы. Поле добавлено в 17.1.1. | |
| east_west_placement bool |
| Принудительное размещение на всех se в группе служб (только в режиме mesos). Значение по умолчанию, если не указано в API или модуле, интерпретируется Avi Controller как False. |
| enable_autogw bool |
| Трафик ответа клиентам будет отправлен обратно на исходный MAC-адрес соединения, а не статически направлен на шлюз по умолчанию. Значение по умолчанию, если не указано в API или модуле, интерпретируется Avi Controller как True. |
| enable_rhi bool |
| Включить введение здоровья маршрута с помощью конфигурации bgp в контексте vrf. |
| enable_rhi_snat bool |
| Включить введение здоровья маршрута для адресов плавающего IP с источниковым NAT с помощью конфигурации bgp в контексте vrf. |
| enabled bool |
| Включить или отключить виртуальную службу. Значение по умолчанию, если не указано в API или модуле, интерпретируется Avi Controller как True. |
| error_page_profile_ref (добавлен в 2.5) | Профиль страницы ошибок, используемый для этой виртуальной службы. Этот профиль используется для отправки на клиент пользовательской страницы ошибок, созданной прокси-сервером. Это ссылка на объект типа errorpageprofile. Поле добавлено в 17.2.4. |
| floating_ip | Плавающий IP-адрес для ассоциации с этой виртуальной службой. Поле устарело в версии 17.1.1. | |
| floating_subnet_uuid | Если auto_allocate_floating_ip имеет значение true и существует более одного подсети плавающего IP-адреса, то подсеть для выделения плавающего IP-адреса. Это поле применимо только в случае, если виртуальная служба принадлежит облаку OpenStack или AWS. В облаках OpenStack или AWS оно требуется, если выбран auto_allocate_floating_ip. Поле устарело в версии 17.1.1. | |
| flow_dist | Критерии распределения потоков между сессиями. Варианты перечисления - LOAD_AWARE, CONSISTENT_HASH_SOURCE_IP_ADDRESS, CONSISTENT_HASH_SOURCE_IP_ADDRESS_AND_PORT. Значение по умолчанию, если не указано в API или модуле, интерпретируется контроллером Avi как LOAD_AWARE. | |
| flow_label_type | Критерии для маркировки потоков. Варианты перечисления - NO_LABEL, APPLICATION_LABEL, SERVICE_LABEL. Значение по умолчанию, если не указано в API или модуле, интерпретируется контроллером Avi как NO_LABEL. | |
| fqdn | Разрешаемый DNS, полное доменное имя виртуальной службы. Допускается только одна из конфигураций «fqdn» и «dns_info». | |
| host_name_xlate | Перевод имени хоста, отправленного серверам, на это значение. Перевод имени хоста, отправленного от серверов, обратно к значению, используемому клиентом. | |
| http_policies | Применяемые HTTP-политики к трафику данных виртуальной службы. | |
| ign_pool_net_reach bool |
| Игнорировать ограничения на достижимость сети серверов пула для размещения виртуальной службы. Значение по умолчанию, если не указано в API или модуле, интерпретируется контроллером Avi как False. |
| ip_address | IP-адрес виртуальной службы. Поле устарело в версии 17.1.1. | |
| ipam_network_subnet | Подсеть и/или сеть для выделения IP-адреса виртуальной службы модулем поставщика IPAM. Поле устарело в версии 17.1.1. | |
| l4_policies (added in 2.6) | Применяемые L4-политики к трафику данных виртуальной службы. Поле добавлено в версии 17.2.7. | |
| limit_doser bool |
| Ограничение потенциальных атакующих DDoS, которые значительно превышают max_cps_per_client, до доли max_cps_per_client на некоторое время. Значение по умолчанию, если не указано в API или модуле, интерпретируется контроллером Avi как False. |
| max_cps_per_client | Максимальное количество подключений в секунду на IP-адрес клиента. Допустимые значения: 10-1000. Специальные значения: 0 - «без ограничений». Значение по умолчанию, если не указано в API или модуле, интерпретируется контроллером Avi как 0. | |
| microservice_ref | Микросервис, представляющий виртуальную службу. Это ссылка на объект типа microservice. | |
| name required | Имя виртуальной службы. | |
| network_profile_ref | Определяет настройки сети, такие как протокол, TCP или UDP, и связанные параметры для протокола. Это ссылка на объект типа networkprofile. | |
| network_ref | Вручную переопределить сеть, на которой размещается виртуальная служба. Это ссылка на объект типа network. Поле устарело в версии 17.1.1. | |
| network_security_policy_ref | Политики сетевой безопасности для виртуальной службы. Это ссылка на объект типа networksecuritypolicy. | |
| nsx_securitygroup (added in 2.4) | Список групп безопасности NSX, представляющих клиентов, которые могут получить доступ к виртуальному IP-адресу виртуальной службы. Поле добавлено в версии 17.1.1. | |
| password | По умолчанию: "" | Пароль пользователя Avi в контроллере Avi. Значение по умолчанию - переменная окружения AVI_PASSWORD. |
| performance_limits | Дополнительные настройки, определяющие ограничения производительности, такие как максимальное количество подключений или пропускная способность. | |
| pool_group_ref | Группа пулов — объект, содержащий пулы. Это ссылка на объект типа poolgroup. | |
| pool_ref | Пул — объект, содержащий целевые серверы и связанные атрибуты, такие как балансировка нагрузки и сохранение состояния. Это ссылка на объект типа pool. | |
| port_uuid | (для внутреннего использования) сетевой порт, назначенный IP-адресу виртуальной службы. Поле устарело в версии 17.1.1. | |
| remove_listening_port_on_vs_down bool |
| Удалить порт прослушивания, если виртуальная служба выключена. Значение по умолчанию, если не указано в API или модуле, интерпретируется контроллером Avi как False. |
| requests_rate_limit | Ограничить скорость входящих запросов для этой виртуальной службы. | |
| scaleout_ecmp bool |
| Отключить перераспределение потоков между движками сервисов для виртуальной службы. Включить, если сама сеть выполняет хэширование потоков с помощью ECMP в таких средах, как GCP. Значение по умолчанию, если не указано в API или модуле, интерпретируется контроллером Avi как False. |
| se_group_ref | Группа движков сервисов, используемых для этой виртуальной службы. Переход в новую группу движков сервисов нарушает существующие подключения для этой виртуальной службы. Это ссылка на объект типа serviceenginegroup. | |
| server_network_profile_ref | Определяет профиль настроек сети для серверной стороны TCP-прокси-соединений. Оставьте пустым, чтобы использовать те же настройки, что и клиентская сторона соединения с виртуальной службой. Это ссылка на объект типа networkprofile. | |
| service_metadata (added in 2.4) | Метаданные, относящиеся к службе, предоставляемой этой виртуальной службой. В средах OpenShift/Kubernetes хранятся сведения о контейнерах egress. Любой ввод пользователя в это поле будет перезаписан системой Avi Vantage. | |
| service_pool_select | Выбор пула на основе целевого порта. | |
| services | Список служб, определенных для этой виртуальной службы. | |
| sideband_profile (added in 2.4) | Настройка канала связи, используемая для этой виртуальной службы. Может использоваться для отправки трафика на VIP-адреса канала связи для внешнего анализа и т. д. | |
| snat_ip | NAT-преобразованный(ые) IP-адрес(ы) источника плавающего IP для подключения к серверам по направлению вверх. | |
| sp_pool_refs (added in 2.5) | Пулы GSLB, используемые для управления функциональностью сохранения состояния сайта. Каждый пул сохранения состояния сайта содержит виртуальные службы во всех других сайтах, автоматически генерируемых менеджером GSLB. Это поле является только для чтения для пользователя. Это ссылка на объект типа pool. Поле добавлено в версии 17.2.2. | |
| ssl_key_and_certificate_refs | Выберите или создайте один или два сертификата (ECC или RSA), которые будут представлены для подключений с завершенным SSL/TLS. Это ссылка на объект типа sslkeyandcertificate. | |
| ssl_profile_ref | Определяет набор версий SSL и шифров, принимаемых для подключений с завершенным SSL/TLS. Это ссылка на объект типа sslprofile. | |
| ssl_sess_cache_avg_size | Ожидаемое количество записей кэша сеансов SSL (может быть превышено). Допустимые значения: 1024-16383. Значение по умолчанию, если не указано в API или модуле, интерпретируется контроллером Avi как 1024. | |
| state |
| Состояние, которое должно быть применено к объекту. |
| static_dns_records | Список статических записей DNS, применяемых к этой виртуальной службе. Это статические записи, и мониторинг работоспособности не выполняется для IP-адресов. | |
| subnet | Подсеть, обеспечивающая достижимость IP-адреса виртуальной службы, обращенной к клиенту. Поле устарело в версии 17.1.1. | |
| subnet_uuid | Представляет подсеть для выделения IP-адреса виртуальной службы, когда auto_allocate_ip имеет значение true. Применимо только в OpenStack или AWS. Это поле требуется, если auto_allocate_ip имеет значение true. Поле устарело в версии 17.1.1. | |
| tenant | По умолчанию: "admin" | Имя клиента, используемое для всех вызовов API Avi и контекста объекта. |
| tenant_ref | Ссылка на объект типа tenant. | |
| tenant_uuid | По умолчанию: "" | UUID клиента, используемого для всех вызовов API Avi и контекста объекта. |
| traffic_clone_profile_ref (добавлен в 2.4) | Серверная сеть или список серверов для клонирования трафика. Это ссылка на объект типа trafficcloneprofile. Поле введено в 17.1.1. | |
| traffic_enabled bool (добавлен в 2.6) |
| Кнопка для включения трафика виртуальной службы на назначенных серверных движках. Это значение эффективно только в том случае, если флаг включения установлен в true. Поле введено в 17.2.8. Значение по умолчанию, если не указано в API или модуле, интерпретируется контроллером Avi как True. |
| type | Укажите, является ли это обычной виртуальной службой или она является родительской или дочерней службой виртуальной службы с поддержкой sni. Варианты перечисления - VS_TYPE_NORMAL, VS_TYPE_VH_PARENT, VS_TYPE_VH_CHILD. Значение по умолчанию, если не указано в API или модуле, интерпретируется контроллером Avi как VS_TYPE_NORMAL. | |
| url | URL-адрес контроллера Avi объекта. | |
| use_bridge_ip_as_vip bool |
| Использовать IP-адрес моста в качестве VIP на каждом хосте в развертываниях mesos. Значение по умолчанию, если не указано в API или модуле, интерпретируется контроллером Avi как False. |
| use_vip_as_snat bool (добавлен в 2.5) |
| Использовать виртуальный IP-адрес в качестве IP-адреса SNAT для мониторинга состояния и отправки трафика на серверы бэкэнда вместо IP-адреса интерфейса движка службы. Ограничение при включении этого параметра заключается в том, что виртуальную службу нельзя настроить в режиме активной-активной HA. Для обеспечения HA и бесперебойного обновления необходимо использовать многоадресное решение на основе DNS. Поле введено в 17.1.9, 17.2.3. Значение по умолчанию, если не указано в API или модуле, интерпретируется контроллером Avi как False. |
| username | Значение по умолчанию: "" | Имя пользователя, используемое для доступа к контроллеру Avi. Значение по умолчанию — переменная среды AVI_USERNAME. |
| uuid | UUID виртуальной службы. | |
| vh_domain_name | Точное имя, запрошенное из поля имени домена sni-разрешенного TLS hello клиента. Если это совпадение, родительская VS перенаправит соединение на эту дочернюю VS. | |
| vh_parent_vs_uuid | Указывает виртуальную службу, выполняющую роль родителя виртуального хостинга (sni). | |
| vip (добавлен в 2.4) | Список IP-адресов виртуальной службы. При создании «совмещенной VS» используйте vsvip_ref для указания на общие сущности. Поле введено в 17.1.1. | |
| vrf_context_ref | Контекст виртуальной маршрутизации, к которому привязана виртуальная служба. Это используется для обеспечения изоляции набора сетей, к которым подключено приложение. Это ссылка на объект типа vrfcontext. | |
| vs_datascripts | Скрипты данных, применяемые к трафику данных виртуальной службы. | |
| vsvip_ref (добавлен в 2.4) | В основном используется при создании совместных VS, это поле ссылается на сущности, которые могут быть объединены для нескольких виртуальных служб. Это ссылка на объект типа vsvip. Поле введено в 17.1.1. | |
| waf_policy_ref (добавлен в 2.5) | Политика waf для виртуальной службы. Это ссылка на объект типа wafpolicy. Поле введено в 17.2.1. | |
| weight | Вес качества обслуживания для назначения трафика, передаваемого из этой виртуальной службы. Более высокий вес будет иметь приоритет при передаче трафика по сравнению с другими виртуальными службами, которые используют те же серверные движки. Допустимые значения: 1-128. Значение по умолчанию, если не указано в API или модуле, интерпретируется контроллером Avi как 1. |
Примечания
Примечание
- Дополнительную информацию об использовании Ansible для управления устройствами Avi Network см. на странице https://www.ansible.com/ansible-avi-networks.
Примеры
- name: Create SSL Virtual Service using Pool testpool2
avi_virtualservice:
controller: 10.10.27.90
username: admin
password: AviNetworks123!
name: newtestvs
state: present
performance_limits:
max_concurrent_connections: 1000
services:
- port: 443
enable_ssl: true
- port: 80
ssl_profile_ref: '/api/sslprofile?name=System-Standard'
application_profile_ref: '/api/applicationprofile?name=System-Secure-HTTP'
ssl_key_and_certificate_refs:
- '/api/sslkeyandcertificate?name=System-Default-Cert'
ip_address:
addr: 10.90.131.103
type: V4
pool_ref: '/api/pool?name=testpool2'
Значения возврата
Общие значения возврата описаны здесь, следующие — поля, уникальные для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| obj dict | успех, изменение | Объект VirtualService (api/virtualservice) |
Статус
Этот модуль помечен как preview, что означает, что его интерфейс не гарантируется как обратной совместимости.
Техническое обслуживание
Этот модуль помечен как community, что означает, что он поддерживается сообществом Ansible. См. Техническое обслуживание и поддержка модулей для получения дополнительной информации.
Список других модулей, также поддерживаемых сообществом Ansible, см. здесь.
Автор
- Gaurav Rastogi (grastogi@avinetworks.com)
Подсказка
Если вы заметите проблемы в этой документации, вы можете отредактировать этот документ для улучшения.
© 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/avi_virtualservice_module.html