第8章 ネットワーク


8.1. ネットワークの概要

OpenShift Virtualization は、カスタムリソースおよびプラグインを使用して高度なネットワーク機能を提供します。仮想マシン (VM) は、OpenShift Container Platform のネットワークおよびエコシステムと統合されています。

注記

シングルスタックの IPv6 クラスターで OpenShift Virtualization は実行できません。

次の図は、OpenShift Virtualization の一般的なネットワーク設定を示しています。他の設定も可能です。

図8.1 OpenShift Virtualization ネットワークの概要

20 Pod と仮想マシンは同じネットワークインフラストラクチャー上で実行するため、コンテナー化されたワークロードと仮想化されたワークロードを簡単に接続できます。

20 仮想マシンをデフォルトの Pod ネットワークおよび任意の数のセカンダリーネットワークに接続できます。

20 デフォルトの Pod ネットワークは、すべてのメンバー間の接続、サービス抽象化、IP 管理、マイクロセグメンテーション、およびその他の機能を提供します。

20 Multus は、互換性のある他の CNI プラグインを使用して、Pod または仮想マシンが追加のネットワークインターフェイスに接続できるようにする "メタ" CNI プラグインです。

20 デフォルトの Pod ネットワークはオーバーレイベースであり、基盤となるマシンネットワークを介してトンネリングされます。

20 マシンネットワークは、選択したネットワークインターフェイスコントローラー (NIC) のセットを介して定義できます。

20 セカンダリー仮想マシンネットワークは通常、VLAN カプセル化の有無にかかわらず、物理ネットワークに直接ブリッジされます。セカンダリーネットワーク用の仮想オーバーレイネットワークを作成することも可能です。

注記

仮想マシンをアンダーレイネットワークに直接接続することは、Red Hat OpenShift Service on AWS ではサポートされていません。

20 セカンダリー仮想マシンネットワークは、図 1 に示すように専用の NIC セットで定義することも、マシンネットワークを使用することもできます。

8.1.1. OpenShift Virtualization ネットワークの用語集

以下の用語は、OpenShift Virtualization ドキュメント全体で使用されています。

Container Network Interface (CNI)
コンテナーのネットワーク接続に重点を置く Cloud Native Computing Foundation プロジェクト。OpenShift Virtualization は CNI プラグインを使用して基本的な Kubernetes ネットワーク機能を強化します。
Multus
複数の CNI の存在を可能にし、Pod または仮想マシンが必要なインターフェイスを使用できるようにする "メタ" CNI プラグイン。
カスタムリソース定義 (CRD)
カスタムリソースの定義を可能にする Kubernetes API リソース、または CRD API リソースを使用して定義されるオブジェクト。
Network Attachment Definition (NAD)
Multus プロジェクトによって導入された CRD。Pod、仮想マシン、および仮想マシンインスタンスを 1 つ以上のネットワークに接続できるようにします。
ノードネットワーク設定ポリシー (NNCP)
nmstate プロジェクトによって導入された CRD。ノード上で要求されるネットワーク設定を表します。NodeNetworkConfigurationPolicy マニフェストをクラスターに適用して、インターフェイスの追加および削除など、ノードネットワーク設定を更新します。

8.1.2. デフォルトの Pod ネットワークの使用

仮想マシンをデフォルトの Pod ネットワークに接続する
各仮想マシンは、デフォルトの内部 Pod ネットワークにデフォルトで接続されます。仮想マシン仕様を編集することで、ネットワークインターフェイスを追加または削除できます。
仮想マシンをサービスとして公開する
Service オブジェクトを作成することで、クラスター内またはクラスター外に仮想マシンを公開できます。オンプレミスクラスターの場合、MetalLB Operator を使用して負荷分散サービスを設定できます。OpenShift Container Platform Web コンソールまたは CLI を使用して MetalLB Operator をインストール できます。

8.1.3. 仮想マシンのセカンダリーネットワークインターフェイスの設定

