community.network.avi_pool 模块 – 用于设置 Pool Avi RESTful 对象的模块

注意

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

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

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

要在 Playbook 中使用它,请指定: community.network.avi_pool

注意

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

已弃用

在以下版本中删除:

版本 6.0.0

原因:

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

替代方案:

未知。

概要

别名:network.avi.avi_pool

要求

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

  • avisdk

参数

参数

注释

a_pool

字符串

构成 a-b 池配置中池的容器云应用程序的名称,如果与 vs 应用程序不同。

该字段在 18.1.2 中已弃用。

ab_pool

字符串

A/b 池配置。

该字段在 18.1.2 中已弃用。

ab_priority

字符串

此池在 a-b 池对中的优先级。

内部使用。

该字段在 18.1.2 中已弃用。

analytics_policy

字符串

确定池的分析设置。

该字段在 18.1.5、18.2.1 中引入。

analytics_profile_ref

字符串

指定与分析相关的设置。

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

该字段在 18.1.4、18.2.1 中引入。

api_context

字典

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

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

api_version

字符串

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

默认: "16.4.4"

apic_epg_name

字符串

将 Cisco APIC EPG 成员与池服务器同步。

application_persistence_profile_ref

字符串

持久性将确保同一用户在所需的时间段内坚持使用同一服务器。

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

autoscale_launch_config_ref

字符串

如果配置了此项,则 Avi 将触发池服务器创建和删除的编排。

它仅支持诸如 Mesos、Openshift、Kubernetes、Docker 等容器云。

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

autoscale_networks

字符串

启动配置的网络 ID。

autoscale_policy_ref

字符串

对服务器自动缩放策略的引用。

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

avi_api_patch_op

字符串

当使用 avi_api_update_method 作为补丁时,要使用的补丁操作。

选择

  • "add"

  • "replace"

  • "delete"

avi_api_update_method

字符串

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

设置为补丁将覆盖该行为以使用 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

token

字符串

Avi 控制器 API 令牌

默认: ""

用户名

字符串

Avi 控制器用户名

avi_disable_session_cache_as_fact

布尔值

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

选择

  • false ← (默认)

  • true

容量估计

布尔值

服务器容量的内联估计。

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

选择

  • false

  • true

capacity_estimation_ttfb_thresh

字符串

服务器的最大首字节到达时间。

允许的值为 1-5000。

特殊值为 0 - “自动”。

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

cloud_config_cksum

字符串

池的云配置的校验和。

由云连接器内部设置。

cloud_ref

字符串

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

conn_pool_properties

字符串

连接池属性。

在 18.2.1 中引入的字段。

connection_ramp_duration

字符串

新连接逐渐增加到最近上线的服务器的持续时间。

对于基于最少连接的负载均衡算法很有用。

允许的值为 1-300。

特殊值为 0 - “立即”。

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

controller

字符串

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

created_by

字符串

创建者名称。

default_server_port

字符串

发送到服务器的流量将使用此目标服务器端口,除非被服务器的特定端口属性覆盖。

ssl 复选框使 Avi 能够进行服务器加密。

允许的值为 1-65535。

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

delete_server_on_dns_refresh

布尔值

指示在 DNS 主机名刷新时是禁用(false)还是删除(true)现有 IP 地址 - 在 DNS 刷新时,池上设置的一些 IP 地址

解析器可能不再返回这些 IP 地址。

当此旋钮设置为 true 时,这些 IP 地址将从池中删除。

如果将旋钮设置为 false,则会禁用它们。

在 18.2.3 中引入的字段。

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

选择

  • false

  • true

description

字符串

池的描述。

domain_name

字符串

以逗号分隔的域名列表,将用于验证服务器证书提供的公用名或主题备用名。

只有在启用公用名检查 host_check_enabled 时才会执行。

east_west

布尔值

从虚拟服务继承的配置。

选择

  • false

  • true

enabled

布尔值

启用或禁用池。

禁用将终止所有打开的连接并暂停运行状况监控。

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

选择

  • false

  • true

external_autoscale_groups

字符串

池服务器的外部自动缩放组的名称。

当前仅适用于 AWS 和 Azure。

在 17.1.2 中引入的字段。

fail_action

字符串

当发生池故障时,启用操作 - 关闭连接、HTTP 重定向或本地 HTTP 响应。

