community.vmware.vmware_vswitch 模块 – 在 ESXi 主机上管理 VMware 标准交换机。

注意

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

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

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

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

概要

  • 此模块可用于在 ESXi 主机上添加、删除和更新 VMware 标准交换机。

参数

参数

注释

esxi_hostname

别名:host

字符串

使用此 ESXi 主机系统管理 vSwitch。

主机名

字符串

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

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

mtu

整数

要在 vSwitch 上配置的 MTU。

默认值: 1500

nics

别名:nic_name

列表 / 元素=字符串

要附加到 vSwitch 的 vmnic 名称列表或 vmnic 名称。

默认值: []

number_of_ports

整数

要在 vSwitch 上配置的端口数。

默认值: 128

password

别名:pass,pwd

字符串

vSphere vCenter 或 ESXi 服务器的密码。

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

port

整数

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

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

默认值: 443

proxy_host

字符串

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

格式为主机名或 IP。

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

proxy_port

整数

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

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

security

别名:security_policy,network_policy

字典

网络策略指定端口组的第 2 层安全设置,例如混杂模式(其中客户机适配器侦听所有数据包)、MAC 地址更改和伪造传输。

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

forged_transmits

布尔值

指示是否允许伪造传输。

选项

  • false

  • true

mac_changes

布尔值

指示是否允许 MAC 地址更改。

选项

  • false

  • true

promiscuous_mode

布尔值

指示是否允许混杂模式。

选项

  • false

  • true

state

字符串

添加或删除交换机。

选项

  • "absent"

  • "present" ← (默认)

switch

别名:switch_name

字符串 / 必填

要添加的 vSwitch 名称。

teaming

别名:teaming_policy

字典

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

active_adapters

列表 / 元素=字符串

用于负载均衡的活动适配器列表。

如果未定义 teaming.active_adaptersteaming.standby_adapters,则所有 vmnics 都将用作活动适配器。

failback

布尔值

指示在恢复链接时是否使用故障恢复。

选项

  • false

  • true

load_balancing

别名:load_balance_policy

字符串

网络适配器团队策略。

选项

  • "loadbalance_ip"

  • "loadbalance_srcmac"

  • “loadbalance_srcid”

  • “failover_explicit”

network_failure_detection

字符串

网络故障检测。

选项

  • “link_status_only”

  • “beacon_probing”

notify_switches

布尔值

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

选项

  • false

  • true

standby_adapters

列表 / 元素=字符串

用于故障转移的备用适配器列表。

如果未定义 teaming.active_adaptersteaming.standby_adapters,则所有 vmnics 都将用作活动适配器。

traffic_shaping

字典

配置交换机流量整形的参数字典。

average_bandwidth

整数

平均带宽 (kbit/s)。

burst_size

整数

突发大小 (KB)。

enabled

布尔值

流量整形策略的状态。

选项

  • false

  • true

peak_bandwidth

整数

峰值带宽 (kbit/s)。

username

别名: admin, user

字符串

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

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

validate_certs

布尔值

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

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

选项

  • false

  • true ← (默认)

注释

注意

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

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

示例

- name: Add a VMware vSwitch
  community.vmware.vmware_vswitch:
    hostname: '{{ esxi_hostname }}'
    username: '{{ esxi_username }}'
    password: '{{ esxi_password }}'
    switch: vswitch_name
    nics: vmnic_name
    mtu: 9000
  delegate_to: localhost

- name: Add a VMware vSwitch without any physical NIC attached
  community.vmware.vmware_vswitch:
    hostname: '{{ esxi_hostname }}'
    username: '{{ esxi_username }}'
    password: '{{ esxi_password }}'
    switch: vswitch_0001
    mtu: 9000
  delegate_to: localhost

- name: Add a VMware vSwitch with multiple NICs
  community.vmware.vmware_vswitch:
    hostname: '{{ esxi_hostname }}'
    username: '{{ esxi_username }}'
    password: '{{ esxi_password }}'
    switch: vmware_vswitch_0004
    nics:
    - vmnic1
    - vmnic2
    mtu: 9000
  delegate_to: localhost

- name: Add a VMware vSwitch to a specific host system
  community.vmware.vmware_vswitch:
    hostname: '{{ esxi_hostname }}'
    username: '{{ esxi_username }}'
    password: '{{ esxi_password }}'
    esxi_hostname: DC0_H0
    switch_name: vswitch_001
    nic_name: vmnic0
    mtu: 9000
  delegate_to: localhost

- name: Add a VMware vSwitch to a specific host system with Promiscuous Mode Enabled
  community.vmware.vmware_vswitch:
    hostname: '{{ esxi_hostname }}'
    username: '{{ esxi_username }}'
    password: '{{ esxi_password }}'
    esxi_hostname: DC0_H0
    switch_name: vswitch_001
    nic_name: vmnic0
    mtu: 9000
    security:
        promiscuous_mode: true
  delegate_to: localhost

- name: Add a VMware vSwitch to a specific host system with active/standby teaming
  community.vmware.vmware_vswitch:
    hostname: '{{ esxi_hostname }}'
    username: '{{ esxi_username }}'
    password: '{{ esxi_password }}'
    esxi_hostname: DC0_H0
    switch_name: vswitch_001
    nic_name:
      - vmnic0
      - vmnic1
    teaming:
      active_adapters:
        - vmnic0
      standby_adapters:
        - vmnic1
  delegate_to: localhost

- name: Add a VMware vSwitch to a specific host system with traffic shaping
  community.vmware.vmware_vswitch:
    hostname: '{{ esxi_hostname }}'
    username: '{{ esxi_username }}'
    password: '{{ esxi_password }}'
    esxi_hostname: DC0_H0
    switch_name: vswitch_001
    nic_name:
      - vmnic0
      - vmnic1
    traffic_shaping:
        enabled: true
        average_bandwidth: 100000
        peak_bandwidth: 100000
        burst_size: 102400
  delegate_to: localhost

- name: Delete a VMware vSwitch in a specific host system
  community.vmware.vmware_vswitch:
    hostname: '{{ esxi_hostname }}'
    username: '{{ esxi_username }}'
    password: '{{ esxi_password }}'
    esxi_hostname: DC0_H0
    switch_name: vswitch_001
    state: absent
  delegate_to: localhost

返回值

常见的返回值已在 此处 记录,以下是此模块特有的字段

描述

result

字符串

有关已执行操作的信息

返回值: 始终

示例: "vSwitch 'vSwitch_1002' 已成功创建"

作者

  • Joseph Callen (@jcpowermac)

  • Russell Teague (@mtnbikenc)

  • Abhijeet Kasurde (@Akasurde)