f5networks.f5_modules.bigip_pool_member 模块 – 管理 F5 BIG-IP LTM 池成员
注意
此模块是 f5networks.f5_modules 集合 (版本 1.32.1) 的一部分。
如果您正在使用 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用: ansible-galaxy collection install f5networks.f5_modules。
要在剧本中使用它,请指定: f5networks.f5_modules.bigip_pool_member。
f5networks.f5_modules 1.0.0 中的新增功能
概要
- 通过 REST API 管理 F5 BIG-IP LTM 池成员。 
参数
| 参数 | 注释 | 
|---|---|
| 池成员的 IP 地址。可以是 IPv4 或 IPv6。创建新的池成员时,必须提供  | |
| 要创建、修改或删除的池成员定义列表。 使用  模块将**不会**回滚其在遇到错误之前所做的任何更改。 模块也不会指示在失败之前进行了哪些更改。因此,我们强烈建议您在  | |
| 池成员的 IP 地址。可以是 IPv4 或 IPv6。创建新的池成员时,必须提供  | |
| 如果您激活了多个运行状况监控器,则指定必须接收成功响应才能将链接视为可用的运行状况监控器的数量。 指定空字符串将删除监控器并恢复为从池继承(默认值)。 指定  | |
| 指定在将链接视为已启动之前必须成功的活动运行状况监控器的最小数量。 此参数仅在使用  如果使用  | |
| 指定  创建新池时,如果未指定此值,则将使用默认值  选项 
 | |
| 池成员连接限制。将其设置为  | |
| 池成员描述。 | |
| 池成员的 FQDN 名称。这可以是任何有效的 RFC 1123 DNS 名称。因此,唯一可用的字符是“A”到“Z”,“a”到“z”,“0”到“9”,连字符(“-”)和句点(“.”)。 FQDN 名称必须包含至少一个句点;将主机与域分隔开。例如, FQDN 名称必须以字母或数字结尾。 创建新的池成员时,必须提供  | |
| 指定系统是否使用由对由 FQDN 定义的节点的 DNS 查询返回的 IP 地址自动创建临时节点。 当  当  创建新的池成员时,此参数的默认值为  设置此参数后,之后无法更改。 当  选项 
 | |
| 指定出站数据包(从 BIG-IP 系统到服务器池成员)的 IP 封装,可以使用 IPIP(IP 在 IP 中的封装,RFC 2003)或 GRE(通用路由器封装,RFC 2784)。 当  当  当为任何其他值时,选项包括无、从池继承和成员特定。 | |
| 指定系统当前用于监视此资源的健康检查器。 | |
| 创建新的池成员时要创建或重复使用的节点的名称。 虽然此参数是可选的,但我们建议始终指定此参数以减轻任何意外行为。 如果未指定,则会根据指定的  
 | |
| 用于管理资源的分区。 默认值:  | |
| 池成员端口。 设置此值后,无法更改。 使用聚合时必须提供此参数。 | |
| 当状态为  如果其他池成员仍在引用该节点,则不会删除该节点。如果发生这种情况,模块不会引发错误。 将其设置为  选项 
 | |
| 指定表示池成员优先级组的数字。 添加新成员时,默认为  要指定优先级,必须在创建新的池或添加或删除池成员时激活优先级组的使用。激活后,系统会根据分配给池成员的优先级组号进行流量负载均衡。 数字越大,优先级越高。因此,优先级为 3 的成员比优先级为 1 的成员优先级高。 | |
| 池成员速率限制(每秒连接数)。将其设置为  | |
| 池成员比率权重。有效值范围为 1 到 100。新的池成员(除非使用此值覆盖)默认为 1。 | |
| 根据请求重用节点定义。 选项 
 | |
| 池成员状态。 选项 
 | |
