8.2. マルチネットワークプラグイン (Multus) のサポート
OpenShift Data Foundation は、ベアメタルインフラストラクチャー上でマルチネットワークプラグイン Multus を使用する機能をサポートし、さまざまなタイプのネットワークトラフィックを分離することでセキュリティーとパフォーマンスを向上させます。Multus を使用すると、OpenShift Data Foundation 専用に、ホスト上の 1 つ以上のネットワークインターフェイスを予約できますが、
Multus を使用するには、まず Multus 前提条件検証ツールを実行します。ツールの使用方法は、OpenShift Data Foundation - Multus 前提条件検証ツール を参照してください。Multus ネットワークの詳細は、複数のネットワーク を参照してください。
8.2.1. Multus を使用したストレージトラフィックの分離
デフォルトで、Red Hat OpenShift Data Foundation は Red Hat OpenShift Software Defined Network (SDN) を使用するように設定されています。デフォルトの SDN には、以下のトラフィックタイプがあります。
- Pod 間のトラフィック
- Pod からストレージへのトラフィック (ストレージが OpenShift Data Foundation の場合はパブリックネットワークトラフィックと呼ばれます)
- OpenShift Data Foundation の内部レプリケーションおよびリバランストラフィック (クラスターネットワークトラフィックと呼ばれます)
OpenShift Data Foundation を OpenShift のデフォルトネットワークから分離する方法は 3 つあります。
OpenShift Data Foundation のパブリックネットワーク用にホスト上でネットワークインターフェイスを予約する
- Pod からストレージへのトラフィックと内部ストレージのレプリケーショントラフィックは、Pod 間のネットワークトラフィックから分離されたネットワーク上に共存します。
- OpenShift Data Foundation クラスターが正常な場合、アプリケーション Pod は最大のパブリックネットワークストレージ帯域幅にアクセスできます。
- ただし、OpenShift Data Foundation クラスターが障害から回復している場合、進行中のレプリケーションとトラフィックの再バランスにより、アプリケーション Pod の帯域幅が減少します。
OpenShift Data Foundation のクラスターネットワーク用にホスト上のネットワークインターフェイスを予約します。
- Pod 間のトラフィックと Pod からストレージへのトラフィックはどちらも OpenShift のデフォルトネットワークを使用し続けます。
- Pod からストレージまでの帯域幅は、OpenShift Data Foundation クラスターの正常性の影響をあまり受けません。
- Pod 間および Pod からストレージへの OpenShift Data Foundation トラフィックは、OpenShift クラスターがビジーな場合に、ネットワーク帯域幅をめぐって競合する可能性があります。
- ストレージの内部ネットワークには、障害時の使用のために予約された、未使用の帯域幅が過剰に存在することがよくあります。
OpenShift Data Foundation 用にホスト上で 2 つのネットワークインターフェイス (1 つはパブリックネットワーク用で、もう 1 つはクラスターネットワーク用) を予約します。
- Pod から Pod、Pod からストレージ、ストレージの内部トラフィックはすべて分離されており、どのトラフィックタイプもリソースをめぐって競合することはありません。
- すべてのトラフィックタイプのサービスレベルアグリーメントを確保できます。
- 正常な実行時には、より多くのネットワーク帯域幅が予約されますが、3 つのネットワークすべてで使用されません。
デュアルネットワークインターフェイスの分離設定の概略例:
デュアルネットワークインターフェイスの分離設定の概略例:
8.2.2. Multus を使用する場合
以下が必要な場合は、OpenShift Data Foundation に Multus を使用します。
遅延の改善 - ODF を使用した Multus は常に遅延を改善します。ホストインターフェイスをホストネットワークに近い速度で使用し、OpenShift のソフトウェア定義の Pod ネットワークをバイパスします。各インターフェイスのインターフェイスレベルごとの Linux チューニングを実行することもできます。
帯域幅の向上 - OpenShift Data Foundation クライアントデータトラフィックと内部データトラフィックの専用インターフェイス。これらの専用インターフェイスは、完全な帯域幅を予約します。
セキュリティーの向上 - Multus は、ストレージネットワークトラフィックをアプリケーションネットワークトラフィックから分離して、セキュリティーを強化します。ネットワークがインターフェイスを共有している場合、帯域幅またはパフォーマンスが分離されない場合がありますが、QoS またはトラフィックシェーピングを使用して、共有インターフェイス上の帯域幅に優先順位を付けることができます。
8.2.3. Multus 設定
Multus を使用するには、OpenShift Data Foundation クラスターをデプロイする前にネットワーク接続定義 (NAD) を作成する必要があります。これは後でクラスターに接続されます。詳細は、ネットワークアタッチメント定義の作成 を参照してください。
追加のネットワークを Pod に割り当てるには、インターフェイスの割り当て方法を定義する設定を作成する必要があります。それぞれのインターフェイスは、NetworkAttachmentDefinition
カスタムリソース (CR) を使用して指定します。これらの各 CR 内のコンテナーネットワークインターフェイス (CNI) 設定は、対象のインターフェイスの作成方法を定義します。
OpenShift Data Foundation は、2 種類のドライバーをサポートします。次の表では、ドライバーとその機能について説明します。
|
|
各接続は、独自の MAC アドレスを持つ親インターフェイスのサブインターフェイスを取得し、ホストネットワークから分離されます。 | 各接続は独自の IP アドレスを取得し、同じ MAC アドレスを共有します。 |
Linux ブリッジや |
|
ほとんどの場合、ブリッジモードが必要です。 |
|
ネットワークインターフェイスカード (NIC) がハードウェアで仮想ポート/仮想ローカルエリアネットワーク (VLAN) をサポートする場合の、ホストに近いパフォーマンス。 |
NIC がハードウェアで VLAN をサポートしていない場合、パフォーマンスは |
OpenShift Data Foundation は、次の 2 つのタイプの IP アドレス管理をサポートします。
| DHCP |
OpenShift/Kubernetes |
|
Pod に IP を提供するために DHCP サーバーを必要としません。 | ネットワーク DHCP サーバーは、Multus Pod および同じネットワーク上の他のホストに同じ範囲を割り当てることができます。 |
DHCP サーバーがある場合は、ネットワーク上の複数の MAC アドレスに同じ IP が割り当てられないように、Multus で設定された IPAM により、同じ範囲が設定されないようにします。
8.2.4. Multus 設定の要件
前提条件
- パブリックネットワークに使用されるインターフェイスは、各 OpenShift ストレージノードとワーカーノードで同じインターフェイス名を持つ必要があり、インターフェイスはすべて同じ基盤ネットワークに接続されている必要があります。
- クラスターネットワークに使用されるインターフェイスは、各 OpenShift ストレージノード上で同じインターフェイス名を持つ必要があり、インターフェイスはすべて同じ基盤ネットワークに接続されている必要があります。クラスターネットワークインターフェイスは OpenShift ワーカーノード上に存在する必要はありません。
- パブリックネットワークまたはクラスターネットワークに使用される各ネットワークインターフェイスは、少なくとも 10 ギガビットのネットワーク速度に対応できる必要があります。
- 各ネットワークには、個別の仮想ローカルエリアネットワーク (VLAN) またはサブネットが必要です。
ベアメタルで Multus ベースの設定に必要な手順については、Multus ネットワークの作成 を参照してください。