community.general.proxmox_nic 模块 – 管理 Proxmox VE 集群中 Qemu(KVM) 虚拟机的网卡

注意

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

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

要安装它,请使用:ansible-galaxy collection install community.general。 您需要进一步的要求才能使用此模块,请参阅 要求 以了解详细信息。

要在 playbook 中使用它,请指定:community.general.proxmox_nic

community.general 3.1.0 中的新增功能

概要

  • 允许您在 Proxmox VE 集群中的 Qemu(KVM) 虚拟机上创建/更新/删除网卡。

要求

以下要求需要在执行此模块的主机上满足。

  • proxmoxer

  • requests

参数

参数

注释

api_host

字符串 / 必需

指定 Proxmox VE 集群的目标主机。

api_password

字符串

指定用于身份验证的密码。

您可以使用 PROXMOX_PASSWORD 环境变量。

api_port

整数

在 community.general 9.1.0 中添加

指定 Proxmox VE 集群的目标端口。

如果未指定,则使用 PROXMOX_PORT 环境变量。

api_token_id

字符串

在 community.general 1.3.0 中添加

指定令牌 ID。

需要 proxmoxer>=1.1.0 才能工作。

api_token_secret

字符串

在 community.general 1.3.0 中添加

指定令牌密钥。

需要 proxmoxer>=1.1.0 才能工作。

api_user

字符串 / 必需

指定用于身份验证的用户。

bridge

字符串

将此接口添加到指定的桥接设备。Proxmox VE 的默认桥接器名为 vmbr0

firewall

布尔值

此接口是否应受防火墙保护。

选项

  • false ← (默认)

  • true

interface

字符串 / 必需

接口的名称,应为 net[n],其中 1 n 31

布尔值

是否应断开此接口的连接(如拔掉插头)。

选项

  • false ← (默认)

  • true

mac

字符串

XX:XX:XX:XX:XX:XX 应为唯一的 MAC 地址。如果未指定,则会自动生成。

如果未指定,则在更改现有接口时,此模块将保持 MAC 地址不变。

model

字符串

网卡仿真器模型。

选项

  • "e1000"

  • "e1000-82540em"

  • "e1000-82544gc"

  • "e1000-82545em"

  • "i82551"

  • "i82557b"

  • "i82559er"

  • "ne2k_isa"

  • "ne2k_pci"

  • "pcnet"

  • "rtl8139"

  • "virtio" ← (默认)

  • "vmxnet3"

mtu

整数

强制 MTU,仅适用于 virtio 模型,否则将忽略设置。

设置为 1 以使用桥接 MTU。

值应为 1 n 65520

name

字符串

指定 VM 名称。仅在配置 Web 界面上使用。

仅对于 state=present 必需。

queues

整数

设备上要使用的包队列的数量。

值应为 0 n 16

rate

浮点数

以浮点数表示的速率限制,单位为 MBps(兆字节/秒)。

state

字符串

指示网卡的所需状态。

选项

  • "present" ← (默认)

  • "absent"

tag

整数

要应用于此接口上的数据包的 VLAN 标签。

值应为 1 n 4094

trunks

列表 / 元素=整数

要通过此接口传递的 VLAN 中继列表。

validate_certs

布尔值

如果为 false,则不会验证 SSL 证书。

这仅应用于使用自签名证书的个人控制站点。

选项

  • false ← (默认)

  • true

vmid

整数

指定实例 ID。

属性

属性

支持

描述

action_group

操作组: community.general.proxmox

在 community.general 9.0.0 中添加

module_defaults 中使用 group/community.general.proxmox 来为此模块设置默认值。

check_mode

支持:完整

可以在 check_mode 中运行,并返回更改状态预测,而不会修改目标。

diff_mode

支持:

当处于 diff 模式时,将返回有关已更改(或可能需要在 check_mode 中更改)的详细信息。

示例

- name: Create NIC net0 targeting the vm by name
  community.general.proxmox_nic:
    api_user: root@pam
    api_password: secret
    api_host: proxmoxhost
    name: my_vm
    interface: net0
    bridge: vmbr0
    tag: 3

- name: Create NIC net0 targeting the vm by id
  community.general.proxmox_nic:
    api_user: root@pam
    api_password: secret
    api_host: proxmoxhost
    vmid: 103
    interface: net0
    bridge: vmbr0
    mac: "12:34:56:C0:FF:EE"
    firewall: true

- name: Delete NIC net0 targeting the vm by name
  community.general.proxmox_nic:
    api_user: root@pam
    api_password: secret
    api_host: proxmoxhost
    name: my_vm
    interface: net0
    state: absent

返回值

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

描述

msg

字符串

简短消息

返回: 总是

示例: "Nic net0 unchanged on VM with vmid 103"

vmid

整数

VM vmid。

返回: 成功

示例: 115

作者

  • Lammert Hellinga (@Kogelvis)