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 版本
- 原因:
此集合及其中的所有内容均未维护且已弃用。
- 替代方案:
未知。
概要
此模块用于配置 VirtualService 对象
别名:network.avi.avi_virtualservice
要求
在执行此模块的主机上需要以下要求。
avisdk
参数
参数 |
注释 |
---|---|
仅当 virtualservice 处于传统的主备 HA 模式并且启用了主备之间的负载分配时,此配置才适用。 此字段用于标记 virtualservice,以便具有相同标记的 virtualservice 将共享相同的主服务引擎。 具有不同标记的 virtualservice 将具有不同的主服务引擎。 如果服务引擎组中的一个服务引擎发生故障,所有 virtualservice 将最终使用相同的主服务引擎。 当发生故障的服务引擎恢复时,virtualservice 的重新分配可以是手动或自动的。 重新分配基于服务引擎组的自动重新分配属性。 枚举选项 - ACTIVE_STANDBY_SE_1、ACTIVE_STANDBY_SE_2。 API 或模块中未指定时的默认值由 Avi 控制器解释为 ACTIVE_STANDBY_SE_1。 |
|
即使存在无效的客户端证书,也处理请求。 需要使用数据脚本 API 来处理此类请求。 在 18.2.3 中引入的字段。 API 或模块中未指定时的默认值由 Avi 控制器解释为 False。 选项
|
|
确定应用程序的分析设置。 |
|
指定与分析相关的设置。 它是对 analytics_profile 类型对象的引用。 |
|
Avi API 上下文,包括当前会话 ID 和 CSRF 令牌。 这允许用户执行单点登录并重新使用会话。 |
|
用于 Avi API 和对象的 Avi API 版本。 默认值: |
|
与虚拟服务关联的合同/图的名称。 应采用 <合同名称> <图名称> 格式。 这仅适用于与 Cisco APIC 控制器的服务集成模式。 在 17.2.12、18.1.2 中引入的字段。 |
|
为虚拟服务启用应用程序层特定功能。 它是对 applicationprofile 类型对象的引用。 |
|
从云基础架构自动分配浮动/弹性 IP。 在 17.1.1 中弃用的字段。 选项
|
|
从提供的子网自动分配 VIP。 在 17.1.1 中弃用的字段。 选项
|
|
放置虚拟服务的可用区。 在 17.1.1 中弃用的字段。 |
|
(内部使用)Avi 在云基础架构中分配的 FIP。 在 17.1.1 中弃用的字段。 选项
|
|
(内部使用)Avi 在云基础架构中分配的 VIP。 在 17.1.1 中弃用的字段。 选项
|
|
当使用 avi_api_update_method 作为 patch 时要使用的 Patch 操作。 选项
|
|
对象更新的默认方法是 HTTP PUT。 设置为 patch 将覆盖该行为以使用 HTTP PATCH。 选项
|
|
Avi 凭据字典,可以用来代替枚举 Avi 控制器登录详细信息。 |
|
Avi 控制器版本 默认值: |
|
Avi 控制器 IP 或 SQDN |
|
Avi 控制器 API csrftoken,用于重用具有会话 ID 的现有会话 默认值: |
|
Avi 控制器密码 |
|
Avi 控制器端口 |
|
Avi 控制器 API 会话 ID,用于重用具有 csrftoken 的现有会话 默认值: |
|
Avi 控制器租户 默认值: |
|
Avi 控制器租户 UUID 默认值: |
|
Avi 控制器请求超时 默认值: |
|
Avi 控制器 API 令牌 默认值: |
|
Avi 控制器用户名 |
|
禁用将 Avi 会话信息缓存为事实。 选项
|
|
(内部使用)仅适用于 Azure。 此虚拟服务关联的 Azure 可用性集。 由云连接器内部设置。 在 17.2.12、18.1.2 中引入的字段。 |
|
(这是一个测试版功能)。 当 VS 横向扩展时,将键值缓存同步到新的 SE。 例如,SSL 会话使用 VS 的键值缓存存储。 当 VS 横向扩展时,SSL 会话信息会同步到新的 SE,允许在新的 SE 上重用现有的 SSL 会话。 在 17.2.7、18.1.1 中引入的字段。 API 或模块中未指定时的默认值由 Avi 控制器解释为 False。 选项
|
|
受保护资源的 HTTP 身份验证配置。 |
|
在 VS 配置更新时关闭客户端连接。 在 17.2.4 中引入的字段。 API 或模块中未指定时的默认值由 Avi 控制器解释为 False。 选项
|
|
VS 的云配置校验和。 由云连接器内部设置。 |
|
它是对云类型对象的引用。 |
|
枚举选项 - 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。 |
|
限制此虚拟服务的传入连接速率。 |
|
用于匹配和重写请求和/或响应正文中的字符串的配置文件。 |
|
控制器的 IP 地址或主机名。默认值为环境变量 |
|
创建者名称。 |
|
选择 QOS 公平性的算法。 这决定了多个共享同一服务引擎的虚拟服务如何在拥塞的网络上确定流量的优先级。 API 或模块中未指定时的默认值由 Avi 控制器解释为 False。 选项
|
|
用户定义的对象描述。 |
|
(内部使用)发现的网络为面向客户端的虚拟服务 IP 提供可达性。 此字段已弃用。 它是对网络类型对象的引用。 在 17.1.1 中弃用的字段。 |
|
(内部使用)发现的网络为面向客户端的虚拟服务 IP 提供可达性。 此字段由 Avi 内部使用,用户不可编辑。 在 17.1.1 中弃用的字段。 |
|
(内部使用)发现的子网为面向客户端的虚拟服务 IP 提供可达性。 此字段已弃用。 在 17.1.1 中弃用的字段。 |
|
服务发现特定数据,包括完全限定域名、类型和 DNS 记录的生存时间。 请注意,只允许使用 fqdn 和 dns_info 设置中的一个。 |
|
应用于虚拟服务 DNS 流量的 DNS 策略。 在 17.1.1 中引入的字段。 |
|
强制放置在服务组中的所有 SE 上(仅限 Mesos 模式)。 API 或模块中未指定时的默认值由 Avi 控制器解释为 False。 选项
|
|
客户端的响应流量将发送回连接的源 MAC 地址,而不是静态发送到默认网关。 API 或模块中未指定时的默认值由 Avi 控制器解释为 True。 选项
|
|
使用 VRF 上下文中的 BGP 配置启用路由运行状况注入。 选项
|
|
使用 VRF 上下文中的 BGP 配置为源 NAT 的浮动 IP 地址启用路由运行状况注入。 选项
|
|
启用或禁用虚拟服务。 API 或模块中未指定时的默认值由 Avi 控制器解释为 True。 选项
|
|
此虚拟服务要使用的错误页面配置文件。此配置文件用于将代理生成的自定义错误页面发送到客户端。 它是对 errorpageprofile 类型对象的引用。 在 17.2.4 中引入的字段。 |
|
要与此虚拟服务关联的浮动 IP。 在 17.1.1 中弃用的字段。 |
|
如果 auto_allocate_floating_ip 为 true 并且存在多个浮动 IP 子网,则用于浮动 IP 地址分配的子网。 仅当虚拟服务属于 OpenStack 或 AWS 云时,此字段才适用。 在 OpenStack 或 AWS 云中,当选择 auto_allocate_floating_ip 时,这是必需的。 在 17.1.1 中弃用的字段。 |
|
SE 之间流量分配的标准。 枚举选项 - LOAD_AWARE、CONSISTENT_HASH_SOURCE_IP_ADDRESS、CONSISTENT_HASH_SOURCE_IP_ADDRESS_AND_PORT。 API 或模块中未指定时的默认值由 Avi 控制器解释为 LOAD_AWARE。 |
|
流量标记的标准。 枚举选项 - NO_LABEL、APPLICATION_LABEL、SERVICE_LABEL。 API 或模块中未指定时的默认值由 Avi 控制器解释为 NO_LABEL。 |
|
虚拟服务的 DNS 可解析完全限定域名。 只允许使用 ‘fqdn’ 和 ‘dns_info’ 配置中的一个。 |
|
将发送到服务器的主机名转换为此值。 将从服务器发送的主机名转换回客户端使用的值。 |
|
应用于虚拟服务数据流量的 HTTP 策略。 |
|
忽略虚拟服务放置的池服务器网络可达性约束。 API 或模块中未指定时的默认值由 Avi 控制器解释为 False。 选项
|
|
虚拟服务的 IP 地址。 在 17.1.1 中弃用的字段。 |
|
IPAM 提供程序模块用于分配虚拟服务 IP 的子网和/或网络。 在 17.1.1 中弃用的字段。 |
|
应用于虚拟服务数据流量的 L4 策略。 在 17.2.7 中引入的字段。 |
|
将超过 max_cps_per_client 的潜在 DOS 攻击者在一段时间内限制为 max_cps_per_client 的一小部分。 API 或模块中未指定时的默认值由 Avi 控制器解释为 False。 选项
|
|
每个客户端 IP 的最大每秒连接数。 允许的值为 10-1000。 特殊值为 0- “无限”。 API 或模块中未指定时的默认值由 Avi 控制器解释为 0。 |
|
表示虚拟服务的微服务。 它是对微服务类型对象的引用。 |
|
将 VS 标记为启动的最少启动池数。 在 18.2.1、17.2.12 中引入的字段。 |
|
虚拟服务的名称。 |
|
确定网络设置,例如协议、TCP 或 UDP 以及该协议的相关选项。 它是对 networkprofile 类型对象的引用。 |
|
手动覆盖放置虚拟服务的网络。 它是对网络类型对象的引用。 在 17.1.1 中弃用的字段。 |
|
虚拟服务的网络安全策略。 它是对 networksecuritypolicy 类型对象的引用。 |
|
表示可以访问虚拟服务虚拟 IP 的客户端的 NSX 服务组列表。 在 17.1.1 中引入的字段。 |
|
Avi 控制器中 Avi 用户的密码。默认值为环境变量 |
|
确定最大连接数或带宽等性能限制的可选设置。 |
|
池组是包含池的对象。 它是对 poolgroup 类型对象的引用。 |
|
池是包含目标服务器以及负载平衡和持久性等相关属性的对象。 它是对 pool 类型对象的引用。 |
|
(内部使用)分配给虚拟服务 IP 地址的网络端口。 在 17.1.1 中弃用的字段。 |
|
如果虚拟服务关闭,则删除侦听端口。 API 或模块中未指定时的默认值由 Avi 控制器解释为 False。 选项
|
|
限制此虚拟服务的传入请求速率。 |
|
应用程序特定的 SAML 配置。 在 18.2.3 中引入的字段。 |
|
禁用虚拟服务跨服务引擎的流量重新分配。 如果网络本身在 GCP 等环境中使用 ECMP 执行流量哈希处理,则启用此功能。 API 或模块中未指定时的默认值由 Avi 控制器解释为 False。 选项
|
|
用于此虚拟服务的服务引擎组。 移动到新的 SE 组会中断此 VS 的现有连接。 它是对 serviceenginegroup 类型对象的引用。 |
|
应用于虚拟服务流量的安全策略。 此策略用于执行安全操作,例如分布式拒绝服务 (DDoS) 攻击缓解等。 它是对 securitypolicy 类型对象的引用。 在 18.2.1 中引入的字段。 |
|
确定 TCP 代理连接服务器端的网络设置配置文件。 留空以使用与客户端到 VS 连接端相同的设置。 它是对 networkprofile 类型对象的引用。 |
|
与此虚拟服务提供的服务相关的元数据。 在 OpenShift/Kubernetes 环境中,存储出口 Pod 信息。 Avi Vantage 将覆盖对此字段的任何用户输入。 |
|
根据目标端口选择池。 |
|
为此虚拟服务定义的服务列表。 |
|
此虚拟服务要使用的边带配置。它可用于将流量发送到边带 VIP 进行外部检查等。 |
|
与服务器的上游连接的 NAT 浮动源 IP 地址。 |
|
用于管理站点持久性功能的 GSLB 池。 每个站点持久性池都包含所有其他站点中的虚拟服务,这是由 GSLB 管理器自动生成的。 这是用户的只读字段。 它是对 pool 类型对象的引用。 在 17.2.2 中引入的字段。 |
|
选择或创建将提供给 SSL/TLS 终止连接的一个或两个证书(EC 和/或 RSA)。 它是对 sslkeyandcertificate 类型对象的引用。 |
|
确定 SSL/TLS 终止连接要接受的 SSL 版本和密码集。 它是对 sslprofile 类型对象的引用。 |
|
根据客户端 IP 地址匹配选择 SSL 配置文件。 在 18.2.3 中引入的字段。 |
|
SSL 会话缓存条目的预期数量(可能会超出)。 允许的值为 1024-16383。 API 或模块中未指定时的默认值由 Avi 控制器解释为 1024。 |
|
虚拟服务的客户端身份验证和授权策略。 在 18.2.3 中弃用的字段。 在 18.2.1 中引入的字段。 |
|
附加到虚拟服务的 SSO 策略。 它是对 ssopolicy 类型对象的引用。 在 18.2.3 中引入的字段。 |
|
应该应用于实体的状态。 选项
|
|
应用于此虚拟服务的静态 DNS 记录列表。 这些是静态条目,不会对 IP 地址执行健康状况监控。 |
|
为面向客户端的虚拟服务 IP 提供可达性的子网。 在 17.1.1 中弃用的字段。 |
|
当 auto_allocate_ip 为 true 时,它表示用于虚拟服务 IP 地址分配的子网。仅适用于 OpenStack 或 AWS 云环境。 如果 auto_allocate_ip 为 true,则此字段是必需的。 在 17.1.1 中弃用的字段。 |
|
用于所有 Avi API 调用和对象上下文的租户名称。 默认值: |
|
它是对租户类型对象的引用。 |
|
用于所有 Avi API 调用和对象上下文的租户 UUID。 默认值: |
|
基于 GSLB 拓扑算法应用于虚拟服务的 DNS 流量的拓扑策略。 在 18.2.3 中引入的字段。 |
|
用于克隆流量的服务器网络或服务器列表。 它是对 trafficcloneprofile 类型对象的引用。 在 17.1.1 中引入的字段。 |
|
用于在其分配的服务引擎上启用虚拟服务流量的开关。 此设置仅在 enabled 标志设置为 true 时有效。 在 17.2.8 版本中引入此字段。 API 或模块中未指定时的默认值由 Avi 控制器解释为 True。 选项
|
|
指定这是一个普通的虚拟服务,还是启用了 SNI 的虚拟托管虚拟服务的父级或子级。 枚举选项 - VS_TYPE_NORMAL, VS_TYPE_VH_PARENT, VS_TYPE_VH_CHILD。 当 API 或模块中未指定时,Avi 控制器将默认值解释为 VS_TYPE_NORMAL。 |
|
对象的 Avi 控制器 URL。 |
|
在 Mesos 部署中,将桥接 IP 用作每个主机上的 VIP。 API 或模块中未指定时的默认值由 Avi 控制器解释为 False。 选项
|
|
使用虚拟 IP 作为 SNAT IP,用于健康状况监控并将流量发送到后端服务器,而不是使用服务引擎接口 IP。 启用此选项的缺点是,不能在活动-活动 HA 模式下配置虚拟服务。 基于 DNS 的多 VIP 解决方案必须用于 HA 和无中断升级目的。 在 17.1.9、17.2.3 版本中引入此字段。 API 或模块中未指定时的默认值由 Avi 控制器解释为 False。 选项
|
|
用于访问 Avi 控制器的用户名。默认值是环境变量 |
|
虚拟服务的 UUID。 |
|
从客户端的启用 SNI 的 TLS Hello 域名字段请求的确切名称。 如果匹配,父级虚拟服务会将连接转发到此子级虚拟服务。 |
|
指定充当虚拟托管(SNI)父级的虚拟服务。 |
|
虚拟服务 IP 列表。 在创建“共享虚拟服务”时,请使用 vsvip_ref 指向共享实体。 在 17.1.1 中引入的字段。 |
|
虚拟服务绑定到的虚拟路由上下文。 这用于隔离应用程序所连接的网络集。 它是对 vrfcontext 类型对象的引用。 |
|
应用于虚拟服务的数据流量的数据脚本。 |
|
vsvip 的云配置校验和。 由云连接器内部设置。 在 17.2.9、18.1.2 版本中引入此字段。 |
|
主要用于创建共享虚拟服务期间,此字段引用可以在虚拟服务之间共享的实体。 它是对 vsvip 类型对象的引用。 在 17.1.1 中引入的字段。 |
|
虚拟服务的 WAF 策略。 它是对 wafpolicy 类型对象的引用。 在 17.2.1 版本中引入此字段。 |
|
分配给从此虚拟服务传输的流量的服务质量权重。 较高的权重将优先处理流量,而不是与其他共享同一服务引擎的虚拟服务相比。 允许的值为 1-128。 当 API 或模块中未指定时,Avi 控制器将默认值解释为 1。 |
注释
注意
有关使用 Ansible 管理 Avi 网络设备的更多信息,请参阅 https://ansible.org.cn/ansible-avi-networks。
示例
- 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'
返回值
通用返回值记录在此处,以下是此模块独有的字段
键 |
描述 |
---|---|
VirtualService (api/virtualservice) 对象 返回: 成功,已更改 |
状态
此模块将在 6.0.0 版本中删除。[已弃用]
有关更多信息,请参阅 已弃用。