community.network.avi_virtualservice 模块 – 用于设置 VirtualService Avi RESTful 对象的模块

注意

此模块是 community.network 集合(版本 5.1.0)的一部分。

如果您使用的是 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.network。您需要其他要求才能使用此模块,有关详细信息,请参阅要求

要在 playbook 中使用它,请指定:community.network.avi_virtualservice

注意

community.network 集合已弃用,将从 Ansible 12 中删除。有关详细信息,请参阅讨论线程

已弃用

已在以下版本中删除:

6.0.0 版本

原因:

此集合及其中的所有内容均未维护且已弃用。

替代方案:

未知。

概要

别名:network.avi.avi_virtualservice

要求

在执行此模块的主机上需要以下要求。

  • avisdk

参数

参数

注释

active_standby_se_tag

字符串

仅当 virtualservice 处于传统的主备 HA 模式并且启用了主备之间的负载分配时,此配置才适用。

此字段用于标记 virtualservice,以便具有相同标记的 virtualservice 将共享相同的主服务引擎。

具有不同标记的 virtualservice 将具有不同的主服务引擎。

如果服务引擎组中的一个服务引擎发生故障,所有 virtualservice 将最终使用相同的主服务引擎。

当发生故障的服务引擎恢复时,virtualservice 的重新分配可以是手动或自动的。

重新分配基于服务引擎组的自动重新分配属性。

枚举选项 - ACTIVE_STANDBY_SE_1、ACTIVE_STANDBY_SE_2。

API 或模块中未指定时的默认值由 Avi 控制器解释为 ACTIVE_STANDBY_SE_1。

allow_invalid_client_cert

布尔值

即使存在无效的客户端证书,也处理请求。

需要使用数据脚本 API 来处理此类请求。

在 18.2.3 中引入的字段。

API 或模块中未指定时的默认值由 Avi 控制器解释为 False。

选项

  • false

  • true

analytics_policy

字符串

确定应用程序的分析设置。

analytics_profile_ref

字符串

指定与分析相关的设置。

它是对 analytics_profile 类型对象的引用。

api_context

字典

Avi API 上下文,包括当前会话 ID 和 CSRF 令牌。

这允许用户执行单点登录并重新使用会话。

api_version

字符串

用于 Avi API 和对象的 Avi API 版本。

默认值: "16.4.4"

apic_contract_graph

字符串

与虚拟服务关联的合同/图的名称。

应采用 <合同名称> <图名称> 格式。

这仅适用于与 Cisco APIC 控制器的服务集成模式。

在 17.2.12、18.1.2 中引入的字段。

application_profile_ref

字符串

为虚拟服务启用应用程序层特定功能。

它是对 applicationprofile 类型对象的引用。

auto_allocate_floating_ip

布尔值

从云基础架构自动分配浮动/弹性 IP。

在 17.1.1 中弃用的字段。

选项

  • false

  • true

auto_allocate_ip

布尔值

从提供的子网自动分配 VIP。

在 17.1.1 中弃用的字段。

选项

  • false

  • true

availability_zone

字符串

放置虚拟服务的可用区。

在 17.1.1 中弃用的字段。

avi_allocated_fip

布尔值

(内部使用)Avi 在云基础架构中分配的 FIP。

在 17.1.1 中弃用的字段。

选项

  • false

  • true

avi_allocated_vip

布尔值

(内部使用)Avi 在云基础架构中分配的 VIP。

在 17.1.1 中弃用的字段。

选项

  • false

  • true

avi_api_patch_op

字符串

当使用 avi_api_update_method 作为 patch 时要使用的 Patch 操作。

选项

  • "add"

  • "replace"

  • "delete"

avi_api_update_method

字符串

对象更新的默认方法是 HTTP PUT。

设置为 patch 将覆盖该行为以使用 HTTP PATCH。

选项

  • "put" ←(默认)

  • "patch"

avi_credentials

字典

Avi 凭据字典,可以用来代替枚举 Avi 控制器登录详细信息。

api_version

字符串

Avi 控制器版本

默认值: "16.4.4"

controller

字符串

Avi 控制器 IP 或 SQDN

csrftoken

字符串

Avi 控制器 API csrftoken,用于重用具有会话 ID 的现有会话

默认值: ""

password

字符串

Avi 控制器密码

port

字符串

Avi 控制器端口

session_id

字符串

Avi 控制器 API 会话 ID,用于重用具有 csrftoken 的现有会话

默认值: ""

tenant

字符串

Avi 控制器租户

默认值: "admin"

tenant_uuid

字符串

Avi 控制器租户 UUID

默认值: ""

timeout

字符串

Avi 控制器请求超时

默认值: 300

令牌

字符串

Avi 控制器 API 令牌

默认值: ""

用户名

字符串

Avi 控制器用户名

