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。 |
|
即使提供了无效的客户端证书,也处理请求。 需要使用 Datascript API 来处理此类请求。 该字段在 18.2.3 中引入。 当未在 API 或模块中指定时,默认值由 Avi 控制器解释为 False。 选项
|
|
确定应用程序的分析设置。 |
|
指定与分析相关的设置。 它是对 analyticsprofile 类型对象的引用。 |
|
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 中引入的字段。 |
|
(这是一个 Beta 功能)。 当虚拟服务横向扩展时,将键值缓存同步到新的 SE。 例如,SSL 会话使用虚拟服务的键值缓存存储。 当虚拟服务横向扩展时,SSL 会话信息将同步到新的 SE,允许在新的 SE 上重用现有的 SSL 会话。 在 17.2.7, 18.1.1 中引入的字段。 当未在 API 或模块中指定时,默认值由 Avi 控制器解释为 False。 选项
|
|
用于保护资源的 HTTP 身份验证配置。 |
|
在虚拟服务配置更新时关闭客户端连接。 在 17.2.4 中引入的字段。 当未在 API 或模块中指定时,默认值由 Avi 控制器解释为 False。 选项
|
|
虚拟服务的云配置校验和。 由云连接器内部设置。 |
|
它是对云类型对象的引用。 |
|
枚举选项 - 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 中引入的字段。 |
|
将潜在的 DOS 攻击者(其超过 max_cps_per_client 的幅度很大)在一段时间内限制为 max_cps_per_client 的一小部分。 当未在 API 或模块中指定时,默认值由 Avi 控制器解释为 False。 选项
|
|
每个客户端 IP 的最大每秒连接数。 允许的值为 10-1000。 特殊值为 0- ‘无限’。 当在 API 或模块中未指定时,默认值由 Avi 控制器解释为 0。 |
|
表示虚拟服务的微服务。 它是对微服务类型对象的引用。 |
|
将虚拟服务标记为正常运行的最小正常运行池数。 在 18.2.1, 17.2.12 中引入的字段。 |
|
虚拟服务的名称。 |
|
确定网络设置,例如协议、TCP 或 UDP 以及协议的相关选项。 它是对 networkprofile 类型对象的引用。 |
|
手动覆盖放置虚拟服务的网络。 它是对网络类型对象的引用。 该字段在 17.1.1 中已弃用。 |
|
虚拟服务的网络安全策略。 它是对 networksecuritypolicy 类型对象的引用。 |
|
表示可以访问虚拟服务虚拟 IP 的客户端的 NSX 服务组列表。 在 17.1.1 中引入的字段。 |
|
Avi 控制器中 Avi 用户的密码。默认值为环境变量 |
|
确定性能限制的可选设置,例如最大连接数或带宽等。 |
|
池组是包含池的对象。 它是对 poolgroup 类型对象的引用。 |
|
池是包含目标服务器和相关属性(例如负载平衡和持久性)的对象。 它是对池类型对象的引用。 |
|
(内部使用)分配给虚拟服务 IP 地址的网络端口。 该字段在 17.1.1 中已弃用。 |
|
如果虚拟服务已关闭,则移除监听端口。 当未在 API 或模块中指定时,默认值由 Avi 控制器解释为 False。 选项
|
|
限制此虚拟服务的入站请求速率。 |
|
应用程序特定的 SAML 配置。 该字段在 18.2.3 中引入。 |
|
禁用跨虚拟服务服务引擎的流量重新分配。 如果在诸如 GCP 等环境中网络本身执行使用 ECMP 的流量哈希,则启用此设置。 当未在 API 或模块中指定时,默认值由 Avi 控制器解释为 False。 选项
|
|
用于此虚拟服务的服务引擎组。 移动到新的 SE 组会对该虚拟服务的现有连接造成中断。 它是对 serviceenginegroup 类型对象的引用。 |
|
应用于虚拟服务流量的安全策略。 此策略用于执行安全操作,例如分布式拒绝服务 (DDoS) 攻击缓解等。 它是对 securitypolicy 类型对象的引用。 在 18.2.1 中引入的字段。 |
|
确定 TCP 代理连接服务器端的网络设置配置文件。 留空以使用与客户端到虚拟服务连接端相同的设置。 它是对 networkprofile 类型对象的引用。 |
|
与此虚拟服务提供的服务相关的元数据。 在 OpenShift/Kubernetes 环境中,会存储出口 Pod 信息。 Avi Vantage 将覆盖此字段的任何用户输入。 |
|
根据目标端口选择池。 |
|
为此虚拟服务定义的服务的列表。 |
|
用于此虚拟服务的旁路配置。它可用于将流量发送到旁路 VIP 以进行外部检查等。 |
|
用于向上游连接到服务器的 NAT 浮动源 IP 地址。 |
|
用于管理站点持久性功能的 GSLB 池。 每个站点持久性池都包含所有其他站点中的虚拟服务,这些虚拟服务由 GSLB 管理器自动生成。 这是用户的只读字段。 它是对池类型对象的引用。 在 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 调用和对象上下文的租户名称。 默认值: |
|
它是对 tenant 类型对象的引用。 |
|
用于所有 Avi API 调用和对象上下文的租户 UUID。 默认值: |
|
根据 GSLB 拓扑算法应用于虚拟服务 DNS 流量的拓扑策略。 该字段在 18.2.3 中引入。 |
|
用于克隆流量的服务器网络或服务器列表。 它是对 trafficcloneprofile 类型对象的引用。 在 17.1.1 中引入的字段。 |
|
启用其分配的服务引擎上的虚拟服务流量的旋钮。 仅当启用标志设置为 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 用作每个主机上的虚拟 IP。 当未在 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) 对象 返回: success,changed |
状态
此模块将在 6.0.0 版本中移除。[已弃用]
有关更多信息,请参阅 已弃用。