This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.17.10. Pod レベルのボンディングの使用
Pod レベルでのボンディングは、高可用性とスループットを必要とする Pod 内のワークロードを有効にするために不可欠です。Pod レベルのボンディングでは、カーネルモードインターフェイスで複数の Single Root I/O Virtualization (SR-IOV) Virtual Function インターフェイスからボンドインターフェイスを作成できます。SR-IOV Virtual Function は Pod に渡され、カーネルドライバーに割り当てられます。
Pod レベルのボンディングが必要なシナリオには、異なる Physical Function 上の複数の SR-IOV Virtual Function からのボンディングインターフェイスの作成が含まれます。ホストの 2 つの異なる Physical Function からボンディングインターフェイスを作成して、Pod レベルで高可用性およびスループットを実現するために使用できます。
SR-IOV ネットワークの作成、ネットワークポリシー、ネットワーク接続定義、Pod などのタスクのガイダンスはSR-IOV ネットワークデバイスの設定を参照してください。
17.10.1. 2 つの SR-IOV インターフェイスからのボンドインターフェイスの設定
ボンディングを使用して、複数のネットワークインターフェイスを、1 つの論理的なボンディングされたインターフェイスに集約できます。Bond Container Network Interface (Bond-CNI) により、コンテナーでボンディング機能を使用できます。
Bond-CNI は、Single Root I/O Virtualization (SR-IOV) Virtual Function を使用して作成し、それらをコンテナーネットワーク namespace に配置できます。
OpenShift Container Platform は、SR-IOV Virtual Functions を使用する Bond-CNI のみをサポートします。SR-IOV Network Operator は、Virtual Function の管理に必要な SR-IOV CNI プラグインを提供します。他の CNI またはインターフェイスのタイプはサポートされていません。
前提条件
- SR-IOV Network Operator をインストールおよび設定して、コンテナー内の Virtual Functions を取得する必要があります。
- SR-IOV インターフェイスを設定するには、インターフェイスごとに SR-IOV ネットワークとポリシーを作成する必要があります。
- SR-IOV Network Operator は、定義された SR-IOV ネットワークとポリシーをもとに、各 SR-IOV インターフェイスのネットワーク接続定義を作成します。
- 
							linkStateは、SR-IOV Virtual Function のデフォルト値autoに設定されます。
17.10.1.1. ボンドネットワーク接続定義の作成
SR-IOV Virtual Function が使用可能になったので、ボンドネットワーク接続定義を作成できます。
- 1
- cni-type は常にbondに設定されます。
- 2
- mode属性は、ボンドモードを指定します。注記- サポートされているボンドモードは次のとおりです。 - 
											balance-rr- 0
- 
											active-backup- 1
- 
											balance-xor- 2
 - balance-rrまたは- balance-xorモードの場合には、SR-IOV Virtual Function の- trustモードを- onに設定する必要があります。
- 
											
- 3
- active-backup モードではフェイルオーバー属性が必須であり、1 に設定する必要があります。
- 4
- linksInContainer=trueフラグは、必要なインターフェイスがコンテナー内にあることをボンディング CNI に通知します。デフォルトでは、ボンディング CNI は、SRIOV および Multus との統合で機能しないホストで、このようなインターフェイスを検索します。
- 5
- linksセクションは、結合の作成に使用するインターフェイスを定義します。デフォルトでは、Multus は接続されたインターフェイスに net と 1 から始まる連続した番号の名前を付けます。
17.10.1.2. ボンディングインターフェイスを使用した Pod の作成
- podbonding.yamlなどの名前の YAMLファイル以下の内容を追加して Pod を作成し、この設定をテストします。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- ネットワークのアノテーションに注意してください。これには、SR-IOV ネットワーク割り当てが 2 つとボンドネットワーク割り当てが 1 つ含まれています。ボンド割り当ては、2 つの SR-IOV インターフェイスをボンドポートインターフェイスとして使用します。
 
- 以下のコマンドを実行して yaml を適用します。 - oc apply -f podbonding.yaml - $ oc apply -f podbonding.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを使用して Pod インターフェイスを検査します。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注記- Pod アノテーションでインターフェイス名が設定されていない場合、インターフェイス名は - net<n>として自動的に割り当てられます (- <n>は- 1から始まります)。
- オプション: たとえば - bond0などの特定のインターフェイス名を設定する場合は、次のように- k8s.v1.cni.cncf.io/networksアノテーションを編集し、- bond0をインターフェイス名として設定します。- annotations: k8s.v1.cni.cncf.io/networks: demo/sriovnet1, demo/sriovnet2, demo/bond-net1@bond0- annotations: k8s.v1.cni.cncf.io/networks: demo/sriovnet1, demo/sriovnet2, demo/bond-net1@bond0- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow