f5networks.f5_modules.bigip_gtm_wide_ip 模块 – 管理 F5 BIG-IP GTM 广域 IP

注意

此模块是 f5networks.f5_modules 集合(版本 1.32.1)的一部分。

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

要安装它,请使用:ansible-galaxy collection install f5networks.f5_modules

要在剧本中使用它,请指定:f5networks.f5_modules.bigip_gtm_wide_ip

f5networks.f5_modules 1.0.0 中的新增功能

概要

  • 管理 F5 BIG-IP GTM(现在为 BIG-IP DNS)广域 IP。

参数

参数

注释

别名

列表 / 元素=字符串

指定您正在负载平衡的网站内容的可选域名。

您可以为别名使用与实际广域 IP 名称相同的通配符。

irules

列表 / 元素=字符串

要应用的规则列表。

如果要删除所有现有 iRule,请指定单个空值; ""。请参阅文档中的示例。

last_resort_pool

字符串

指定系统将哪个 GTM 池用作广域 IP 的最后手段池。

此参数的有效池是此模块中指定的 type 的池。

名称

别名:wide_ip

字符串 / 必需

广域 IP 名称。此名称必须格式化为完全限定域名 (FQDN)。您也可以使用别名 wide_ip,但此别名已弃用,将在未来的 Ansible 版本中删除。

分区

字符串

用于管理资源的设备分区。

默认值:"Common"

persist_cidr_ipv4

整数

指定用于对 IPv4 LDNS 地址进行分组的掩码。此功能允许在此掩码内匹配的 LDNS 地址共享一个持久性记录。

persist_cidr_ipv6

整数

指定用于对 IPv6 LDNS 地址进行分组的掩码。此功能允许在此掩码内匹配的 LDNS 地址共享一个持久性记录。

持久性

布尔值

true 时,确保当本地 DNS 代表客户端发出重复请求时,系统会将客户端重新连接到与先前请求相同的资源。

false 时,确保重复请求不会将客户端重新连接到相同的资源。

选项

  • false

  • true

persistence_ttl

整数

指定在本地 DNS 和特定虚拟服务器之间维护连接的时间。

pool_lb_method

别名:lb_method

字符串

指定用于在此广域 IP 中选择池的负载平衡方法。此设置仅在为广域 IP 配置多个池时相关。

选项

  • "轮循"

  • "比例"

  • "拓扑"

  • "全局可用性"

列表 / 元素=字典

您希望与广域 IP 关联的池。

如果在创建新的广域 IP 时未提供 ratio,则默认值为 1。

名称

字符串 / 必需

要包含的池的名称。

顺序

整数

池相对于附加到此广域 IP 的其他池的顺序。

当使用全局可用性负载平衡方法时,池顺序很重要。

当未提供 order 时,模块会为其赋值 0

比例

整数

池的比例。

系统将此数字与比例负载平衡方法一起使用。

当未提供 ratio 时,模块会为其赋值 0

提供程序

字典

在 f5networks.f5_modules 1.0.0 中添加

包含连接详细信息的 dict 对象。

auth_provider

字符串

配置身份验证提供程序以从远程设备获取身份验证令牌。

此选项主要在与 BIG-IQ 设备一起工作时使用。

no_f5_teem

布尔值

如果为 yes,则不会将 TEEM 遥测数据发送到 F5。

您可以通过设置环境变量 F5_TELEMETRY_OFF 来省略此选项。

以前使用的变量 F5_TEEM 已弃用,因为它的名称容易混淆。

选项

  • false ← (默认)

  • true

密码

别名:pass、pwd

字符串 / 必需

用于连接到 BIG-IP 或 BIG-IQ 的用户帐户的密码。

您可以通过设置环境变量 F5_PASSWORD 来省略此选项。

服务器

字符串 / 必需

BIG-IP 主机或 BIG-IQ 主机。

您可以通过设置环境变量 F5_SERVER 来省略此选项。

server_port

整数

BIG-IP 服务器端口。

您可以通过设置环境变量 F5_SERVER_PORT 来省略此选项。

默认值: 443

timeout

整数

指定与网络设备通信(连接或发送命令)的超时时间,以秒为单位。如果在操作完成之前超时,模块将报错。

transport

字符串

配置连接到远程设备时使用的传输连接方式。

选项

  • "rest" ← (默认)

user

字符串 / 必需

连接到 BIG-IP 或 BIG-IQ 的用户名。该用户必须在设备上具有管理权限。

您可以通过设置环境变量 F5_USER 来省略此选项。

validate_certs

布尔值

