第10章 ネットワーク


10.1. ネットワークの概要

仮想マシン (VM) をクラスターネットワークに接続するには、OpenShift Virtualization でデフォルトおよびユーザー定義のネットワークオプションを設定します。

シングルスタック IPv6 クラスターに対する OpenShift Virtualization のサポートは、OVN-Kubernetes localnet および Linux ブリッジ Container Network Interface (CNI) プラグインに限定されています。

重要

シングルスタック IPv6 クラスターへの OpenShift Virtualization のデプロイは、テクノロジープレビュー機能です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は、実稼働環境でこれらを使用することを推奨していません。テクノロジープレビュー機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行い、フィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

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

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

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、Azure、OpenShift Dedicated、Google Cloud、または Oracle® Cloud Infrastructure (OCI) では、仮想マシンをアンダーレイネットワークに直接接続することはサポートされていません。

注記

パブリッククラウドでは、layer2 トポロジーを使用して仮想マシンをユーザー定義ネットワークに接続することを推奨します。

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

10.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 リソースを使用して定義されるオブジェクト。
NetworkAttachmentDefinition
Multus プロジェクトによって導入された CRD。Pod、仮想マシン、および仮想マシンインスタンスを 1 つ以上のネットワークに接続できるようにします。
UserDefinedNetwork
ユーザー定義ネットワーク (UDN) API によって導入された namespace スコープの CRD。これを使用して、テナント namespace を他の namespace から分離するテナントネットワークを作成できます。
ClusterUserDefinedNetwork
ユーザー定義ネットワーク API によって導入されたクラスタースコープの CRD。これは、クラスター管理者が複数の namespace 全体で共有ネットワークを作成するために使用できます。
NodeNetworkConfigurationPolicy
nmstate プロジェクトによって導入された CRD。ノード上で要求されるネットワーク設定を表します。NodeNetworkConfigurationPolicy マニフェストをクラスターに適用して、インターフェイスの追加および削除など、ノードネットワーク設定を更新します。

10.1.2. オーバーレイネットワークを管理する

仮想マシン (VM) が標準の OpenShift Container Platform ネットワークモデルを使用して確実に接続できるようにするには、クラスター全体の接続性を確保するために、デフォルトの Pod ネットワークを設定します。

オーバーレイネットワークは、物理ネットワークの上に柔軟なソフトウェア定義の接続レイヤーを提供し、基盤となるハードウェアを変更することなく、ネットワークのセグメンテーション、カスタムルーティング、簡素化された管理などのサービスを可能にします。

仮想マシンをデフォルトの Pod ネットワークに接続する

各仮想マシンは、デフォルトの内部 Pod ネットワークにデフォルトで接続されます。仮想マシン仕様を編集することで、ネットワークインターフェイスを追加または削除できます。

ヘッドレスサービスを使用すると、安定した完全修飾ドメイン名 (FQDN) 上のデフォルトの内部 Pod ネットワークに接続されている仮想マシン (VM) にアクセスできます。

仮想マシンをカスタムプライマリーオーバーレイネットワークに接続する

ワークロードに対して、分離された柔軟なトラフィックパスを提供するために、マルチネームスペース接続をサポートするプライマリーユーザー定義ネットワーク (UDN) を設定します。

クラスター管理者は、プライマリー UserDefinedNetwork CRD を設定して、ネットワークポリシーを必要とせずに、テナント namespace を他の namespace から分離するテナントネットワークを作成できます。さらに、クラスター管理者は ClusterUserDefinedNetwork CRD を使用して、複数の namespace にわたって共有 OVN layer 2 ネットワークを作成できます。

layer 2 オーバーレイトポロジーを使用したユーザー定義ネットワークは、仮想マシンのワークロードに役立ち、物理ネットワークアクセスが制限されている環境 (例: パブリッククラウド) では、セカンダリーネットワークの適切な代替手段となります。layer 2 トポロジーにより、ネットワークアドレス変換 (NAT) を必要とせずに仮想マシンをシームレスに移行できるほか、再起動後やライブマイグレーション中に保持される永続的な IP アドレスも提供されます。

仮想マシンをカスタムセカンダリーオーバーレイネットワークに接続する
layer 2 トポロジーを持つセカンダリー UDN を設定して、異なるノードにまたがる仮想マシングループ間でプライベートで隔離された通信チャネルを作成します。layer 2 トポロジーは、クラスター全体の論理スイッチでワークロードを接続します。OVN-Kubernetes CNI プラグインは、Geneve (Generic Network Virtualization Encapsulation) プロトコルを使用して、ノード間にオーバーレイネットワークを作成します。このオーバーレイネットワークを使用すると、追加の物理ネットワークインフラストラクチャーを設定することなく、さまざまなノード上の仮想マシンを接続できます。
仮想マシンをサービスとして公開することで、外部 Ingress を設定する
Service オブジェクトを作成することで、クラスター内またはクラスター外に仮想マシンを公開できます。オンプレミスクラスターの場合、MetalLB Operator を使用して負荷分散サービスを設定できます。OpenShift Container Platform Web コンソールまたは CLI を使用して、MetalLB Operator をインストールできます。
Service Mesh に仮想マシンを追加します
OpenShift Virtualization は、Red Hat OpenShift Service Mesh と統合されました。IPv4 を使用したデフォルトの Pod ネットワークでは、Pod と仮想マシン間のトラフィックを監視、可視化、および制御できます。

10.1.3. プロバイダーの物理ネットワークに接続する

仮想マシン (VM) がインターネットや他の物理デバイスにアクセスできるようにするには、ノードネットワークを設定し、セカンダリーネットワークを定義して、仮想マシンをセカンダリーネットワークに接続します。

Open vSwitch ブリッジを使用して仮想マシンを物理ネットワークに接続する

