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
。
要在 playbook 中使用它,请指定: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 名称必须以字母或数字结尾。 创建新的池成员时,必须提供 |
|
指定系统是否自动创建临时节点,该节点使用 DNS 查询解析为 FQDN 定义的节点返回的 IP 地址。 当 当 创建新的池成员时,此参数的默认值为 设置后,此参数无法更改。 当 选项
|
|
指定在出站数据包(从 BIG-IP 系统到服务器池成员)上使用 IPIP(IP 内的 IP 封装,RFC 2003)或 GRE(通用路由封装,RFC 2784)的 IP 封装。 当值为 当值为 当为任何其他值时,选项为 “None”、“从池继承”和“成员特定”。 |
|
指定系统当前用于监视此资源运行状况的监视器。 |
|
创建新池成员时要创建或重用的节点名称。 虽然此参数是可选的,但我们建议始终指定此参数以缓解任何意外行为。 如果未指定,则会自动根据指定的
|
|
用于管理资源的分区。 默认值: |
|
池成员端口。 此值设置后无法更改。 使用聚合时必须提供此参数。 |
|
当状态为 如果该节点仍被其他池成员引用,则不会被删除。如果发生这种情况,该模块不会引发错误。 将其设置为 选项
|
|
指定一个数字,表示池成员的优先级组。 添加新成员时,默认值为 要指定优先级,必须在创建新池或添加或删除池成员时激活优先级组使用。激活后,系统会根据分配给池成员的优先级组编号进行流量负载均衡。 数字越高,优先级越高。因此,优先级为 3 的成员的优先级高于优先级为 1 的成员。 |
|
池成员速率限制(每秒连接数)。将其设置为 |
|
池成员比率权重。有效值范围为 1 到 100。除非使用此值覆盖,否则新池成员的默认值为 1。 |
|
如果请求,则重用节点定义。 选项
|
|
池成员状态。 选项
|
|
如果激活多个运行状况监视器,则指定必须收到成功响应的运行状况监视器的数量,才能将链接视为可用。 指定空字符串将删除监视器并恢复为从池继承(默认)。 指定 |
|
指定在将链接视为启动之前必须成功的最小活动运行状况监视器数量。 仅当使用 如果使用 |
|
指定 创建新池时,如果未指定此值,则将使用默认值 选项
|
|
池成员连接限制。将其设置为 |
|
池成员描述。 |
|
池成员的 FQDN 名称。可以是任何有效的 RFC 1123 DNS 名称。因此,唯一可用的字符是“A”到“Z”、“a”到“z”、“0”到“9”、连字符(“-”)和句点(“.”)。 FQDN 名称必须至少包含一个句点;将主机与域分开。例如, FQDN 名称必须以字母或数字结尾。 创建新的池成员时,必须提供 |
|
指定系统是否自动创建临时节点,该节点使用 DNS 查询解析为 FQDN 定义的节点返回的 IP 地址。 当 当 创建新的池成员时,此参数的默认值为 设置后,此参数无法更改。 当 选项
|
|
指定在出站数据包(从 BIG-IP 系统到服务器池成员)上使用 IPIP(IP 内的 IP 封装,RFC 2003)或 GRE(通用路由封装,RFC 2784)的 IP 封装。 当值为 当值为 当为任何其他值时,选项为 “None”、“从池继承”和“成员特定”。 |
|
指定系统当前用于监视此资源运行状况的监视器。 |
|
创建新池成员时要创建或重用的节点名称。 虽然此参数是可选的,但我们建议始终指定此参数以缓解任何意外行为。 如果未指定,则会自动根据指定的
|
|
用于管理资源的分区。 默认值: |
|
池名称。此池必须存在。 |
|
池成员端口。 此值设置后无法更改。 使用聚合时必须提供此参数。 |
|
当状态为 如果该节点仍被其他池成员引用,则不会被删除。如果发生这种情况,该模块不会引发错误。 将其设置为 选项
|
|
指定一个数字,表示池成员的优先级组。 添加新成员时,默认值为 要指定优先级,必须在创建新池或添加或删除池成员时激活优先级组使用。激活后,系统会根据分配给池成员的优先级组编号进行流量负载均衡。 数字越高,优先级越高。因此,优先级为 3 的成员的优先级高于优先级为 1 的成员。 |
|
一个包含连接详细信息的 dict 对象。 |
|
配置身份验证提供程序,以便从远程设备获取身份验证令牌。 此选项在处理 BIG-IQ 设备时真正使用。 |
|
如果为 可以通过设置环境变量 先前使用的变量 选项
|
|
用于连接到 BIG-IP 或 BIG-IQ 的用户帐户的密码。 可以通过设置环境变量 |
|
BIG-IP 主机或 BIG-IQ 主机。 可以通过设置环境变量 |
|
BIG-IP 服务器端口。 可以通过设置环境变量 默认值: |
|
指定与网络设备通信(用于连接或发送命令)的超时时间(以秒为单位)。如果在操作完成之前超出超时时间,模块将出错。 |
|
配置连接到远程设备时使用的传输连接。 选项
|
|
用于连接到 BIG-IP 或 BIG-IQ 的用户名。此用户必须具有设备上的管理权限。 可以通过设置环境变量 |
|
如果为 可以通过设置环境变量 选项
|
|
池成员速率限制(每秒连接数)。将其设置为 |
|
池成员比率权重。有效值范围为 1 到 100。除非使用此值覆盖,否则新池成员的默认值为 1。 |
|
删除 此操作是全部或无,这意味着如果某些池成员无法删除,则会停止。 选项
|
|
如果请求,则重用节点定义。 选项
|
|
池成员状态。 选项
|
注释
注意
有关使用 Ansible 管理 F5 Networks 设备的更多信息,请参阅 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 示例: |