默认情况下,如果池发生故障,则将关闭连接。

fewest_tasks_feedback_delay

字符串

最少任务服务器选择算法的反馈周期。

允许的值为 1-300。

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

graceful_disable_timeout

字符串

用于优雅地禁用服务器。

虚拟服务在终止与已禁用服务器的现有连接之前等待指定的时间。

允许的值为 1-7200。

特殊值为 0 - “立即”,-1 - “无限”。

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

gslb_sp_enabled

布尔值

指示池是否为站点持久性池。

在 17.2.1 中引入的字段。

选择

  • false

  • true

health_monitor_refs

字符串

通过应用一个或多个运行状况监控器来验证服务器运行状况。

活动监控器从每个服务引擎生成综合流量,并根据响应将服务器标记为“启动”或“关闭”。

被动监控器仅侦听客户端到服务器的通信。

它会根据成功的响应提高或降低发送到服务器的流量比率。

它是对运行状况监控器类型对象的引用。

host_check_enabled

布尔值

启用服务器证书的公用名检查。

如果启用且未指定显式域名,Avi 将使用传入的主机标头进行匹配。

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

选择

  • false

  • true

inline_health_monitor

布尔值

被动监控器将监控客户端到服务器的连接和请求,并根据成功的响应调整到服务器的流量负载。

这可能会改变负载均衡方法的预期行为,例如轮询。

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

选择

  • false

  • true

ipaddrgroup_ref

字符串

使用 IP 地址组中的服务器列表。

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

lb_algorithm

字符串

负载均衡算法将从池的可用服务器列表中选择一个服务器。

枚举选项 - LB_ALGORITHM_LEAST_CONNECTIONS、LB_ALGORITHM_ROUND_ROBIN、LB_ALGORITHM_FASTEST_RESPONSE、LB_ALGORITHM_CONSISTENT_HASH、

LB_ALGORITHM_LEAST_LOAD、LB_ALGORITHM_FEWEST_SERVERS、LB_ALGORITHM_RANDOM、LB_ALGORITHM_FEWEST_TASKS、LB_ALGORITHM_NEAREST_SERVER、

LB_ALGORITHM_CORE_AFFINITY、LB_ALGORITHM_TOPOLOGY。

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

lb_algorithm_consistent_hash_hdr

字符串

用作哈希键的 HTTP 标头名称。

lb_algorithm_core_nonaffinity

字符串

基于核心关联的服务器选择的非关联度。

允许的值为 1-65535。

在 17.1.3 中引入的字段。

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

lb_algorithm_hash

字符串

用作确定客户端和服务器之间哈希的键的标准。

枚举选项 - LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS、LB_ALGORITHM_CONSISTENT_HASH_SOURCE_IP_ADDRESS_AND_PORT、

LB_ALGORITHM_CONSISTENT_HASH_URI、LB_ALGORITHM_CONSISTENT_HASH_CUSTOM_HEADER、LB_ALGORITHM_CONSISTENT_HASH_CUSTOM_STRING、

LB_ALGORITHM_CONSISTENT_HASH_CALLID。

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

lookup_server_by_name

布尔值

允许按名称查找服务器。

在 17.1.11、17.2.4 中引入的字段。

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

选择

  • false

  • true

max_concurrent_connections_per_server

字符串

允许连接到池中每个服务器的最大并发连接数。

请注意,应用的值将不小于池所在的 Service Engine 的数量。

如果设置为 0,则不应用限制。

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

max_conn_rate_per_server

字符串

限制到每个服务器的连接速率。

min_health_monitors_up

字符串

将服务器标记为“启动”的最小运行状况监控器数量。

在 18.2.1、17.2.12 中引入的字段。

min_servers_up

字符串

将池标记为“启动”的最小“启动”状态的服务器数量。

在 18.2.1、17.2.12 中引入的字段。

name

字符串 / 必需

池的名称。

networks

字符串

(内部使用)指定为包含此池服务器的网络。

可以通过过滤器进一步缩小服务器范围。

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

nsx_securitygroup

字符串

在其中创建池服务器的 NSX 服务组列表。

在 17.1.1 中引入的字段。

password

字符串

Avi 控制器中 Avi 用户的密码。默认值是环境变量 AVI_PASSWORD

pki_profile_ref

字符串

Avi 将根据选定的 PKI 配置文件验证服务器提供的 SSL 证书。

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

