7.6. マルチネットワークプラグイン (Multus) のサポート [テクノロジープレビュー]
デフォルトで、Red Hat OpenShift Data Foundation は Red Hat OpenShift Software Defined Network (SDN) を使用するように設定されています。このデフォルト設定では、SDN には以下のトラフィックタイプがあります。
- Pod 対 Pod のトラフィック
- OpenShift Data Foundation パブリックネットワークトラフィックとして知られる OpenShift Data Foundation トラフィックへの Pod
- OpenShift Data Foundation クラスターネットワークトラフィックとして知られる OpenShift Data Foundation のレプリケーションおよびリバランス
ただし、OpenShift Data Foundation 4.8 以降では、テクノロジープレビューとして、さまざまな種類のネットワークトラフィックを分離することで、Multus を使用してセキュリティーやパフォーマンスを強化する機能がサポートされます。
Multus のサポートはテクノロジープレビュー機能としてのみサポートされ、ベアメタルおよび VMWare デプロイメントでテストされます。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。これらの機能は、近々発表予定の製品機能をリリースに先駆けてご提供することにより、お客様は機能性をテストし、開発プロセス中にフィードバックをお寄せいただくことができます。
詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
7.6.1. 複数ネットワークについて
Kubernetes では、コンテナーネットワークは Container Network Interface (CNI) を実装するネットワークプラグインに委任されます。
OpenShift Container Platform は、Multus CNI プラグインを使用して CNI プラグインのチェーンを許可します。クラスターのインストール時に、デフォルト の Pod ネットワークを設定します。デフォルトのネットワークは、クラスターのすべての通常のネットワークトラフィックを処理します。利用可能な CNI プラグインに基づいて 追加のネットワーク を定義し、1 つまたは複数のネットワークを Pod に割り当てることができます。必要に応じて、クラスターの複数のネットワークを追加で定義できます。これにより、スイッチングやルーティングなどのネットワーク機能を提供する Pod を設定する際に柔軟性が得られます。
7.6.1.1. 追加ネットワークの使用シナリオ
データプレーンとコントロールプレーンの分離など、ネットワークの分離が必要な状況で追加のネットワークを使用できます。トラフィックの分離は、以下のようなパフォーマンスおよびセキュリティー関連の理由で必要になります。
- パフォーマンス
- 各プレーンのトラフィック量を管理するために、2 つの異なるプレーンにトラフィックを送信できます。
- セキュリティー
- 機密トラフィックは、セキュリティー上の考慮に基づいて管理されているネットワークに送信でき、テナントまたはカスタマー間で共有できないプライベートを分離することができます。
クラスターのすべての Pod はクラスター全体のデフォルトネットワークを依然として使用し、クラスター全体での接続性を維持します。すべての Pod には、クラスター全体の Pod ネットワークに割り当てられる eth0
インターフェイスがあります。Pod のインターフェイスは、oc exec -it <pod_name> -- ip a
コマンドを使用して表示できます。Multus CNI を使用するネットワークを追加する場合、それらの名前は net1
、net2
、…、 netN
になります。
追加のネットワークを Pod に割り当てるには、インターフェイスの割り当て方法を定義する設定を作成する必要があります。それぞれのインターフェイスは、NetworkAttachmentDefinition
カスタムリソース (CR) を使用して指定します。これらの CR のそれぞれにある CNI 設定は、インターフェイスの作成方法を定義します。
7.6.2. Multus を使用したストレージトラフィックの分離
Multus を使用するには、OpenShift Data Foundation クラスターをデプロイする前に、後にクラスターにアタッチされる Network attachment definition (NAD) を作成する必要があります。詳細は以下を参照してください。
- ベアメタルの場合は Creating network attachment definitions
- VMware の場合は Creating network attachment definitions
Multus を使用すると、ハードウェアの設定や VMWare インスタンスのネットワーク設定に応じて、以下の設定が可能です。
デュアルネットワークインターフェイスを持つノードの推奨設定
分離されたストレージトラフィック
- OpenShift SDN に 1 つのインターフェイスを設定 (Pod 対 Pod のトラフィック)
- すべての OpenShift Data Foundation トラフィックに対して 1 つのインターフェイスを設定
トリプルネットワークインターフェイスを持つノードの推奨設定
完全なトラフィック分離
- OpenShift SDN に 1 つのインターフェイスを設定 (Pod 対 Pod のトラフィック)
- OpenShift Data Foundation トラフィック (OpenShift Data Foundation public トラフィック) へのすべての Pod に 1 つのインターフェイスを設定します。
- すべての OpenShift Data Foundation レプリケーションおよびリバランストラフィックに 1 つのインターフェイスを設定 (OpenShift Data Foundation クラスタートラフィック)
7.6.3. Multus 設定の推奨ネットワーク設定および要件
Multus 設定を利用する場合は、以下の前提条件を満たす必要があります。
- Multus 設定を完全に機能させるため、OpenShift Data Foundation のデプロイに使用されるすべてのノードには、同じネットワークインターフェイス設定が必要です。すべてのノードのネットワークインターフェイス名は同じにする必要があり、Multus パブリックネットワークおよび Multus クラスターネットワークの同じ基礎となるスイッチメカニズムに接続されている必要があります。
- Multus 設定を完全に機能させるため、永続ストレージに OpenShift Data Foundation を利用するアプリケーションをデプロイするために使用されるワーカーノードはすべて、同じネットワークインターフェイス設定を持つ必要があります。2 つのインターフェイスの 1 つは、Storage ノードに Multus パブリックネットワークを設定するために使用されるインターフェイス名と同じである必要があります。すべてのワーカーネットワークインターフェイスが、Storage ノードの Multus パブリックネットワークに使用されるものと同じ基礎となるスイッチメカニズムに接続されている必要があります。
デュアルネットワークインターフェイスの分離設定の概略例:
デュアルネットワークインターフェイスの分離設定の概略例:
OpenShift Data Foundation OSD が実行されているストレージノードのみに、Multus によって設定された OpenShift Data Foundation クラスターネットワークへのアクセスが必要になります。
ベアメタルで Multus ベースの設定に必要な手順については、Creating Multus networks を参照してください。
VMware で Multus ベースの設定に必要な手順については、Creating Multus networks を参照してください。