| 如果您激活了多个运行状况监控器,则指定必须接收成功响应才能将链接视为可用的运行状况监控器的数量。 指定空字符串将删除监控器并恢复为从池继承(默认值)。 指定  | |
| 指定在将链接视为已启动之前必须成功的活动运行状况监控器的最小数量。 此参数仅在使用  如果使用  | |
| 指定  创建新池时,如果未指定此值,则将使用默认值  选项 
 | |
| 池成员连接限制。将其设置为  | |
| 池成员描述。 | |
| 池成员的 FQDN 名称。这可以是任何有效的 RFC 1123 DNS 名称。因此,唯一可用的字符是“A”到“Z”,“a”到“z”,“0”到“9”,连字符(“-”)和句点(“.”)。 FQDN 名称必须包含至少一个句点;将主机与域分隔开。例如, FQDN 名称必须以字母或数字结尾。 创建新的池成员时,必须提供  | |
| 指定系统是否使用由对由 FQDN 定义的节点的 DNS 查询返回的 IP 地址自动创建临时节点。 当  当  创建新的池成员时,此参数的默认值为  设置此参数后,之后无法更改。 当  选项 
 | |
| 指定出站数据包(从 BIG-IP 系统到服务器池成员)的 IP 封装,可以使用 IPIP(IP 在 IP 中的封装,RFC 2003)或 GRE(通用路由器封装,RFC 2784)。 当  当  当为任何其他值时,选项包括无、从池继承和成员特定。 | |
| 指定系统当前用于监视此资源的健康检查器。 | |
| 创建新的池成员时要创建或重复使用的节点的名称。 虽然此参数是可选的,但我们建议始终指定此参数以减轻任何意外行为。 如果未指定,则会根据指定的  
 | |
| 用于管理资源的分区。 默认值:  | |
| 池名称。此池必须存在。 | |
| 池成员端口。 设置此值后,无法更改。 使用聚合时必须提供此参数。 | |
| 当状态为  如果其他池成员仍在引用该节点,则不会删除该节点。如果发生这种情况,模块不会引发错误。 将其设置为  选项 
 | |
| 指定表示池成员优先级组的数字。 添加新成员时,默认为  要指定优先级,必须在创建新的池或添加或删除池成员时激活优先级组的使用。激活后,系统会根据分配给池成员的优先级组号进行流量负载均衡。 数字越大,优先级越高。因此,优先级为 3 的成员比优先级为 1 的成员优先级高。 | |
| 包含连接详细信息的字典对象。 | |
| 配置 auth 提供程序以从远程设备获取身份验证令牌。 此选项在使用 BIG-IQ 设备时非常有用。 | |
| 如果  您可以通过设置环境变量  以前使用的变量  选项 
 | |
| 用于连接到 BIG-IP 或 BIG-IQ 的用户帐户的密码。 您可以通过设置环境变量  | |
| BIG-IP 主机或 BIG-IQ 主机。 您可以通过设置环境变量  | |
| BIG-IP 服务器端口。 您可以通过设置环境变量  默认值:  | |
| 指定与网络设备通信的超时时间(以秒为单位),用于连接或发送命令。如果在操作完成之前超时,模块将出错。 | |
| 配置连接到远程设备时要使用的传输连接。 选项 
 | |
| 连接到 BIG-IP 或 BIG-IQ 的用户名。此用户必须具有设备上的管理员权限。 您可以通过设置环境变量  | |
| 如果  您可以通过设置环境变量  选项 
 | |
| 池成员速率限制(每秒连接数)。将其设置为  | |
| 池成员比率权重。有效值范围为 1 到 100。新的池成员(除非使用此值覆盖)默认为 1。 | |
| 删除  此操作是全有或全无的,这意味着如果某些池成员无法删除,它将停止。 选项 
 | |
| 根据请求重用节点定义。 选项 
 | |
| 池成员状态。 选项 
 | 