Linux ブリッジ、SR-IOV、OVN-Kubernetes CNI プラグインを使用して、仮想マシンをセカンダリーネットワークに接続できます。仮想マシン仕様では、複数のセカンダリーネットワークとインターフェイスをリストできます。セカンダリーネットワークインターフェイスに接続する場合、仮想マシン仕様でプライマリー Pod ネットワークを指定する必要はありません。

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

仮想マシンを OVN-Kubernetes セカンダリーネットワークに接続できます。OpenShift Virtualization は、OVN-Kubernetes の layer2 および localnet トポロジーをサポートしています。localnet トポロジーは、VLAN カプセル化の有無にかかわらず、基盤となる物理ネットワークに仮想マシンを公開する方法として推奨されます。

  • layer2 トポロジーは、クラスター全体の論理スイッチによってワークロードを接続します。OVN-Kubernetes CNI プラグインは、Geneve (Generic Network Virtualization Encapsulation) プロトコルを使用して、ノード間にオーバーレイネットワークを作成します。このオーバーレイネットワークを使用すると、追加の物理ネットワークインフラストラクチャーを設定することなく、さまざまなノード上の仮想マシンを接続できます。
  • localnet トポロジーは、セカンダリーネットワークを物理アンダーレイに接続します。これにより、east-west クラスタートラフィックとクラスター外で実行されているサービスへのアクセスの両方が可能になります。ただし、クラスターノード上の基盤となる Open vSwitch (OVS) システムの追加設定が必要です。

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

  1. ネットワークアタッチメント定義 (NAD) を作成して、OVN-Kubernetes セカンダリーネットワークの設定 を行います。

    注記

    localnet トポロジーの場合、NAD を作成する前に NodeNetworkConfigurationPolicy オブジェクトを作成して OVS ブリッジを設定 する必要があります。

  2. ネットワークの詳細を仮想マシン仕様に追加して、仮想マシンを OVN-Kubernetes セカンダリーネットワークに接続 します。
仮想マシンの SR-IOV ネットワークへの接続

高帯域幅または低レイテンシーを必要とするアプリケーション向けに、ベアメタルまたは Red Hat OpenStack Platform (RHOSP) インフラストラクチャーにインストールされた OpenShift Container Platform クラスター上の追加ネットワークで、Single Root I/O Virtualization (SR-IOV) ネットワークデバイスを使用できます。

SR-IOV ネットワークデバイスとネットワークアタッチメントを管理するには、クラスターに SR-IOV Network Operator をインストール する必要があります。

次の手順を実行すると、仮想マシンを SR-IOV ネットワークに接続できます。

  1. SriovNetworkNodePolicy CRD を作成して、SR-IOV ネットワークデバイスを設定 します。
  2. SriovNetwork オブジェクトを作成して、SR-IOV ネットワークを設定 します。
  3. 仮想マシン設定にネットワークの詳細を追加して、仮想マシンを SR-IOV ブリッジネットワークに接続 します。
Linux ブリッジネットワークへの仮想マシンの接続

Kubernetes NMState Operator をインストール して、セカンダリーネットワークの Linux ブリッジ、VLAN、およびボンディングを設定します。基盤となる物理ネットワークに仮想マシンを接続する方法としては、OVN-Kubernetes の localnet トポロジーが推奨されます。ただし、OpenShift Virtualization は Linux ブリッジネットワークもサポートしています。

注記

Linux ブリッジネットワークを使用する場合、デフォルトのマシンネットワークに直接接続することはできません。

次の手順を実行すると、Linux ブリッジネットワークを作成し、そのネットワークに仮想マシンを接続できます。

  1. NodeNetworkConfigurationPolicy カスタムリソース定義 (CRD) を作成して、Linux ブリッジネットワークデバイスを設定 します。
  2. NetworkAttachmentDefinition CRD を作成して、Linux ブリッジネットワークを設定 します。
  3. 仮想マシン設定にネットワークの詳細を追加して、仮想マシンを Linux ブリッジネットワークに接続 します。
