10.11.2. CLI を使用したセカンダリーネットワークインターフェイスのホットプラグ


仮想マシン (VM) の実行中に、セカンダリーネットワークインターフェイスを仮想マシンにホットプラグできます。

前提条件

  • ネットワークアタッチメント定義が、仮想マシンと同じ namespace に設定されている。
  • ネットワークインターフェイスをホットプラグする仮想マシンが実行中です。
  • 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 リストで定義した新しいネットワークインターフェイスの name と同じである必要があります。
    • 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

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る