第6章 複数ネットワークの管理
6.1. 概要
Multus CNI は、OpenShift Container Platform で複数のネットワークインターフェースを Pod に割り当てる機能を提供します。これは、スイッチまたはルーティンぐなどのネットワーク機能を提供する Pod を設定する必要がある場合に柔軟性を実現します。
Multus CNI は、データプレーンとコントロールプレーンの分離などの、ネットワークの分離が必要な状況で役立ちます。トラフィックの分離は、以下のようなパフォーマンスおよびセキュリティー関連の理由で必要になります。
- パフォーマンス
- 各プレーンのトラフィック量を管理するために、2 つの異なるプレーンにトラフィックを送信できます。
- セキュリティー
- 機密トラフィックは、セキュリティー上の考慮に基づいて管理されているネットワークに送信でき、テナントまたはカスタマー間で共有できないプライベートを分離することができます。
クラスターのすべての Pod はクラスター全体のデフォルトのネットワークを依然として使用し、クラスター全体での接続性を維持します。すべての Pod には、クラスター全体の Pod ネットワークに割り当てられる eth0
インターフェースがあります。Pod のインターフェースは、oc exec -it <pod_name> -- ip a
コマンドを使用して表示できます。Multus CNI を使用してネットワークインターフェースを追加する場合、それらの名前は net1
、net2
、… になります。netN
などになります。
追加のネットワークを Pod に割り当てるには、インターフェースの割り当て方法を定義する設定を作成する必要があります。それぞれのインターフェースは、NetworkAttachmentDefinition
タイプのあるカスタムリソース (CR) を使用して指定されます。これらの CR のそれぞれにある CNI 設定は、インターフェースの作成方法を定義します。Multus CNI は、他の CNI プラグインを呼び出すことのできる CNI プラグインです。これにより、他の CNI プラグインを使用して追加のネットワークインターフェースを作成できます。高パフォーマンスのネットワークを達成するには、Multus CNI で SR-IOV デバイスプラグインを使用します。
以下の手順を実行して、追加のネットワークインターフェースを Pod に割り当てます。
- CNI 設定をカスタムリソースとして作成します。
- Pod に設定名のアノテーションを付けます。
- ステータスアノテーションを表示して、割り当てが正常に行われたことを確認します。