8.7. OVN-Kubernetes セカンダリーネットワークへの仮想マシンの接続


仮想マシンを Open Virtual Network (OVN)-Kubernetes セカンダリーネットワークに接続できます。OVN-Kubernetes Container Network Interface (CNI) プラグインは、 Geneve (Generic Network Virtualization Encapsulation) プロトコルを使用してノード間にオーバーレイネットワークを作成します。

OpenShift Virtualization は現在、フラットレイヤー 2 トポロジーをサポートしています。このトポロジーは、クラスター全体の論理スイッチによってワークロードを接続します。このオーバーレイネットワークを使用すると、追加の物理ネットワークインフラストラクチャーを設定することなく、さまざまなノード上の仮想マシンを接続できます。

OVN-Kubernetes セカンダリーネットワークを設定し、そのネットワークに仮想マシンを接続するには、次の手順を実行します。

  1. Web コンソールまたは CLI を使用して、ネットワーク接続定義 (NAD) を作成します。
  2. Web コンソールまたは CLI を使用して、セカンダリーネットワークインターフェイスに関する情報を仮想マシン仕様に追加します。

8.7.1. OVN-Kubernetes NAD の作成

OpenShift Container Platform Web コンソールまたは CLI を使用して、OVN-Kubernetes フラットレイヤー 2 ネットワーク接続定義 (NAD) を作成できます。

注記

仮想マシンのネットワークアタッチメント定義での IP アドレス管理 (IPAM) の設定はサポートされていません。

8.7.1.1. CLI を使用したフラットレイヤ 2 トポロジー用の NAD の作成

Pod をレイヤー 2 オーバーレイネットワークに接続する方法を説明するネットワーク接続定義 (NAD) を作成できます。

前提条件

  • cluster-admin 権限を持つユーザーとしてクラスターにアクセスできる。
  • OpenShift CLI (oc) がインストールされている。

手順

  1. NetworkAttachmentDefinition オブジェクトを作成します。

    apiVersion: k8s.cni.cncf.io/v1
    kind: NetworkAttachmentDefinition
    metadata:
      name: l2-network
      namespace: my-namespace
    spec:
      config: |2
        {
                "cniVersion": "0.3.1", 1
                "name": "my-namespace-l2-network", 2
                "type": "ovn-k8s-cni-overlay", 3
                "topology":"layer2", 4
                "mtu": 1300, 5
                "netAttachDefName": "my-namespace/l2-network" 6
        }
    1
    CNI 仕様のバージョン。必要な値は 0.3.1 です。
    2
    ネットワークの名前。この属性には namespace がありません。たとえば、l2-network という名前のネットワークを、2 つの異なる namespace に存在する 2 つの異なる NetworkAttachmentDefinition オブジェクトから参照させることができます。この機能は、異なる namespace の仮想マシンを接続する場合に役立ちます。
    3
    設定する CNI プラグインの名前。必要な値は ovn-k8s-cni-overlay です。
    4
    ネットワークのトポロジー設定。必要な値は layer2 です。
    5
    オプション: 最大伝送単位 (MTU) の値。デフォルト値はカーネルによって自動的に設定されます。
    6
    NetworkAttachmentDefinition オブジェクトの metadata スタンザ内の namespace および name フィールドの値。
    注記

    上記の例では、サブネットを定義せずにクラスター全体のオーバーレイを設定します。これは、ネットワークを実装する論理スイッチがレイヤー 2 通信のみを提供することを意味します。仮想マシンの作成時に、静的 IP アドレスを設定するか、動的 IP アドレス用にネットワーク上に DHCP サーバーをデプロイすることによって、IP アドレスを設定する必要があります。

  2. マニフェストを適用します。

    $ oc apply -f <filename>.yaml

8.7.2. OVN-Kubernetes セカンダリーネットワークへの仮想マシンの接続

OpenShift Container Platform Web コンソールまたは CLI を使用して、仮想マシンを OVN-Kubernetes セカンダリーネットワークインターフェイスに接続できます。

8.7.2.1. CLI を使用した OVN-Kubernetes セカンダリーネットワークへの仮想マシンの接続

仮想マシン設定にネットワークの詳細を含めることで、仮想マシンを OVN-Kubernetes セカンダリーネットワークに接続できます。

前提条件

  • cluster-admin 権限を持つユーザーとしてクラスターにアクセスできる。
  • OpenShift CLI (oc) がインストールされている。

手順

  1. 次の例のように、VirtualMachine マニフェストを編集して OVN-Kubernetes セカンダリーネットワークインターフェイスの詳細を追加します。

    apiVersion: kubevirt.io/v1
    kind: VirtualMachine
    metadata:
      name: vm-server
    spec:
      running: true
      template:
        spec:
          domain:
            devices:
              interfaces:
              - name: default
                masquerade: {}
              - name: secondary 1
                bridge: {}
            resources:
              requests:
                memory: 1024Mi
          networks:
          - name: default
            pod: {}
          - name: secondary  2
            multus:
              networkName: l2-network 3
    # ...
    1
    OVN-Kubernetes セカンダリーインターフェイスの名前。
    2
    ネットワークの名前。これは、spec.template.spec.domain.devices.interfaces.name フィールドの値と一致する必要があります。
    3
    NetworkAttachmentDefinition オブジェクトの名前。
  2. VirtualMachine マニフェストを適用します。

    $ oc apply -f <filename>.yaml
  3. オプション: 実行中の仮想マシンを編集している場合は、変更を有効にするためにこれを再起動する必要があります。

8.7.3. 関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.