10.11.2. 使用 CLI 热插二级网络接口


在虚拟机运行时,您可以热插到虚拟机(VM)的二级网络接口。

先决条件

  • 网络附加定义与虚拟机相同的命名空间中配置。
  • 您要热插网络接口的虚拟机正在运行。
  • 已安装 OpenShift CLI(oc)。

流程

  1. 使用您的首选文本编辑器编辑 VirtualMachine 清单,如下例所示:

    apiVersion: kubevirt.io/v1
    kind: VirtualMachine
    metadata:
      name: vm-fedora
    template:
      spec:
        domain:
          devices:
            interfaces:
            - name: defaultnetwork
              masquerade: {}
            # new interface
            - name: <secondary_nic>
              bridge: {}
        networks:
        - name: defaultnetwork
          pod: {}
        # new network
        - name: <secondary_nic>
          multus:
            networkName: <nad_name>
    # ...
    • spec.template.spec.domain.devices.interfaces.name 指定新网络接口的名称。
    • spec.template.spec.networks.name 指定网络的名称。这必须与您在 template.spec.domain.devices.interfaces 列表中定义的新网络接口的名称相同。
    • spec.template.spec.networks.multus.networkName 指定 NetworkAttachmentDefinition 对象的名称。
  2. 保存更改并退出编辑器。
  3. 要使新配置生效,请运行以下命令来应用更改。应用更改会触发自动虚拟机实时迁移,并将网络接口附加到正在运行的虚拟机。

    $ oc apply -f <filename>.yaml

    其中:

    <filename>
    指定 VirtualMachine 清单 YAML 文件的名称。

验证

  1. 使用以下命令验证虚拟机实时迁移是否成功:

    $ oc get VirtualMachineInstanceMigration -w

    输出示例:

    NAME                        PHASE             VMI
    kubevirt-migrate-vm-lj62q   Scheduling        vm-fedora
    kubevirt-migrate-vm-lj62q   Scheduled         vm-fedora
    kubevirt-migrate-vm-lj62q   PreparingTarget   vm-fedora
    kubevirt-migrate-vm-lj62q   TargetReady       vm-fedora
    kubevirt-migrate-vm-lj62q   Running           vm-fedora
    kubevirt-migrate-vm-lj62q   Succeeded         vm-fedora
  2. 通过检查虚拟机实例(VMI)的状态来验证新接口是否已添加到虚拟机:

    $ oc get vmi vm-fedora -ojsonpath="{ @.status.interfaces }"

    输出示例:

    [
      {
        "infoSource": "domain, guest-agent",
        "interfaceName": "eth0",
        "ipAddress": "10.130.0.195",
        "ipAddresses": [
          "10.130.0.195",
          "fd02:0:0:3::43c"
        ],
        "mac": "52:54:00:0e:ab:25",
        "name": "default",
        "queueCount": 1
      },
      {
        "infoSource": "domain, guest-agent, multus-status",
        "interfaceName": "eth1",
        "mac": "02:d8:b8:00:00:2a",
        "name": "bridge-interface",
        "queueCount": 1
      }
    ]

    热插接口会出现在 VMI 状态中。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部