community.vmware.vmware_dvs_portgroup 模块 – 创建或移除分布式 vSwitch 端口组。

注意

此模块是 community.vmware 集合 (版本 5.2.0) 的一部分。

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

要安装它,请使用: ansible-galaxy collection install community.vmware

要在 playbook 中使用它,请指定: community.vmware.vmware_dvs_portgroup

概要

  • 创建或移除分布式 vSwitch 端口组。

参数

参数

注释

hostname

字符串

vSphere vCenter 或 ESXi 服务器的主机名或 IP 地址。

如果任务中未指定此值,则将使用环境变量 VMWARE_HOST 的值。

in_traffic_shaping

字典

配置端口组的入口流量整形设置的字典。

average_bandwidth

整数

确定允许跨端口的每秒位数,平均分配时间,即允许的平均负载。

如果 in_traffic_shaping.inherited=true,则忽略。

burst_size

整数

端口在发送/接收突发流量时允许的最大每秒位数。

如果 in_traffic_shaping.inherited=true,则忽略。

enabled

布尔值

指示入口流量整形是否启用。

如果 in_traffic_shaping.inherited=true,则忽略。

选项

  • false

  • true

inherited

布尔值 / 必需

是否继承交换机的设置。

选项

  • false

  • true

peak_bandwidth

整数

允许突发中的最大字节数。

如果 in_traffic_shaping.inherited=true,则忽略。

mac_learning

字典

配置端口组的 MAC 学习的字典。

allow_unicast_flooding

布尔值

允许对入口流量进行未学习 MAC 的泛洪的标志。

选项

  • false

  • true

enabled

布尔值

指示是否允许源 MAC 地址学习的标志。

选项

  • false

  • true

limit

整数

可以学习的最大 MAC 地址数。

limit_policy

字符串

超过 MAC 限制后的默认交换策略。

选项

  • "allow"

  • "drop"

net_flow

字符串

指示通过 vds 流动的虚拟机 IP 流量是否通过向 NetFlow 收集器发送报告来进行分析。

选项

  • "true"

  • "on"

  • "yes"

  • "false"

  • "off"

  • "no"

  • "inherited"

network_policy

字典

配置端口组的不同安全值的字典。

forged_transmits

布尔值

指示是否允许伪造传输。如果 network_policy.inherited=true,则忽略。

选项

  • false

  • true

inherited

布尔值 / 必需

是否继承交换机的设置。

选项

  • false

  • true

mac_changes

布尔值

指示是否允许 MAC 更改。如果 network_policy.inherited=true,则忽略。

选项

  • false

  • true

promiscuous

布尔值

指示是否允许混杂模式。如果 network_policy.inherited=true,则忽略。

选项

  • false

  • true

num_ports

整数

端口组应包含的端口数。

out_traffic_shaping

字典

配置端口组的出口流量整形设置的字典。

average_bandwidth

整数

确定允许跨端口的每秒位数,平均分配时间,即允许的平均负载。

如果 out_traffic_shaping.inherited=true,则忽略。

burst_size

整数

端口在发送/接收突发流量时允许的最大每秒位数。

如果 out_traffic_shaping.inherited=true,则忽略。

enabled

布尔值

指示出口流量整形是否启用。

如果 out_traffic_shaping.inherited=true,则忽略。

选项

  • false

  • true

inherited

布尔值 / 必需

是否继承交换机的设置。

选项

  • false

  • true

peak_bandwidth

整数

允许突发中的最大字节数。

如果 out_traffic_shaping.inherited=true,则忽略。

password

别名:pass、pwd

字符串

vSphere vCenter 或 ESXi 服务器的密码。

如果任务中未指定此值,则将使用环境变量 VMWARE_PASSWORD 的值。

port

整数

vSphere vCenter 或 ESXi 服务器的端口号。

如果任务中未指定此值,则将使用环境变量 VMWARE_PORT 的值。

默认值: 443

port_allocation

字符串

弹性端口组根据需要自动增加或减少端口数量。

仅当 port_binding=static 时有效。

如果未指定且 port_binding=static,则为 elastic

如果未指定且 port_binding=ephemeral,则为 fixed

选项

  • "elastic"

  • "fixed"

port_binding

字符串 / 必需

端口绑定类型决定了端口组中的端口何时分配给虚拟机。

更多详情,请参见 VMware 知识库 1022312 https://kb.vmware.com/s/article/1022312

选项

  • "静态"

  • "短暂的"

port_policy

字典

配置端口组高级策略设置的字典。

默认值: {"block_override": true, "ipfix_override": false, "live_port_move": false, "mac_management_override": false, "network_rp_override": false, "port_config_reset_at_disconnect": true, "shaping_override": false, "traffic_filter_override": false, "uplink_teaming_override": false, "vendor_config_override": false, "vlan_override": false}

block_override

布尔值

指示是否可以按端口更改阻塞策略。

选项

  • false

  • true ← (默认)

ipfix_override

布尔值

指示是否可以按端口更改 IPFIX 策略。

选项

  • false ← (默认)

  • true

live_port_move

布尔值

指示是否可以将活动端口移入或移出端口组。

选项

  • false ← (默认)

  • true

mac_management_override

布尔值

指示是否可以按端口更改安全策略。

选项

  • false ← (默认)

  • true

network_rp_override

布尔值

指示是否可以按端口更改网络资源池。

选项

  • false ← (默认)

  • true

port_config_reset_at_disconnect

布尔值

指示端口断开连接后是否自动重置配置。

选项

  • false

  • true ← (默认)

shaping_override

布尔值

指示是否可以按端口更改整形策略。