placement_networks

字符串

手动选择用于提供池服务器可访问性的网络和子网。

使用以下语法 10-1-1-0/24 指定子网。

当池服务器未直接连接,但可从服务引擎路由时,在 VRF 配置中使用静态路由。

prst_hdr_name

字符串

自定义标头持久性的标头名称。

该字段在 18.1.2 中已弃用。

request_queue_depth

字符串

池已满时要排队的最小请求数。

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

request_queue_enabled

布尔值

池已满时启用请求队列。

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

选择

  • false

  • true

rewrite_host_header_to_server_name

布尔值

将传入的主机标头重写为请求代理到的服务器的服务器名称。

启用此功能会为池中所有服务器的请求重写主机标头。

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

选择

  • false

  • true

rewrite_host_header_to_sni

布尔值

如果指定了 SNI 服务器名称,则将传入的主机标头重写为 SNI 服务器名称。

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

选择

  • false

  • true

server_auto_scale

布尔值

服务器自动缩放。

不再使用。

该字段在 18.1.2 中已弃用。

选择

  • false

  • true

server_count

字符串

在 18.2.1 中已弃用的字段。

server_name

字符串

如果启用了 SNI,则在服务器连接的 TLS SNI 扩展中将使用的完全限定的 DNS 主机名。

如果未指定值,Avi 将改为使用传入的主机标头。

server_reselect

字符串

HTTP 请求的服务器重新选择配置。

server_timeout

字符串

服务器超时值指定需要在 Avi 和服务器之间建立服务器连接并完成请求-响应交换的时间。

值 0 表示使用 60 分钟的默认超时。

允许的值为 0-3600000。

在 18.1.5、18.2.1 中引入的字段。

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

servers

字符串

池将负载均衡的流量定向到此目标服务器列表。

可以通过 IP 地址、名称、网络或通过 IP 地址组配置服务器。

service_metadata

字符串

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

在 OpenShift/Kubernetes 环境中,存储应用程序元数据信息。

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

在 17.2.14、18.1.5、18.2.1 中引入的字段。

sni_enabled

布尔值

为服务器连接启用 TLS SNI。

如果禁用,Avi 将不会发送 SNI 扩展作为握手的一部分。

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

选择

  • false

  • true

ssl_key_and_certificate_ref

字符串

服务引擎将向服务器提供客户端 SSL 证书。

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

ssl_profile_ref

字符串

启用后,Avi 会将流量重新加密到后端服务器。

特定的 SSL 配置文件定义将支持哪些密码和 SSL 版本。

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

state

字符串

应在实体上应用的状态。

选择

  • “缺席”

  • "存在" ← (默认)

tenant

字符串

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

默认: "admin"

tenant_ref

字符串

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

tenant_uuid

字符串

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

默认: ""

url

字符串

对象的 Avi 控制器 URL。

use_service_port

布尔值

在将连接发送到服务器时,不转换客户端的目标端口。

指定的池或服务器服务端口仍将用于运行状况监控。

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

选择

  • false

  • true

用户名

字符串

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

uuid

字符串

池的 UUID。

vrf_ref

字符串

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

这用于隔离池连接到的网络集。

池继承虚拟服务的虚拟路由上下文,此字段仅在内部使用,并由 pb-transform 设置。

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

注释

注意

示例

- name: Create a Pool with two servers and HTTP monitor
  community.network.avi_pool:
    controller: 10.10.1.20
    username: avi_user
    password: avi_password
    name: testpool1
    description: testpool1
    state: present
    health_monitor_refs:
        - '/api/healthmonitor?name=System-HTTP'
    servers:
        - ip:
            addr: 10.10.2.20
            type: V4
        - ip:
            addr: 10.10.2.21
            type: V4

- name: Patch pool with a single server using patch op and avi_credentials
  community.network.avi_pool:
    avi_api_update_method: patch
    avi_api_patch_op: delete
    avi_credentials: "{{avi_credentials}}"
    name: test-pool
    servers:
      - ip:
        addr: 10.90.64.13
        type: 'V4'
  register: pool
  when:
    - state | default("present") == "present"

返回值

常见的返回值记录在此处,以下是此模块特有的字段

描述

obj

字典

池 (api/pool) 对象

已返回: 成功, 已更改

状态

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

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

作者

  • Gaurav Rastogi (@grastogi23)