f5networks.f5_modules.bigip_virtual_server 模块 – 在 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_virtual_server
。
f5networks.f5_modules 1.0.0 中的新增功能
概要
管理 BIG-IP 系统上的 LTM 虚拟服务器。
参数
参数 |
注释 |
---|---|
当 当 当系统负载均衡具有相同 IP 地址的设备时,此选项很有用。 创建新的虚拟服务器时,默认为 选项
|
|
允许 BIG-IP 系统跟踪传入连接的源 MAC 地址,并将流量从池返回到源 MAC 地址,而不管路由表如何。 选项
|
|
禁用所有需要 BIG-IP 设备调用的内置模块验证检查。使用此选项可以减少此模块发出的 REST 调用次数。权衡是大多数参数按原样发送,这在定义它们时需要格外小心。 设备是此类配置的最终真实来源,可在速度优先于准确性的情况下使用。 如果设置为 此参数可用于创建新资源或更新现有资源。 选项
|
|
指定是否应针对现有配置文件验证用户指定的客户端和服务器 SSL 配置文件是否正确。这在一次添加大量配置文件时很有用。 不建议在普通情况下使用。如果配置文件重复或错误,BIG-IP 会抛出错误。 选项
|
|
指定虚拟服务器用来复制客户端或服务器端流量的池或池列表。 此选项通常用于入侵检测。 |
|
用于克隆池以复制客户端或服务器端流量的 context 选项。 选项
|
|
服务器复制流量到的池名称。 只能使用在公共分区或与虚拟服务器位于同一分区的池。 引用公共分区上的池需要使用完整路径格式,例如 |
|
管理会话持久性的默认配置文件。 如果要删除现有的默认持久性配置文件,请指定空值; 当 |
|
虚拟服务器描述。 |
|
虚拟服务器的目标 IP。 当 当 目标也可以指定为现有虚拟地址的名称。 |
|
要禁用的 VLAN 列表。如果 VLAN 中未指定分区,则使用此模块的 此参数与 |
|
要启用的 VLAN 列表。当使用名为 此参数与 |
|
指定如果系统无法使用指定的默认持久性配置文件,则要使用的持久性配置文件。 如果要删除现有的回退持久性配置文件,请指定空值; 当 |
|
以强制方式将指定的 AFM 策略应用于虚拟机。 创建新的虚拟机时,如果未指定此参数,则强制策略将被禁用。 |
|
以强制方式将指定的 AFM 策略应用于虚拟机。 分阶段策略在日志中显示策略规则的结果,而不会实际将规则应用于流量。 创建新的虚拟机时,如果未指定此参数,则分阶段策略将被禁用。 |
|
设置为 目前存在一个限制,即非管理员用户无法设置对象的元数据,尽管他们能够创建和修改虚拟服务器对象。将此选项设置为 尝试更改启用严格更新的 iAPP 所属虚拟服务器的 选项
|
|
指定应用于虚拟服务器的 IP 智能策略。 此参数要求已预配有效的 BIG-IP 安全模块,例如 ASM 或 AFM。 |
|
指定系统要用于在此虚拟服务器上引导流量的网络协议名称。 创建新的虚拟服务器时,如果未指定此参数,则默认为 当您选择“性能 (HTTP)”作为 此参数的值可以用其数字值或少量命名值来指定。有关示例,请参阅 有关有效的 IP 协议编号列表,请参阅https://en.wikipedia.org/wiki/List_of_IP_protocol_numbers。 当 选项
|
|
指定要按优先级顺序应用的规则列表。 如果要删除现有 iRule,请指定单个空值; iRule 的指定顺序很重要,因此在剧本中包含相同列表元素但顺序不同的列表将在设备上进行更改。 当 |
|
指定目标地址网络掩码。此参数适用于 IPv4 和 IPv6 地址。 这是一个可选参数,可以在创建或更新虚拟服务器时指定。 如果 如果您指定了通配符目标(例如,IPv4 的 当 当 当 |
|
您可以附加到虚拟服务器的任意键/值对。这在您想要注释由 Ansible 管理的虚拟服务器的情况下非常有用。 键名存储为字符串;这包括作为数字的名称。 所有键的值都存储为字符串;这包括作为数字的值。 数据是持久性的,而不是短暂的。 |
|
指定系统是否镜像冗余对中每个成员上的连接。 创建新的虚拟服务器时,如果未指定此参数,则默认为 选项
|
|
虚拟服务器名称。 |
|
用于管理资源的设备分区。 默认值: |
|
指定虚拟服务器的每请求访问策略。 |
|
指定虚拟服务器的策略。 当 |
|
虚拟服务器的默认池。 如果要删除现有池,请指定空值; 创建新的虚拟服务器时,如果 如果 |
|
虚拟服务器的端口。当 如果您不想指定特定端口,请使用值 当 当 除了指定端口号外,还可以提供少量服务名称。 字符串 字符串 字符串 字符串 字符串 字符串 字符串 字符串 字符串 字符串 字符串 字符串 |
|
当 当 创建新的虚拟服务器时,默认为 选项
|
|
要应用于连接两端的配置文件(客户端和服务器端)列表(HTTP、ClientSSL、ServerSSL 等)。 如果只想将特定配置文件应用于连接的客户端,请为配置文件的 如果只想将特定配置文件应用于连接的服务器端,请为配置文件的 如果未提供 如果要从虚拟机上当前活动的配置文件列表中删除配置文件,只需将其从 如果要将配置文件添加到虚拟机上当前活动的配置文件列表中,只需将其添加到 配置文件非常重要。如果混淆了配置文件,或者尝试设置当前或新配置文件不支持的 IP 协议,则此模块将无法配置 BIG-IP。如果配置不正确,此模块和 BIG-IP 都将报告错误,类似于 如果您不确定正确的配置文件组合是什么,我们建议您准备一台 BIG-IP 设备,以便您可以在其中进行更改并复制正确的组合。 要在完全代理中使用 |
|
应应用配置文件的连接端。 选项
|
|
配置文件的名称。 如果指定了上下文,则必须指定此项。 如果未指定此项,则假定配置文件项仅是配置文件的名称。 |
|
包含连接详细信息的字典对象。 |
|
配置 auth provider 以从远程设备获取身份验证令牌。 此选项在使用 BIG-IQ 设备时才会真正使用。 |
|
如果为 您可以通过设置环境变量 先前使用的变量 选项
|
|
用于连接到 BIG-IP 或 BIG-IQ 的用户帐户的密码。 您可以通过设置环境变量 |
|
BIG-IP 主机或 BIG-IQ 主机。 您可以通过设置环境变量 |
|
BIG-IP 服务器端口。 您可以通过设置环境变量 默认值: |
|
指定与网络设备通信的超时时间(以秒为单位),用于连接或发送命令。如果在操作完成之前超时,模块将报错。 |
|
配置连接到远程设备时使用的传输连接。 选项
|
|
连接到 BIG-IP 或 BIG-IQ 的用户名。此用户必须拥有设备上的管理员权限。 您可以通过设置环境变量 |
|
如果为 您可以通过设置环境变量 选项
|
|
虚拟服务器速率限制(每秒连接数)。将其设置为 有效值范围为 |
|
指定作为速率限制一部分应用于目标地址的掩码(以位为单位)。 默认值为 有效值范围为 |
|
指示是按虚拟对象、按源地址、按目标地址还是两者组合应用速率限制。 默认值为 选项
|
|
指定作为速率限制一部分应用于源地址的掩码(以位为单位)。 默认值为 有效值范围为 |
|
指定应用于虚拟服务器的日志配置文件。 要使用此功能,必须获得 AFM 模块的许可并进行配置。
|
|
指定虚拟服务器的防火墙 NAT 策略。 您可以指定一个或多个要使用的 NAT 策略。 使用最具体的策略。例如,如果您指定虚拟服务器应使用设备策略和路由域策略,则路由域策略将覆盖设备策略。 |
|
指定将 NAT 策略直接应用于虚拟服务器的策略。 虚拟服务器 NAT 策略是最具体的,并覆盖路由域和设备策略(如果已指定)。 要删除策略,请指定空字符串值。 |
|
指定虚拟服务器使用设备 NAT 策略,如防火墙选项中所指定。 如果没有指定路由域或虚拟服务器 NAT 设置,则使用设备策略。 选项
|
|
指定虚拟服务器使用路由域策略,如路由域安全设置中所指定。 如果指定此选项,则路由域策略将覆盖设备策略,并被虚拟服务器策略覆盖。 选项
|
|
指定在收到初始 SYN 数据包后,如果虚拟服务器的可用性状态为离线或不可用,则应立即采取的操作。 支持类型为 选项
|
|
源网络地址策略。 当 可以指定 SNAT 池的名称(例如“/Common/snat_pool_name”)以使用特定池启用 SNAT。 要删除 SNAT,请指定单词 要指定自动映射,请使用单词 |
|
指定虚拟服务器从中接受流量的 IP 地址或网络。 虚拟服务器仅接受来自这些 IP 地址之一的客户端。 为了使此设置有效运行,请指定除 0.0.0.0/0 或 ::/0(即 any/0、any6/0)以外的值。 为了最大限度地提高此设置的效用,请指定涵盖所有客户地址且不包含其他地址的最具体的地址前缀。 请以无类域间路由 (CIDR) 格式指定 IP 地址;地址/前缀,其中前缀长度以位为单位。例如,对于 IPv4,10.0.0.1/32 或 10.0.0.0/24,对于 IPv6,ffe1::0020/64 或 2001:ed8:77b5:2:10:10:100:42/64。 |
|
指定系统是否保留连接的源端口。 创建新的虚拟服务器时,如果未指定此参数,则默认为 选项
|
|
虚拟服务器状态。如果为 尝试更改属于启用严格更新的 iAPP 的虚拟服务器的 选项
|
|
指定此虚拟服务器提供的网络服务。 创建新的虚拟服务器时,如果未提供此参数,则默认为 设置此值后,无法更改。 当为 当为 当为 当为 当为 当为 当为 当为 当为 当为 选项
|
注释
注意
有关使用 Ansible 管理 F5 网络设备的更多信息,请参阅 https://ansible.org.cn/integrations/networks/f5。
需要 BIG-IP 软件版本 >= 12。
F5 模块仅操作 F5 产品的运行配置。为确保 BIG-IP 特定配置持久保存到磁盘,请务必包含至少一项使用 f5networks.f5_modules.bigip_config 模块保存运行配置的任务。请参阅模块文档,了解保存运行配置的模块的正确用法。
示例
- name: Modify Port of the Virtual Server
bigip_virtual_server:
state: present
partition: Common
name: my-virtual-server
port: 8080
provider:
server: lb.mydomain.net
user: admin
password: secret
delegate_to: localhost
- name: Delete virtual server
bigip_virtual_server:
state: absent
partition: Common
name: my-virtual-server
provider:
server: lb.mydomain.net
user: admin
password: secret
delegate_to: localhost
- name: Add virtual server
bigip_virtual_server:
state: present
partition: Common
name: my-virtual-server
destination: 10.10.10.10
port: 443
pool: my-pool
snat: Automap
description: Test Virtual Server
profiles:
- http
- fix
- name: clientssl
context: server-side
- name: ilx
context: client-side
policies:
- my-ltm-policy-for-asm
- ltm-uri-policy
- ltm-policy-2
- ltm-policy-3
enabled_vlans:
- /Common/vlan2
provider:
server: lb.mydomain.net
user: admin
password: secret
delegate_to: localhost
- name: Add FastL4 virtual server
bigip_virtual_server:
destination: 1.1.1.1
name: fastl4_vs
port: 80
profiles:
- fastL4
state: present
provider:
server: lb.mydomain.net
user: admin
password: secret
delegate_to: localhost
- name: Add iRules to the Virtual Server
bigip_virtual_server:
name: my-virtual-server
irules:
- irule1
- irule2
provider:
server: lb.mydomain.net
user: admin
password: secret
delegate_to: localhost
- name: Remove one iRule from the Virtual Server
bigip_virtual_server:
name: my-virtual-server
irules:
- irule2
provider:
server: lb.mydomain.net
user: admin
password: secret
delegate_to: localhost
- name: Remove all iRules from the Virtual Server
bigip_virtual_server:
name: my-virtual-server
irules: ""
provider:
server: lb.mydomain.net
user: admin
password: secret
delegate_to: localhost
- name: Remove pool from the Virtual Server
bigip_virtual_server:
name: my-virtual-server
pool: ""
provider:
server: lb.mydomain.net
user: admin
password: secret
delegate_to: localhost
- name: Add metadata to virtual
bigip_virtual_server:
name: my-virtual-server
partition: Common
metadata:
ansible: 2.4
updated_at: 2017-12-20T17:50:46Z
provider:
server: lb.mydomain.com
user: admin
password: secret
delegate_to: localhost
- name: Add virtual with two profiles
bigip_virtual_server:
name: my-virtual-server
partition: Common
profiles:
- http
- tcp
provider:
server: lb.mydomain.com
user: admin
password: secret
delegate_to: localhost
- name: Remove HTTP profile from previous virtual
bigip_virtual_server:
name: my-virtual-server
partition: Common
profiles:
- tcp
provider:
server: lb.mydomain.com
user: admin
password: secret
delegate_to: localhost
- name: Add the HTTP profile back to the previous virtual
bigip_virtual_server:
name: my-virtual-server
partition: Common
profiles:
- http
- tcp
provider:
server: lb.mydomain.com
user: admin
password: secret
delegate_to: localhost
- name: Add virtual server with rate limit
bigip_virtual_server:
state: present
partition: Common
name: my-virtual-server
destination: 10.10.10.10
port: 443
pool: my-pool
snat: Automap
description: Test Virtual Server
profiles:
- http
- fix
- name: clientssl
context: server-side
- name: ilx
context: client-side
policies:
- my-ltm-policy-for-asm
- ltm-uri-policy
- ltm-policy-2
- ltm-policy-3
enabled_vlans:
- /Common/vlan2
rate_limit: 400
rate_limit_mode: destination
rate_limit_dst_mask: 32
provider:
server: lb.mydomain.net
user: admin
password: secret
delegate_to: localhost
- name: Add FastL4 virtual server with clone_pools
bigip_virtual_server:
destination: 1.1.1.1
name: fastl4_vs
port: 80
profiles:
- fastL4
state: present
clone_pools:
- pool_name: FooPool
context: clientside
provider:
server: lb.mydomain.net
user: admin
password: secret
delegate_to: localhost
- name: Add virtual with MRF router option set
bigip_virtual_server:
name: my-virtual-server
destination: 10.10.10.10
port: 443
partition: Common
profiles:
- http
- tcp
- name: noneg-ssl
context: client-side
- name: http2
context: client-side
- name: httprouter
context: all
provider:
server: lb.mydomain.net
user: admin
password: secret
delegate_to: localhost
返回值
常用的返回值已在此处 记录,以下是此模块特有的字段
键 |
描述 |
---|---|
指定地址转换是否开启或关闭的新值。 返回:changed 示例: |
|
指定虚拟服务器的 autoLasthop 值 返回:changed 示例: |
|
虚拟服务器复制流量到的池。 返回:changed 示例: |
|
在虚拟服务器上设置的默认持久性配置文件。 返回:changed 示例: |
|
虚拟服务器的新描述。 返回:changed 示例: |
|
虚拟服务器的目标。 返回:changed 示例: |
|
虚拟服务器是否已禁用。 返回:changed 示例: |
|
虚拟服务器已禁用的 VLAN 列表。 返回:changed 示例: |
|
虚拟服务器是否已启用。 返回:changed 示例: |
|
虚拟服务器已启用的 VLAN 列表。 返回:changed 示例: |
|
在虚拟服务器上设置的回退持久性配置文件。 返回:changed 示例: |
|
新的强制实施防火墙策略。 返回:changed 示例: |
|
新的暂存防火墙策略。 返回:changed 示例: |
|
分配给虚拟服务器的新 IP 智能策略。 返回:changed 示例: |
|
IP 协议的新值。 返回:changed 示例: |
|
在虚拟服务器上设置的 iRules。 返回:changed 示例: |
|
虚拟服务器的新值。 返回:changed 示例: |
|
指定系统是否镜像冗余对中每个成员上的连接。 返回:changed 示例: |
|
附加到虚拟服务器的每个请求策略。 返回:changed 示例: |
|
附加到虚拟服务器的策略列表。 返回:changed 示例: |
|
虚拟服务器连接到的池。 返回:changed 示例: |
|
虚拟服务器配置为监听的端口。 返回:changed 示例: |
|
指定端口转换是否开启或关闭的新值。 返回:changed 示例: |
|
在虚拟服务器上设置的配置文件列表。 返回:changed 示例: |
|
允许虚拟服务器每秒连接的最大数量。 返回:changed 示例: |
|
指定作为速率限制一部分应用于目标地址的掩码(以位为单位)。 返回:changed 示例: |
|
设置要在虚拟服务器上使用的速率限制类型。 返回:changed 示例: |
|
指定作为速率限制一部分应用于源地址的掩码(以位为单位)。 返回:changed 示例: |
|
新的安全日志配置文件列表。 返回:changed 示例: |
|
如果服务器脱机或不可用,则在收到初始 SYN 数据包时要采取的操作。 返回:changed 示例: |
|
虚拟服务器的 SNAT 设置。 返回:changed 示例: |
|
在虚拟服务器上设置的源地址,采用 CIDR 格式。 返回:changed 示例: |
|
指定系统是否保留连接的源端口。 返回:changed 示例: |