第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 for OpenShift Container Platform、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 を使用して、複数の名前空間にまたがる共有 OVN レイヤ 2 ネットワークを作成できます。

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

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

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

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

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

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

localnet トポロジーは、セカンダリーネットワークを物理アンダーレイに接続します。これにより、東西方向のクラスタートラフィックとクラスター外で実行されているサービスへのアクセスが可能になりますが、クラスターノード上の基盤となる 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. ネットワークアタッチメント定義 (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 用に仮想マシンの名前空間を設定します。
  3. DPDK アプリケーションを実行するように、仮想マシンとゲスト OS を設定します。

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

以下の表は、OVN-Kubernetes プラグインにおいて、Linux ブリッジ CNI を使用する場合と localnet トポロジーを使用する場合で利用可能な機能を比較したものです。

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

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

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

はい

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

はい

はい

レイヤー 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
トップに戻る