avi_disable_session_cache_as_fact

布尔值

禁用将 Avi 会话信息缓存为事实。

选项

  • false ←(默认)

  • true

azure_availability_set

字符串

(内部使用)仅适用于 Azure。

此虚拟服务关联的 Azure 可用性集。

由云连接器内部设置。

在 17.2.12、18.1.2 中引入的字段。

bulk_sync_kvcache

布尔值

(这是一个测试版功能)。

当 VS 横向扩展时,将键值缓存同步到新的 SE。

例如,SSL 会话使用 VS 的键值缓存存储。

当 VS 横向扩展时,SSL 会话信息会同步到新的 SE,允许在新的 SE 上重用现有的 SSL 会话。

在 17.2.7、18.1.1 中引入的字段。

API 或模块中未指定时的默认值由 Avi 控制器解释为 False。

选项

  • false

  • true

client_auth

字符串

受保护资源的 HTTP 身份验证配置。

close_client_conn_on_config_update

布尔值

在 VS 配置更新时关闭客户端连接。

在 17.2.4 中引入的字段。

API 或模块中未指定时的默认值由 Avi 控制器解释为 False。

选项

  • false

  • true

cloud_config_cksum

字符串

VS 的云配置校验和。

由云连接器内部设置。

cloud_ref

字符串

它是对云类型对象的引用。

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、cloud_gcp。

API 或模块中未指定时的默认值由 Avi 控制器解释为 CLOUD_NONE。

connections_rate_limit

字符串

限制此虚拟服务的传入连接速率。

content_rewrite

字符串

用于匹配和重写请求和/或响应正文中的字符串的配置文件。

controller

字符串

控制器的 IP 地址或主机名。默认值为环境变量 AVI_CONTROLLER

created_by

字符串

创建者名称。

delay_fairness

布尔值

选择 QOS 公平性的算法。

这决定了多个共享同一服务引擎的虚拟服务如何在拥塞的网络上确定流量的优先级。

API 或模块中未指定时的默认值由 Avi 控制器解释为 False。

选项

  • false

  • true

description

字符串

用户定义的对象描述。

discovered_network_ref

字符串

(内部使用)发现的网络为面向客户端的虚拟服务 IP 提供可达性。

此字段已弃用。

它是对网络类型对象的引用。

在 17.1.1 中弃用的字段。

discovered_networks

字符串

(内部使用)发现的网络为面向客户端的虚拟服务 IP 提供可达性。

此字段由 Avi 内部使用,用户不可编辑。

在 17.1.1 中弃用的字段。

discovered_subnet

字符串

(内部使用)发现的子网为面向客户端的虚拟服务 IP 提供可达性。

此字段已弃用。

在 17.1.1 中弃用的字段。

dns_info

字符串

服务发现特定数据,包括完全限定域名、类型和 DNS 记录的生存时间。

请注意,只允许使用 fqdn 和 dns_info 设置中的一个。

dns_policies

字符串

应用于虚拟服务 DNS 流量的 DNS 策略。

在 17.1.1 中引入的字段。

east_west_placement

布尔值

强制放置在服务组中的所有 SE 上(仅限 Mesos 模式)。

API 或模块中未指定时的默认值由 Avi 控制器解释为 False。

选项

  • false

  • true

enable_autogw

布尔值

客户端的响应流量将发送回连接的源 MAC 地址,而不是静态发送到默认网关。

API 或模块中未指定时的默认值由 Avi 控制器解释为 True。

选项

  • false

  • true

enable_rhi

布尔值

使用 VRF 上下文中的 BGP 配置启用路由运行状况注入。

选项

  • false

  • true

enable_rhi_snat

布尔值

使用 VRF 上下文中的 BGP 配置为源 NAT 的浮动 IP 地址启用路由运行状况注入。

选项

  • false

  • true

enabled

布尔值

启用或禁用虚拟服务。

API 或模块中未指定时的默认值由 Avi 控制器解释为 True。

选项

  • false

  • true

error_page_profile_ref

字符串

此虚拟服务要使用的错误页面配置文件。此配置文件用于将代理生成的自定义错误页面发送到客户端。

它是对 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

字符串

SE 之间流量分配的标准。

枚举选项 - 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

布尔值

忽略虚拟服务放置的池服务器网络可达性约束。

API 或模块中未指定时的默认值由 Avi 控制器解释为 False。

选项

  • false

  • true

ip_address

字符串

虚拟服务的 IP 地址。

在 17.1.1 中弃用的字段。

ipam_network_subnet

字符串

IPAM 提供程序模块用于分配虚拟服务 IP 的子网和/或网络。

在 17.1.1 中弃用的字段。

l4_policies

字符串

应用于虚拟服务数据流量的 L4 策略。

在 17.2.7 中引入的字段。

limit_doser

布尔值

