3.8. コンテナーネットワーク namespace での master インターフェイスの設定
次のセクションでは、master インターフェイスに基づいて MAC-VLAN、IP-VLAN、および VLAN サブインターフェイスを作成および管理する方法の手順と情報を提供します。
3.8.1. コンテナーネットワーク namespace での master インターフェイスの設定について
					コンテナー namespace に存在する master インターフェイスに基づいて、MAC-VLAN、IP-VLAN、または VLAN サブインターフェイスを作成できます。別のネットワークアタッチメント定義 CRD で、Pod ネットワーク設定の一部として master インターフェイスを作成することもできます。
				
					コンテナー namespace の master インターフェイスを使用するには、NetworkAttachmentDefinition CRD のサブインターフェイス設定に存在する linkInContainer パラメーターに true を指定する必要があります。
				
3.8.1.1. SR-IOV VF 上で複数の VLAN を作成する
この機能を利用するユースケースの例として、SR-IOV VF に基づいて複数の VLAN を作成することが挙げられます。これを行うには、まず SR-IOV ネットワークを作成し、次に VLAN インターフェイスのネットワーク割り当てを定義します。
次の例は、この図に示されているセットアップを設定する方法を示しています。
図3.1 VLAN の作成
前提条件
- 
								OpenShift CLI (oc) がインストールされている。
- 
								cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。
- SR-IOV Network Operator がインストールされている。
手順
- 次のコマンドを使用して、Pod をデプロイする専用のコンテナー namespace を作成します。 - oc new-project test-namespace - $ oc new-project test-namespace- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- SR-IOV ノードポリシーを作成します。 - SriovNetworkNodePolicyオブジェクトを作成してから、YAML を- sriov-node-network-policy.yamlファイルに保存します。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注記- deviceType: netdeviceを設定した SR-IOV ネットワークノードポリシーの設定例は、Mellanox ネットワークインターフェイスカード (NIC) 向けに特別に調整されています。
- 以下のコマンドを実行して YAML を適用します。 - oc apply -f sriov-node-network-policy.yaml - $ oc apply -f sriov-node-network-policy.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注記- ノードの再起動が必要なため、YAML の適用には時間がかかる場合があります。 
 
- SR-IOV ネットワークを作成します。 - 次の CR の例のように、追加のセカンダリー SR-IOV ネットワーク割り当て用の - SriovNetworkカスタムリソース (CR) を作成します。YAML を- sriov-network-attachment.yamlファイルとして保存します。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 以下のコマンドを実行して YAML を適用します。 - oc apply -f sriov-network-attachment.yaml - $ oc apply -f sriov-network-attachment.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- VLAN セカンダリーネットワークを作成します。 - 以下の YAML の例を使用して、 - vlan100-additional-network-configuration.yamlという名前のファイルを作成します。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 以下のコマンドを実行して、YAML ファイルを適用します。 - oc apply -f vlan100-additional-network-configuration.yaml - $ oc apply -f vlan100-additional-network-configuration.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 前に指定したネットワークを使用して、Pod 定義を作成します。 - 次の YAML の例を使用して、 - pod-a.yamlという名前のファイルを作成します。注記- 以下のマニフェストには 2 つのリソースが含まれています。 - セキュリティーラベルのある namespace
- 適切なネットワークアノテーションを含む Pod 定義
 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- VLAN インターフェイスのmasterとして使用される名前。
 
- 以下のコマンドを実行して、YAML ファイルを適用します。 - oc apply -f pod-a.yaml - $ oc apply -f pod-a.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 次のコマンドを実行して、 - test-namespace内の- nginx-podに関する詳細情報を取得します。- oc describe pods nginx-pod -n test-namespace - $ oc describe pods nginx-pod -n test-namespace- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
3.8.1.2. コンテナー namespace のブリッジマスターインターフェイスをベースにしてサブインターフェイスを作成する
						コンテナー namespace に存在するブリッジ master インターフェイスに基づいてサブインターフェイスを作成できます。サブインターフェイスの作成は、他のタイプのインターフェイスに適用できます。
					
前提条件
- 
								OpenShift CLI (oc) がインストールされている。
- 
								cluster-admin権限を持つユーザーとして OpenShift Container Platform クラスターにログインしている。
手順
- 次のコマンドを入力して、Pod のデプロイ先となる専用のコンテナー namespace を作成します。 - oc new-project test-namespace - $ oc new-project test-namespace- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次の YAML の例を使用して、 - bridge-nad.yamlという名前のブリッジ- NetworkAttachmentDefinitionカスタムリソース定義 (CRD) ファイルを作成します。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、 - NetworkAttachmentDefinitionCRD を OpenShift Container Platform クラスターに適用します。- oc apply -f bridge-nad.yaml - $ oc apply -f bridge-nad.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを入力して、 - NetworkAttachmentDefinitionCRD が正常に作成されたことを確認します。予想される出力には、NAD CRD の名前と作成後の経過時間 (分) が表示されます。- oc get network-attachment-definitions - $ oc get network-attachment-definitions- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 以下の YAML の例を使用して、IPVLAN セカンダリーネットワーク設定用に - ipvlan-additional-network-configuration.yamlという名前のファイルを作成します。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 以下のコマンドを実行して、YAML ファイルを適用します。 - oc apply -f ipvlan-additional-network-configuration.yaml - $ oc apply -f ipvlan-additional-network-configuration.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、 - NetworkAttachmentDefinitionCRD が正常に作成されたことを確認します。予想される出力には、NAD CRD の名前と作成後の経過時間 (分) が表示されます。- oc get network-attachment-definitions - $ oc get network-attachment-definitions- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 以下の YAML の例を使用して、Pod 定義用に - pod-a.yamlという名前のファイルを作成します。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- IPVLAN インターフェイスのmasterとして使用する名前を指定します。
 
- 以下のコマンドを実行して、YAML ファイルを適用します。 - oc apply -f pod-a.yaml - $ oc apply -f pod-a.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 以下のコマンドを使用して、Pod が実行されていることを確認します。 - oc get pod -n test-namespace - $ oc get pod -n test-namespace- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - NAME READY STATUS RESTARTS AGE pod-a 1/1 Running 0 2m36s - NAME READY STATUS RESTARTS AGE pod-a 1/1 Running 0 2m36s- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 次のコマンドを実行して、 - test-namespace内の- pod-aリソースに関するネットワークインターフェイス情報を表示します。- oc exec -n test-namespace pod-a -- ip a - $ oc exec -n test-namespace pod-a -- ip a- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - この出力は、ネットワークインターフェイス - net2が物理インターフェイス- net1に関連付けられていることを示しています。