选项

  • false ← (默认)

  • true

traffic_filter_override

布尔值

指示是否可以按端口更改流量过滤器。

选项

  • false ← (默认)

  • true

布尔值

指示是否可以按端口更改上行链路组队策略。

选项

  • false ← (默认)

  • true

vendor_config_override

布尔值

指示是否可以按端口更改厂商配置。

选项

  • false ← (默认)

  • true

vlan_override

布尔值

指示是否可以按端口更改 VLAN。

选项

  • false ← (默认)

  • true

portgroup_name

字符串 / 必需

要创建或删除的端口组的名称。

proxy_host

字符串

将接收所有 HTTPS 请求并转发它们的代理的地址。

格式为主机名或 IP 地址。

如果任务中未指定此值,则将使用环境变量 VMWARE_PROXY_HOST 的值。

proxy_port

整数

将接收所有 HTTPS 请求并转发它们的 HTTP 代理的端口。

如果任务中未指定此值,则将使用环境变量 VMWARE_PROXY_PORT 的值。

state

字符串

确定端口组是否存在。

选项

  • "present" ← (默认)

  • "absent"

switch_name

字符串 / 必需

应在其上创建端口组的分布式 vSwitch 的名称。

teaming_policy

字典

配置端口组不同组队值的字典。

默认值: {"load_balance_policy": "loadbalance_srcid", "notify_switches": true, "rolling_order": false}

列表 / 元素=字符串

用于负载均衡的活动上行链路的列表。

inbound_policy

布尔值

指示组队策略是否也应用于入站帧。

选项

  • false

  • true

load_balance_policy

字符串

网络适配器组队策略。

选项

  • "loadbalance_ip"

  • "loadbalance_srcmac"

  • "loadbalance_srcid" ← (默认)

  • "loadbalance_loadbased"

  • "failover_explicit"

notify_switches

布尔值

指示链路故障时是否通知物理交换机。

选项

  • false

  • true ← (默认)

rolling_order

布尔值

指示恢复链路时是否使用滚动策略。

选项

  • false ← (默认)

  • true

列表 / 元素=字符串

用于故障转移的备用上行链路的列表。

用户名

别名:admin,user

字符串

vSphere vCenter 或 ESXi 服务器的用户名。

如果任务中未指定此值,则将使用环境变量 VMWARE_USER 的值。

validate_certs

布尔值

允许在 SSL 证书无效时连接。当证书不受信任时,设置为 false

如果任务中未指定此值,则将使用环境变量 VMWARE_VALIDATE_CERTS 的值。

选项

  • false

  • true ← (默认)

vlan_id

字符串 / 必需

应与端口组一起配置的 VLAN ID,对于无 VLAN,使用 0。

如果 vlan_trunk=true,这可以是多个范围和数字的组合,例如:1-200、205、400-4094。

有效范围是 0 到 4094。允许重叠范围。

如果 vlan_private=true,则相应的专用 VLAN 应已在分布式 vSwitch 中配置。

vlan_private

布尔值

指示这是否是专用 VLAN。

vlan_trunk 参数互斥。

选项

  • false ← (默认)

  • true

vlan_trunk

布尔值

指示这是否是 VLAN Trunk。

vlan_private 参数互斥。

选项

  • false ← (默认)

  • true

备注

注意

  • 所有模块都需要 API 写入权限,因此在免费 ESXi 许可证上不受支持。

  • 所有变量和 VMware 对象名称都区分大小写。

示例

- name: Create vlan portgroup
  community.vmware.vmware_dvs_portgroup:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    portgroup_name: vlan-123-portrgoup
    switch_name: dvSwitch
    vlan_id: 123
    num_ports: 120
    port_binding: static
    state: present
  delegate_to: localhost

- name: Create vlan trunk portgroup
  community.vmware.vmware_dvs_portgroup:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    portgroup_name: vlan-trunk-portrgoup
    switch_name: dvSwitch
    vlan_id: 1-1000, 1005, 1100-1200
    vlan_trunk: true
    num_ports: 120
    port_binding: static
    state: present
  delegate_to: localhost

- name: Create private vlan portgroup
  vmware_dvs_portgroup:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    portgroup_name: private-vlan-portrgoup
    switch_name: dvSwitch
    vlan_id: 1001
    vlan_private: true
    num_ports: 120
    port_binding: static
    state: present
  delegate_to: localhost

- name: Create no-vlan portgroup
  community.vmware.vmware_dvs_portgroup:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    portgroup_name: no-vlan-portrgoup
    switch_name: dvSwitch
    vlan_id: 0
    num_ports: 120
    port_binding: static
    state: present
  delegate_to: localhost

- name: Create vlan portgroup with all security and port policies
  community.vmware.vmware_dvs_portgroup:
    hostname: '{{ vcenter_hostname }}'
    username: '{{ vcenter_username }}'
    password: '{{ vcenter_password }}'
    portgroup_name: vlan-123-portrgoup
    switch_name: dvSwitch
    vlan_id: 123
    num_ports: 120
    port_binding: static
    state: present
    network_policy:
      inherited: false
      promiscuous: true
      forged_transmits: true
      mac_changes: true
    port_policy:
      block_override: true
      ipfix_override: true
      live_port_move: true
      network_rp_override: true
      port_config_reset_at_disconnect: true
      mac_management_override: true
      shaping_override: true
      traffic_filter_override: true
      uplink_teaming_override: true
      vendor_config_override: true
      vlan_override: true
  delegate_to: localhost

作者

  • Joseph Callen (@jcpowermac)

  • Philippe Dellaert (@pdellaert)