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。
要在剧本中使用它,请指定: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 会引发错误。 选项 
 | |
| 指定虚拟服务器用来复制客户端或服务器端流量的池或池列表。 通常,此选项用于入侵检测。 | |
| 用于复制客户端或服务器端流量的克隆池的上下文选项。 选项 
 | |
| 服务器复制流量的目标池的名称。 只能使用在 Common 分区或与虚拟服务器相同的分区上创建的池。 引用 Common 分区上的池需要在完整路径格式中完成,例如  | |
| 管理会话持久性的默认配置文件。 如果要删除现有的默认持久性配置文件,请指定一个空值; 当  | |
| 虚拟服务器描述。 | |
| 虚拟服务器的目标 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 的顺序很重要,因此在 playbook 中包含相同列表元素但顺序不同的列表将会在设备上进行更改。 当  | |
| 指定目标地址网络掩码。此参数适用于 IPv4 和 IPv6 地址。 这是一个可选参数,可以在创建或更新虚拟服务器时指定。 如果  如果指定一个全捕获目标(例如,IPv4 为  当  当  当  | |
| 您可以附加到虚拟服务器的任意键/值对。这在您想注释一个由 Ansible 管理的虚拟服务器的情况下很有用。 键名存储为字符串;这包括作为数字的名称。 所有键的值都存储为字符串;这包括作为数字的值。 数据是持久的,而不是临时的。 | |
| 指定系统镜像冗余对中每个成员上的连接。 创建新虚拟服务器时,如果未指定此参数,则默认为  选项 
 | |
| 虚拟服务器名称。 | |
| 设备分区,用于管理资源。 默认值:  | |
| 指定虚拟服务器的每个请求访问策略。 | |
| 指定虚拟服务器的策略。 当  | |
| 虚拟服务器的默认池。 如果要删除现有的池,请指定一个空值; 创建新虚拟服务器时,如果  如果  | |
| 虚拟服务器的端口。当  如果您不想指定特定端口,请使用值  当  当  除了指定端口号之外,还可以提供一些选定的服务名称。 字符串  字符串  字符串  字符串  字符串  字符串  字符串  字符串  字符串  字符串  字符串  字符串  | |
| 当  当  创建新的虚拟服务器时,默认值为  选项 
 | |
| 要应用于连接两侧(客户端和服务端)的配置文件列表(HTTP、ClientSSL、ServerSSL 等)。 如果只想将特定配置文件应用于连接的客户端,请为该配置文件的  如果只想将特定配置文件应用于连接的服务端,请为该配置文件的  如果未提供  如果要从当前在虚拟服务器上激活的配置文件列表中删除配置文件,只需将其从  如果要向当前在虚拟服务器上激活的配置文件列表中添加配置文件,只需将其添加到  配置文件非常重要。 如果您混淆了配置文件,或者尝试设置当前或新的配置文件不支持的 IP 协议,此模块将无法配置 BIG-IP。 如果此设置不正确,此模块和 BIG-IP 都将报告错误,类似于  如果您不确定正确的配置文件组合是什么,我们建议您使用 BIG-IP,您可以在其中进行更改并复制正确的组合是什么。 要在完整代理中使用  | |
| 应应用配置文件的连接侧。 选项 
 | |
| 配置文件的名称。 如果指定了上下文,则必须指定此项。 如果未指定此项,则假定配置文件项只是配置文件的名称。 | |
| 包含连接详细信息的字典对象。 | |
| 配置身份验证提供程序以从远程设备获取身份验证令牌。 此选项主要用于使用 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,请指定单词  要指定 automap,请使用单词  | |
| 指定虚拟服务器接受流量的 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 Networks 设备的更多信息,请参阅 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
返回值
此处记录了常见的返回值:此处,以下是此模块特有的字段
| Key | 描述 | 
|---|---|
| 指定地址转换是开启还是关闭的新值。 返回: 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 示例:  | 
