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

布尔值

即使提供了无效的客户端证书,也处理请求。

需要使用 Datascript API 来处理此类请求。

该字段在 18.2.3 中引入。

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

选项

  • false

  • true

analytics_policy

字符串

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

analytics_profile_ref

字符串

指定与分析相关的设置。

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

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"

控制器

字符串

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

token

字符串

Avi 控制器 API 令牌

默认值: ""

username

字符串

Avi 控制器用户名

avi_disable_session_cache_as_fact

布尔值

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

选项

  • false ← (默认)

  • true

azure_availability_set

字符串

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

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

由云连接器内部设置。

在 17.2.12, 18.1.2 中引入的字段。

bulk_sync_kvcache

布尔值

(这是一个 Beta 功能)。

当虚拟服务横向扩展时,将键值缓存同步到新的 SE。

例如,SSL 会话使用虚拟服务的键值缓存存储。

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

在 17.2.7, 18.1.1 中引入的字段。

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

选项

  • false

  • true

client_auth

字符串

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

close_client_conn_on_config_update

布尔值

在虚拟服务配置更新时关闭客户端连接。

在 17.2.4 中引入的字段。

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

选项

  • false

  • true

cloud_config_cksum

字符串

虚拟服务的云配置校验和。

由云连接器内部设置。

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

字符串

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

控制器

字符串

控制器的 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

布尔值

将潜在的 DOS 攻击者(其超过 max_cps_per_client 的幅度很大)在一段时间内限制为 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

字符串

将虚拟服务标记为正常运行的最小正常运行池数。

在 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

字符串

池是包含目标服务器和相关属性(例如负载平衡和持久性)的对象。

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

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 组会对该虚拟服务的现有连接造成中断。

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

security_policy_ref

字符串

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

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

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

在 18.2.1 中引入的字段。

server_network_profile_ref

字符串

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

留空以使用与客户端到虚拟服务连接端相同的设置。

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

service_metadata

字符串

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

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

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

service_pool_select

字符串

根据目标端口选择池。

services

字符串

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

sideband_profile

字符串

用于此虚拟服务的旁路配置。它可用于将流量发送到旁路 VIP 以进行外部检查等。

snat_ip

字符串

用于向上游连接到服务器的 NAT 浮动源 IP 地址。

sp_pool_refs

字符串

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

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

这是用户的只读字段。

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

在 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

字符串

应应用于实体的状态。

选项

  • "absent"

  • "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 类型对象的引用。

tenant_uuid

字符串

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

默认值: ""

topology_policies

字符串

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

该字段在 18.2.3 中引入。

traffic_clone_profile_ref

字符串

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

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

在 17.1.1 中引入的字段。

traffic_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 用作每个主机上的虚拟 IP。

当未在 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

username

字符串

用于访问 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) 对象

返回: success,changed

状态

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

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

作者

  • Gaurav Rastogi (@grastogi23)