将超过 max_cps_per_client 的潜在 DOS 攻击者在一段时间内限制为 max_cps_per_client 的一小部分。

API 或模块中未指定时的默认值由 Avi 控制器解释为 False。

选项

  • false

  • true

max_cps_per_client

字符串

每个客户端 IP 的最大每秒连接数。

允许的值为 10-1000。

特殊值为 0- “无限”。

API 或模块中未指定时的默认值由 Avi 控制器解释为 0。

microservice_ref

字符串

表示虚拟服务的微服务。

它是对微服务类型对象的引用。

min_pools_up

字符串

将 VS 标记为启动的最少启动池数。

在 18.2.1、17.2.12 中引入的字段。

name

字符串 / 必需

虚拟服务的名称。

network_profile_ref

字符串

确定网络设置,例如协议、TCP 或 UDP 以及该协议的相关选项。

它是对 networkprofile 类型对象的引用。

network_ref

字符串

手动覆盖放置虚拟服务的网络。

它是对网络类型对象的引用。

在 17.1.1 中弃用的字段。

network_security_policy_ref

字符串

虚拟服务的网络安全策略。

它是对 networksecuritypolicy 类型对象的引用。

nsx_securitygroup

字符串

表示可以访问虚拟服务虚拟 IP 的客户端的 NSX 服务组列表。

在 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

布尔值

如果虚拟服务关闭,则删除侦听端口。

API 或模块中未指定时的默认值由 Avi 控制器解释为 False。

选项

  • false

  • true

requests_rate_limit

字符串

限制此虚拟服务的传入请求速率。

saml_sp_config

字符串

应用程序特定的 SAML 配置。

在 18.2.3 中引入的字段。

scaleout_ecmp

布尔值

禁用虚拟服务跨服务引擎的流量重新分配。

如果网络本身在 GCP 等环境中使用 ECMP 执行流量哈希处理,则启用此功能。

API 或模块中未指定时的默认值由 Avi 控制器解释为 False。

选项

  • false

  • true

se_group_ref

字符串

用于此虚拟服务的服务引擎组。

移动到新的 SE 组会中断此 VS 的现有连接。

它是对 serviceenginegroup 类型对象的引用。

security_policy_ref

字符串

应用于虚拟服务流量的安全策略。

此策略用于执行安全操作,例如分布式拒绝服务 (DDoS) 攻击缓解等。

它是对 securitypolicy 类型对象的引用。

在 18.2.1 中引入的字段。

server_network_profile_ref

字符串

确定 TCP 代理连接服务器端的网络设置配置文件。

留空以使用与客户端到 VS 连接端相同的设置。

它是对 networkprofile 类型对象的引用。

service_metadata

字符串

与此虚拟服务提供的服务相关的元数据。

在 OpenShift/Kubernetes 环境中,存储出口 Pod 信息。

Avi Vantage 将覆盖对此字段的任何用户输入。

service_pool_select

字符串

根据目标端口选择池。

services

字符串

为此虚拟服务定义的服务列表。

sideband_profile

字符串

此虚拟服务要使用的边带配置。它可用于将流量发送到边带 VIP 进行外部检查等。

snat_ip

字符串

与服务器的上游连接的 NAT 浮动源 IP 地址。

sp_pool_refs

字符串

用于管理站点持久性功能的 GSLB 池。

每个站点持久性池都包含所有其他站点中的虚拟服务,这是由 GSLB 管理器自动生成的。

这是用户的只读字段。

它是对 pool 类型对象的引用。

在 17.2.2 中引入的字段。

ssl_key_and_certificate_refs

字符串

选择或创建将提供给 SSL/TLS 终止连接的一个或两个证书(EC 和/或 RSA)。

它是对 sslkeyandcertificate 类型对象的引用。

ssl_profile_ref

字符串

确定 SSL/TLS 终止连接要接受的 SSL 版本和密码集。

它是对 sslprofile 类型对象的引用。

ssl_profile_selectors

字符串

根据客户端 IP 地址匹配选择 SSL 配置文件。

在 18.2.3 中引入的字段。

ssl_sess_cache_avg_size

字符串

SSL 会话缓存条目的预期数量(可能会超出)。

允许的值为 1024-16383。

API 或模块中未指定时的默认值由 Avi 控制器解释为 1024。

sso_policy

字符串

虚拟服务的客户端身份验证和授权策略。

在 18.2.3 中弃用的字段。

在 18.2.1 中引入的字段。

sso_policy_ref

字符串

附加到虚拟服务的 SSO 策略。

它是对 ssopolicy 类型对象的引用。

在 18.2.3 中引入的字段。

state

字符串

应该应用于实体的状态。

选项

  • “不存在”

  • "present" ←(默认)

static_dns_records

字符串

应用于此虚拟服务的静态 DNS 记录列表。