备注
注意
- 有关使用 Ansible 管理 F5 网络设备的更多信息,请参见 https://ansible.org.cn/integrations/networks/f5。 
- 需要 BIG-IP 软件版本 >= 12。 
- F5 模块仅操作 F5 产品的运行配置。为确保 BIG-IP 特定配置持久保存到磁盘,请务必包含至少一项使用 f5networks.f5_modules.bigip_config 模块保存运行配置的任务。请参阅模块的文档,了解保存运行配置的模块的正确使用方法。 
示例
- name: Add pool member
  bigip_pool_member:
    pool: my-pool
    partition: Common
    name: my-member
    host: "{{ ansible_default_ipv4['address'] }}"
    port: 80
    description: web server
    connection_limit: 100
    rate_limit: 50
    ratio: 2
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost
- name: Modify pool member ratio and description
  bigip_pool_member:
    pool: my-pool
    partition: Common
    name: my-member
    host: "{{ ansible_default_ipv4['address'] }}"
    port: 80
    ratio: 1
    description: nginx server
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost
- name: Remove pool member from pool
  bigip_pool_member:
    state: absent
    pool: my-pool
    partition: Common
    name: my-member
    host: "{{ ansible_default_ipv4['address'] }}"
    port: 80
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost
- name: Force pool member offline
  bigip_pool_member:
    state: forced_offline
    pool: my-pool
    partition: Common
    name: my-member
    host: "{{ ansible_default_ipv4['address'] }}"
    port: 80
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost
- name: Create members with priority groups
  bigip_pool_member:
    pool: my-pool
    partition: Common
    host: "{{ item.address }}"
    name: "{{ item.name }}"
    priority_group: "{{ item.priority_group }}"
    port: 80
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost
  loop:
    - address: 1.1.1.1
      name: web1
      priority_group: 4
    - address: 2.2.2.2
      name: web2
      priority_group: 3
    - address: 3.3.3.3
      name: web3
      priority_group: 2
    - address: 4.4.4.4
      name: web4
      priority_group: 1
- name: Add pool members aggregate
  bigip_pool_member:
    pool: my-pool
    aggregate:
      - host: 192.168.1.1
        partition: Common
        port: 80
        description: web server
        connection_limit: 100
        rate_limit: 50
        ratio: 2
      - host: 192.168.1.2
        partition: Common
        port: 80
        description: web server
        connection_limit: 100
        rate_limit: 50
        ratio: 2
      - host: 192.168.1.3
        partition: Common
        port: 80
        description: web server
        connection_limit: 100
        rate_limit: 50
        ratio: 2
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost
- name: Add pool members aggregate, remove non aggregates
  bigip_pool_member:
    pool: my-pool
    aggregate:
      - host: 192.168.1.1
        partition: Common
        port: 80
        description: web server
        connection_limit: 100
        rate_limit: 50
        ratio: 2
      - host: 192.168.1.2
        partition: Common
        port: 80
        description: web server
        connection_limit: 100
        rate_limit: 50
        ratio: 2
      - host: 192.168.1.3
        partition: Common
        port: 80
        description: web server
        connection_limit: 100
        rate_limit: 50
        ratio: 2
    replace_all_with: true
    provider:
      server: lb.mydomain.com
      user: admin
      password: secret
  delegate_to: localhost
返回值
常见的返回值已在 此处 记录,以下是此模块特有的字段
| 键 | 描述 | 
|---|---|
| 池成员的地址。 已返回:changed 示例:  | |
| 池成员新的连接限制。 已返回:changed 示例:  | |
| 池成员的新描述。 已返回:changed 示例:  | |
| 池成员的 FQDN。 已返回:changed 示例:  | |
| 是否在成员上设置了 FQDN 自动填充。 已返回:changed 示例:  | |
| 资源的新监视器列表。 已返回:changed 示例:  | |
| 新的优先级组。 已返回:changed 示例:  | |
| 池成员新的速率限制(每秒连接数)。 已返回:changed 示例:  | |
| 新的池成员比率权重。 已返回:changed 示例:  | |
| 清除设备中所有非聚合池成员。 已返回:changed 示例:  | 