OVN-Kubernetes のセカンダリーユーザー定義ネットワーク (UDN) を localnet トポロジーで設定することで、仮想マシンを物理ネットワークインフラストラクチャーに接続できます。

localnet トポロジーは、セカンダリーネットワークを物理アンダーレイに接続します。これにより、east-west クラスタートラフィックとクラスター外で実行されているサービスへのアクセスの両方が可能になります。ただし、クラスターノード上の基盤となる Open vSwitch (OVS) ブリッジの追加設定が必要です。

クラスター管理者は、以下の手順を使用してローカルネット UDN を設定できます。

  1. クラスターノード全体にわたってステートドリブンのネットワーク設定を提供する Kubernetes NMState Operator をインストールします。
  2. NodeNetworkConfigurationPolicy カスタムリソース (CR) を使用して OVS ブリッジを設定し、ノードに適切なブリッジマッピングを追加します。
  3. UDN API の ClusterUserDefinedNetwork CR を使用して、前の手順で設定した OVS ブリッジを介してワークロードをアンダーレイネットワークに接続します。
Linux ブリッジを使用して仮想マシンを物理ネットワークに接続する

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

注記

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

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

  1. Linux ブリッジノードネットワーク設定ポリシー (NNCP) を作成して、ノードネットワークを準備します。
  2. Network Attachment Definition (NAD) を作成して、セカンダリー Linux ブリッジネットワークを定義します。
  3. 仮想マシンを Linux ブリッジネットワークにアタッチします。
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 CR を作成して、SR-IOV 物理ネットワークデバイスを設定します。
  2. SriovNetwork オブジェクトを作成して、SR-IOV セカンダリーネットワークを定義します。
  3. 仮想マシン設定にネットワークの詳細を追加して、仮想マシンを SR-IOV ブリッジネットワークに接続します。
SR-IOV ハードウェアと DPDK ドライバーを使用して、仮想マシンを物理ネットワークに接続する

Data Plane Development Kit (DPDK) は、高速パケット処理用のライブラリーとドライバーのセットを提供するものです。以下の手順を実行することで、クラスターと仮想マシンを設定して、SR-IOV ネットワーク上で DPDK ワークロードを実行できます。

  1. ノードのハードウェアを設定します。
  2. DPDK 用に仮想マシンの namespace を設定します。
  3. DPDK アプリケーションを実行するように、仮想マシンとゲスト OS を設定します。

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

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

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

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

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

はい

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

はい

はい

layer 2 トランクアクセス

はい

いいえ

ネットワークポリシー

いいえ

はい

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

はい

はい (常時オン)

10.1.4. 仮想マシンネットワークインターフェイス設定の管理

仮想マシン (VM) のネットワーク設定を管理し、アプリケーションのダウンタイムを発生させることなく接続性を拡張し、ネットワークレイテンシーのトラブルシューティングを行い、MAC アドレスプールの定義と管理の自動化、IP アドレスの設定、およびライブマイグレーショントラフィックの分離を行います。

ホットプラグ対応セカンダリーネットワークインターフェイス
仮想マシンを停止せずに、セカンダリーネットワークインターフェイスを追加または削除できます。OpenShift Virtualization は、ブリッジバインディングおよび VirtIO デバイスドライバーを使用するセカンダリーインターフェイスのホットプラグとホットアンプラグをサポートしています。OpenShift Virtualization は、SR-IOV バインディングを使用するセカンダリーインターフェイスのホットプラグもサポートしています。
外部 FQDN を使用して仮想マシンにアクセスする
完全修飾ドメイン名 (FQDN) を使用して、クラスターの外部からセカンダリーネットワークインターフェイスに接続されている仮想マシン (VM) にアクセスできます。外部 FQDN を使用して仮想マシンに接続するには、DNS サーバーを設定し、クラスター FQDN を取得してから、ssh コマンドを使用して仮想マシンに接続する必要があります。
仮想マシンネットワークインターフェイスのリンク状態を管理する

OpenShift Container Platform の Web コンソールまたはコマンドラインを使用して、プライマリーまたはセカンダリー仮想マシンネットワークインターフェイスのリンク状態を管理できます。リンク状態を指定することで、仮想ネットワークインターフェイスコントローラー (vNIC) をネットワークに論理的に接続または切断できます。

注記

OpenShift Virtualization は、Single Root I/O Virtualization (SR-IOV) セカンダリーネットワークインターフェイスのリンク状態管理をサポートしておらず、それらのリンク状態は報告されません。

仮想マシン IP アドレスの設定と表示
仮想マシンを作成する際に、セカンダリーネットワークインターフェイスの IP アドレスを設定できます。IP アドレスは、cloud-init でプロビジョニングされます。仮想マシンの IP アドレスは、OpenShift Container Platform Web コンソールまたはコマンドラインを使用して表示できます。ネットワーク情報は QEMU ゲストエージェントによって収集されます。
仮想マシンネットワークインターフェイスの MAC アドレスプールを管理する
KubeMacPool コンポーネントは、共有 MAC アドレスプールから仮想マシンネットワークインターフェイスの MAC アドレスを割り当てます。これにより、各ネットワークインターフェイスに一意の MAC アドレスが確実に割り当てられます。その仮想マシンから作成された仮想マシンインスタンスは、再起動後も割り当てられた MAC アドレスを保持します。
ライブマイグレーション専用のネットワークを設定する
ライブマイグレーション専用の Multus ネットワークを設定できます。専用ネットワークは、ライブマイグレーション中のテナントワークロードに対するネットワークの飽和状態の影響を最小限に抑えます。

10.1.5. 仮想マシンの SSH アクセスを設定する

SSH を使用すると、コマンドラインから仮想マシン (VM) にセキュアにアクセスできます。

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

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る