如果设置为 no,则不验证 SSL 证书。仅当在个人控制的站点上使用自签名证书时才使用此选项。

您可以通过设置环境变量 F5_VALIDATE_CERTS 来省略此选项。

选项

  • false

  • true ← (默认)

state

字符串

当设置为 presentenabled 时,确保 Wide IP 存在且已启用。

当设置为 absent 时,确保 Wide IP 已被删除。

当设置为 disabled 时,确保 Wide IP 存在且已禁用。

选项

  • "present" ← (默认)

  • "absent"

  • "disabled"

  • "enabled"

type

字符串 / 必需

指定 Wide IP 的类型。GTM Wide IP 除了名称之外,还需要通过查询类型进行键控,因为池成员需要根据它们旨在提供的响应 RDATA 使用不同的属性。

选项

  • "a"

  • "aaaa"

  • "cname"

  • "mx"

  • "naptr"

  • "srv"

注意

注意

  • 有关使用 Ansible 管理 F5 网络设备的更多信息,请参阅 https://ansible.org.cn/integrations/networks/f5

  • 需要 BIG-IP 软件版本 >= 12。

  • F5 模块仅操作 F5 产品的运行配置。为确保 BIG-IP 的特定配置持久保存到磁盘,请务必至少包含一个使用 f5networks.f5_modules.bigip_config 模块保存运行配置的任务。有关如何正确使用该模块来保存运行配置,请参阅该模块的文档。

示例

- name: Set lb method
  bigip_gtm_wide_ip:
    pool_lb_method: round-robin
    name: my-wide-ip.example.com
    type: a
    provider:
      user: admin
      password: secret
      server: lb.mydomain.com
  delegate_to: localhost

- name: Add iRules to the Wide IP
  bigip_gtm_wide_ip:
    pool_lb_method: round-robin
    name: my-wide-ip.example.com
    type: a
    irules:
      - irule1
      - irule2
    provider:
      user: admin
      password: secret
      server: lb.mydomain.com
  delegate_to: localhost

- name: Remove one iRule from the Virtual Server
  bigip_gtm_wide_ip:
    pool_lb_method: round-robin
    name: my-wide-ip.example.com
    type: a
    irules:
      - irule1
    provider:
      user: admin
      password: secret
      server: lb.mydomain.com
  delegate_to: localhost

- name: Remove all iRules from the Virtual Server
  bigip_gtm_wide_ip:
    pool_lb_method: round-robin
    name: my-wide-ip.example.com
    type: a
    irules: ""
    provider:
      user: admin
      password: secret
      server: lb.mydomain.com
  delegate_to: localhost

- name: Assign a pool with ratio to the Wide IP
  bigip_gtm_wide_ip:
    pool_lb_method: round-robin
    name: my-wide-ip.example.com
    type: a
    pools:
      - name: pool1
        ratio: 100
        order: 2
      - name: pool1
        ratio: 100
        order: 1
    provider:
      user: admin
      password: secret
      server: lb.mydomain.com
  delegate_to: localhost

- name: Assign a pool with persistence to the Wide IP
  bigip_gtm_wide_ip:
    pool_lb_method: round-robin
    name: my-wide-ip.example.com
    type: a
    pools:
      - name: pool1
        persistence: true
        persist_cidr_ipv4: 24
        persist_cidr_ipv6: 120
        persistence_ttl: 3500
    provider:
      user: admin
      password: secret
      server: lb.mydomain.com
  delegate_to: localhost

返回值

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

Key

描述

别名

列表 / 元素=字符串

在 Wide IP 上设置的别名。

返回值: changed

示例: ["alias1.foo.com", "*.wildcard.domain"]

irules

列表 / 元素=字符串

在 Wide IP 上设置的 iRule。

返回值: changed

示例: ["/Common/irule1", "/Common/irule2"]

lb_method

字符串

Wide IP 使用的新负载均衡方法。

返回值: changed

示例: "topology"

persist_cidr_ipv4

整数

用于对 IPv4 LDNS 地址进行分组的掩码。

返回值: changed

示例: 32

persist_cidr_ipv6

整数

用于对 IPv6 LDNS 地址进行分组的掩码。

返回值: changed

示例: 128

持久性

布尔值

是否持久化池连接。

返回值: changed

示例: false

persistence_ttl

整数

指定本地 DNS 和特定虚拟服务器之间的持久性 TTL。

返回值: changed

示例: 3600

state

字符串

Wide IP 的新状态。

返回值: changed

示例: "disabled"

作者

  • Tim Rupp (@caphrim007)

  • Wojciech Wypior (@wojtek0806)