ホットプラグ対応のセカンダリーネットワークインターフェイス
仮想マシンを停止せずに、セカンダリーネットワークインターフェイスを追加または削除できます。OpenShift Virtualization は、ブリッジバインディングおよび VirtIO デバイスドライバーを使用するセカンダリーインターフェイスのホットプラグとホットアンプラグをサポートしています。OpenShift Virtualization は、SR-IOV バインディングを使用するセカンダリーインターフェイスのホットプラグもサポートしています。
SR-IOV での DPDK の使用
Data Plane Development Kit (DPDK) は、高速パケット処理用のライブラリーとドライバーのセットを提供するものです。SR-IOV ネットワーク上で DPDK ワークロードを実行するようにクラスターと仮想マシンを設定できます。
ライブマイグレーション用の専用ネットワークの設定
ライブマイグレーション専用の Multus ネットワーク を設定できます。専用ネットワークは、ライブマイグレーション中のテナントワークロードに対するネットワークの飽和状態の影響を最小限に抑えます。
クラスター FQDN を使用した仮想マシンへのアクセス
完全修飾ドメイン名 (FQDN) を使用して、クラスターの外部からセカンダリーネットワークインターフェイスに接続されている仮想マシンにアクセスできます。
IP アドレスの設定と表示
仮想マシンを作成するときに、セカンダリーネットワークインターフェイスの IP アドレスを設定できます。IP アドレスは、cloud-init でプロビジョニングされます。仮想マシンの IP アドレスは、OpenShift Container Platform Web コンソールまたはコマンドラインを使用して表示できます。ネットワーク情報は QEMU ゲストエージェントによって収集されます。

8.1.3.1. Linux ブリッジ CNI と OVN-Kubernetes localnet トポロジーの比較

次の表は、Linux ブリッジ CNI を使用する場合と OVN-Kubernetes プラグインの localnet トポロジーを使用する場合に利用できる機能の比較を示しています。

Expand
表8.1 Linux ブリッジ CNI と OVN-Kubernetes localnet トポロジーの比較
機能Linux ブリッジ CNI で利用可能OVN-Kubernetes localnet で利用可能

アンダーレイネイティブネットワークへのレイヤー 2 アクセス

セカンダリーネットワークインターフェイスコントローラー (NIC) のみ

はい

アンダーレイ VLAN へのレイヤー 2 アクセス

はい

はい

ネットワークポリシー

いいえ

はい

管理された IP プール

いいえ

はい

MAC スプーフィングフィルタリング

はい

はい

8.1.4. OpenShift Service Mesh との統合

仮想マシンのサービスメッシュへの接続
OpenShift Virtualization は OpenShift Service Mesh と統合されています。Pod と仮想マシン間のトラフィックを監視、視覚化、制御できます。

8.1.5. MAC アドレスプールの管理

ネットワークインターフェイスの MAC アドレスプールの管理
KubeMacPool コンポーネントは、共有 MAC アドレスプールから仮想マシンネットワークインターフェイスの MAC アドレスを割り当てます。これにより、各ネットワークインターフェイスに一意の MAC アドレスが確実に割り当てられます。その仮想マシンから作成された仮想マシンインスタンスは、再起動後も割り当てられた MAC アドレスを保持します。

8.1.6. SSH アクセスの設定

仮想マシンへの SSH アクセスの設定

次の方法を使用して、仮想マシンへの SSH アクセスを設定できます。

  • virtctl ssh コマンド

    SSH 鍵ペアを作成し、公開鍵を仮想マシンに追加し、秘密鍵を使用して virtctl ssh コマンドを実行して仮想マシンに接続します。

    cloud-init データソースを使用して設定できるゲストオペレーティングシステムを使用して、実行時または最初の起動時に Red Hat Enterprise Linux (RHEL) 9 仮想マシンに SSH 公開鍵を追加できます。

  • virtctl port-forward コマンド

    virtctl port-foward コマンドを .ssh/config ファイルに追加し、OpenSSH を使用して仮想マシンに接続します。

  • サービス

    サービスを作成し、そのサービスを仮想マシンに関連付け、サービスによって公開されている IP アドレスとポートに接続します。

  • セカンダリーネットワーク

    セカンダリーネットワークを設定し、仮想マシンをセカンダリーネットワークインターフェイスに接続し、割り当てられた IP アドレスに接続します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

Theme

© 2025 Red Hat