这些是静态条目,不会对 IP 地址执行健康状况监控。

subnet

字符串

为面向客户端的虚拟服务 IP 提供可达性的子网。

在 17.1.1 中弃用的字段。

subnet_uuid

字符串

当 auto_allocate_ip 为 true 时,它表示用于虚拟服务 IP 地址分配的子网。仅适用于 OpenStack 或 AWS 云环境。

如果 auto_allocate_ip 为 true,则此字段是必需的。

在 17.1.1 中弃用的字段。

tenant

字符串

用于所有 Avi API 调用和对象上下文的租户名称。

默认值: "admin"

tenant_ref

字符串

它是对租户类型对象的引用。

tenant_uuid

字符串

用于所有 Avi API 调用和对象上下文的租户 UUID。

默认值: ""

topology_policies

字符串

基于 GSLB 拓扑算法应用于虚拟服务的 DNS 流量的拓扑策略。

在 18.2.3 中引入的字段。

traffic_clone_profile_ref

字符串

用于克隆流量的服务器网络或服务器列表。

它是对 trafficcloneprofile 类型对象的引用。

在 17.1.1 中引入的字段。

traffic_enabled

布尔值

用于在其分配的服务引擎上启用虚拟服务流量的开关。

此设置仅在 enabled 标志设置为 true 时有效。

在 17.2.8 版本中引入此字段。

API 或模块中未指定时的默认值由 Avi 控制器解释为 True。

选项

  • false

  • true

type

字符串

指定这是一个普通的虚拟服务,还是启用了 SNI 的虚拟托管虚拟服务的父级或子级。

枚举选项 - VS_TYPE_NORMAL, VS_TYPE_VH_PARENT, VS_TYPE_VH_CHILD。

当 API 或模块中未指定时,Avi 控制器将默认值解释为 VS_TYPE_NORMAL。

url

字符串

对象的 Avi 控制器 URL。

use_bridge_ip_as_vip

布尔值

在 Mesos 部署中,将桥接 IP 用作每个主机上的 VIP。

API 或模块中未指定时的默认值由 Avi 控制器解释为 False。

选项

  • false

  • true

use_vip_as_snat

布尔值

使用虚拟 IP 作为 SNAT IP,用于健康状况监控并将流量发送到后端服务器,而不是使用服务引擎接口 IP。

启用此选项的缺点是,不能在活动-活动 HA 模式下配置虚拟服务。

基于 DNS 的多 VIP 解决方案必须用于 HA 和无中断升级目的。

在 17.1.9、17.2.3 版本中引入此字段。

API 或模块中未指定时的默认值由 Avi 控制器解释为 False。

选项

  • false

  • true

用户名

字符串

用于访问 Avi 控制器的用户名。默认值是环境变量 AVI_USERNAME

uuid

字符串

虚拟服务的 UUID。

vh_domain_name

字符串

从客户端的启用 SNI 的 TLS Hello 域名字段请求的确切名称。

如果匹配,父级虚拟服务会将连接转发到此子级虚拟服务。

vh_parent_vs_uuid

字符串

指定充当虚拟托管(SNI)父级的虚拟服务。

vip

字符串

虚拟服务 IP 列表。

在创建“共享虚拟服务”时,请使用 vsvip_ref 指向共享实体。

在 17.1.1 中引入的字段。

vrf_context_ref

字符串

虚拟服务绑定到的虚拟路由上下文。

这用于隔离应用程序所连接的网络集。

它是对 vrfcontext 类型对象的引用。

vs_datascripts

字符串

应用于虚拟服务的数据流量的数据脚本。

vsvip_cloud_config_cksum

字符串

vsvip 的云配置校验和。

由云连接器内部设置。

在 17.2.9、18.1.2 版本中引入此字段。

vsvip_ref

字符串

主要用于创建共享虚拟服务期间,此字段引用可以在虚拟服务之间共享的实体。

它是对 vsvip 类型对象的引用。

在 17.1.1 中引入的字段。

waf_policy_ref

字符串

虚拟服务的 WAF 策略。

它是对 wafpolicy 类型对象的引用。

在 17.2.1 版本中引入此字段。

weight

字符串

分配给从此虚拟服务传输的流量的服务质量权重。

较高的权重将优先处理流量,而不是与其他共享同一服务引擎的虚拟服务相比。

允许的值为 1-128。

当 API 或模块中未指定时,Avi 控制器将默认值解释为 1。

注释

注意

示例

- name: Create SSL Virtual Service using Pool testpool2
  community.network.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

字典

VirtualService (api/virtualservice) 对象

返回: 成功,已更改

状态

  • 此模块将在 6.0.0 版本中删除。[已弃用]

  • 有关更多信息,请参阅 已弃用

作者

  • Gaurav Rastogi (@grastogi23)