5.3. インストール後のネットワーク設定
デフォルトでは、OpenShift Virtualization は単一の内部 Pod ネットワークとともにインストールされます。
OpenShift Virtualization をインストールした後、ネットワーク Operator をインストールし、追加のネットワークを設定できます。
5.3.1. ネットワーク Operator のインストール
ライブマイグレーションまたは仮想マシン (VM) への外部アクセス用に Linux ブリッジネットワークを設定するには、Kubernetes NMState Operator をインストールする必要があります。インストール手順は、Web コンソールを使用した Kubernetes NMState Operator のインストール を参照してください。
SR-IOV Operator をインストールして、SR-IOV ネットワークデバイスとネットワークアタッチメントを管理できます。インストール手順は、SR-IOV Network Operator のインストール を参照してください。
MetalLB と MetalLB Operator を追加すると、クラスター上の MetalLB インスタンスのライフサイクルを管理できます。インストール手順は、Web コンソールを使用した OperatorHub からの MetalLB Operator のインストール を参照してください。
5.3.2. Linux ブリッジネットワークの設定
Kubernetes NMState Operator をインストールしたら、ライブマイグレーションまたは仮想マシン (VM) への外部アクセス用に Linux ブリッジネットワークを設定できます。
5.3.2.1. Linux ブリッジ NNCP の作成
						Linux ブリッジネットワークの NodeNetworkConfigurationPolicy (NNCP) マニフェストを作成できます。
					
前提条件
- Kubernetes NMState Operator がインストールされている。
手順
- NodeNetworkConfigurationPolicyマニフェストを作成します。この例には、独自の情報で置き換える必要のあるサンプルの値が含まれます。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
5.3.2.2. Web コンソールを使用した Linux ブリッジ NAD の作成
OpenShift Container Platform Web コンソールを使用して、Network Attachment Definition (NAD) を作成して、Pod および仮想マシンに layer-2 ネットワークを提供できます。
Linux ブリッジ Network Attachment Definition は、仮想マシンを VLAN に接続するための最も効率的な方法です。
仮想マシンのネットワークアタッチメント定義での IP アドレス管理 (IPAM) の設定はサポートされていません。
手順
- 
								Web コンソールで、Networking NetworkAttachmentDefinitions をクリックします。 
- Create Network Attachment Definition をクリックします。 注記- Network Attachment Definition は Pod または仮想マシンと同じ namespace にある必要があります。 
- 一意の Name およびオプションの Description を入力します。
- Network Type リストから CNV Linux bridge を選択します。
- Bridge Name フィールドにブリッジの名前を入力します。
- オプション: リソースに VLAN ID が設定されている場合、VLAN Tag Number フィールドに ID 番号を入力します。
- オプション: MAC Spoof Check を選択して、MAC スプーフフィルタリングを有効にします。この機能により、Pod を終了するための MAC アドレスを 1 つだけ許可することで、MAC スプーフィング攻撃に対してセキュリティーを確保します。
- Create をクリックします。
次のステップ
5.3.3. ライブマイグレーション用のネットワークの設定
Linux ブリッジネットワークを設定した後、ライブマイグレーション用の専用ネットワークを設定できます。専用ネットワークは、ライブマイグレーション中のテナントワークロードに対するネットワークの飽和状態の影響を最小限に抑えます。
5.3.3.1. ライブマイグレーション用の専用セカンダリーネットワークの設定
						ライブマイグレーション用に専用のセカンダリーネットワークを設定するには、まず CLI を使用してブリッジ Network Attachment Definition (NAD) を作成する必要があります。次に、NetworkAttachmentDefinition オブジェクトの名前を HyperConverged カスタムリソース (CR) に追加します。
					
前提条件
- 
								OpenShift CLI (oc) がインストールされている。
- 
								cluster-adminロールを持つユーザーとしてクラスターにログインしている。
- 各ノードには少なくとも 2 つのネットワークインターフェイスカード (NIC) があります。
- ライブマイグレーション用の NIC は同じ VLAN に接続されます。
手順
- 次の例に従って、 - NetworkAttachmentDefinitionマニフェストを作成します。- 設定ファイルのサンプル - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 以下のコマンドを実行して、デフォルトのエディターで - HyperConvergedCR を開きます。- oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv - $ oc edit hyperconverged kubevirt-hyperconverged -n openshift-cnv- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- NetworkAttachmentDefinitionオブジェクトの名前を- HyperConvergedCR の- spec.liveMigrationConfigスタンザに追加します。- HyperConvergedマニフェストの例- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- ライブマイグレーションに使用される MultusNetworkAttachmentDefinitionオブジェクトの名前を指定します。
 
- 
								変更を保存し、エディターを終了します。virt-handlerPod が再起動し、セカンダリーネットワークに接続されます。
検証
- 仮想マシンが実行されるノードがメンテナンスモードに切り替えられると、仮想マシンは自動的にクラスター内の別のノードに移行します。仮想マシンインスタンス (VMI) メタデータのターゲット IP アドレスを確認して、デフォルトの Pod ネットワークではなく、セカンダリーネットワーク上で移行が発生したことを確認できます。 - oc get vmi <vmi_name> -o jsonpath='{.status.migrationState.targetNodeAddress}'- $ oc get vmi <vmi_name> -o jsonpath='{.status.migrationState.targetNodeAddress}'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
5.3.3.2. Web コンソールを使用して専用ネットワークを選択する
OpenShift Container Platform Web コンソールを使用して、ライブマイグレーション用の専用ネットワークを選択できます。
前提条件
- ライブマイグレーション用に Multus ネットワークが設定されている。
- ネットワークの Network Attachment Definition を作成している。
手順
- OpenShift Container Platform Web コンソールで Virtualization > Overview に移動します。
- Settings タブをクリックし、Live migration をクリックします。
- Live migration network リストからネットワークを選択します。
5.3.4. SR-IOV ネットワークの設定
SR-IOV Operator をインストールした後、SR-IOV ネットワークを設定できます。
5.3.4.1. SR-IOV ネットワークデバイスの設定
						SR-IOV Network Operator は SriovNetworkNodePolicy.sriovnetwork.openshift.io CustomResourceDefinition を OpenShift Container Platform に追加します。SR-IOV ネットワークデバイスは、SriovNetworkNodePolicy カスタムリソース (CR) を作成して設定できます。
					
							SriovNetworkNodePolicy オブジェクトで指定された設定を適用する際に、SR-IOV Operator はノードをドレイン (解放) する可能性があり、場合によってはノードの再起動を行う場合があります。再起動は次の場合にのみ行われます。
						
- 
									Mellanox NIC (mlx5ドライバー) の場合、Physical Function (PF) 上の Virtual Function (VF) の数が増加するたびにノードの再起動が行われます。
- 
									Intel NIC の場合、カーネルパラメーターに intel_iommu=onとiommu=ptが含まれていない場合にのみ再起動が行われます。
設定の変更が適用されるまでに数分かかる場合があります。
前提条件
- 
								OpenShift CLI (oc) がインストールされている。
- 
								cluster-adminロールを持つユーザーとしてクラスターにアクセスできる。
- SR-IOV Network Operator がインストールされている。
- ドレイン (解放) されたノードからエビクトされたワークロードを処理するために、クラスター内に利用可能な十分なノードがある。
- SR-IOV ネットワークデバイス設定にコントロールプレーンノードを選択していない。
手順
- SriovNetworkNodePolicyオブジェクトを作成してから、YAML を- <name>-sriov-node-network.yamlファイルに保存します。- <name>をこの設定の名前に置き換えます。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- CR オブジェクトの名前を指定します。
- 2
- SR-IOV Operator がインストールされている namespace を指定します。
- 3
- SR-IOV デバイスプラグインのリソース名を指定します。1 つのリソース名に複数のSriovNetworkNodePolicyオブジェクトを作成できます。
- 4
- 設定するノードを選択するノードセレクターを指定します。選択したノード上の SR-IOV ネットワークデバイスのみが設定されます。SR-IOV Container Network Interface (CNI) プラグインおよびデバイスプラグインは、選択したノードにのみデプロイされます。
- 5
- オプション:0から99までの整数値を指定します。数値が小さいほど優先度が高くなります。したがって、10は99よりも優先度が高くなります。デフォルト値は99です。
- 6
- オプション: Virtual Function の最大転送単位 (MTU) の値を指定します。MTU の最大値は NIC モデルによって異なります。
- 7
- SR-IOV 物理ネットワークデバイス用に作成する仮想機能 (VF) の数を指定します。Intel ネットワークインターフェイスコントローラー (NIC) の場合、VF の数はデバイスがサポートする VF の合計よりも大きくすることはできません。Mellanox NIC の場合、VF の数は127よりも大きくすることはできません。
- 8
- nicSelectorマッピングは、Operator が設定するイーサネットデバイスを選択します。すべてのパラメーターの値を指定する必要はありません。意図せずにイーサネットデバイスを選択する可能性を最低限に抑えるために、イーサネットアダプターを正確に特定できるようにすることが推奨されます。- rootDevicesを指定する場合は、- vendor、- deviceID、または- pfNamesの値も指定する必要があります。- pfNamesと- rootDevicesの両方を同時に指定する場合、それらが同一のデバイスをポイントすることを確認します。
- 9
- オプション: SR-IOV ネットワークデバイスのベンダー 16 進コードを指定します。許可される値は8086または15b3のいずれかのみになります。
- 10
- オプション: SR-IOV ネットワークデバイスのデバイス 16 進コードを指定します。許可される値は158b、1015、1017のみになります。
- 11
- オプション: このパラメーターは、1 つ以上のイーサネットデバイスの物理機能 (PF) 名の配列を受け入れます。
- 12
- このパラメーターは、イーサネットデバイスの物理機能に関する 1 つ以上の PCI バスアドレスの配列を受け入れます。以下の形式でアドレスを指定します:0000:02:00.1
- 13
- OpenShift Virtualization の仮想機能には、vfio-pciドライバータイプが必要です。
- 14
- オプション: Remote Direct Memory Access (RDMA) モードを有効にするかどうかを指定します。Mellanox カードの場合、isRdmaをfalseに設定します。デフォルト値はfalseです。
 注記- isRDMAフラグが- trueに設定される場合、引き続き RDMA 対応の VF を通常のネットワークデバイスとして使用できます。デバイスはどちらのモードでも使用できます。
- 
								オプション: SR-IOV 対応のクラスターノードにまだラベルが付いていない場合は、SriovNetworkNodePolicy.Spec.NodeSelectorでラベルを付けます。ノードのラベル付けの詳細は、「ノードのラベルを更新する方法について」を参照してください。
- SriovNetworkNodePolicyオブジェクトを作成します。- oc create -f <name>-sriov-node-network.yaml - $ oc create -f <name>-sriov-node-network.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - ここで、 - <name>はこの設定の名前を指定します。- 設定の更新が適用された後に、 - sriov-network-operatornamespace のすべての Pod が- Runningステータスに移行します。
- SR-IOV ネットワークデバイスが設定されていることを確認するには、以下のコマンドを実行します。 - <node_name>を、設定したばかりの SR-IOV ネットワークデバイスを持つノードの名前に置き換えます。- oc get sriovnetworknodestates -n openshift-sriov-network-operator <node_name> -o jsonpath='{.status.syncStatus}'- $ oc get sriovnetworknodestates -n openshift-sriov-network-operator <node_name> -o jsonpath='{.status.syncStatus}'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
次のステップ
5.3.5. Web コンソールを使用したロードバランサーサービスの作成の有効化
OpenShift Container Platform Web コンソールを使用して、仮想マシン (VM) のロードバランサーサービスの作成を有効にすることができます。
前提条件
- クラスターのロードバランサーが設定されました。
- 
							cluster-adminロールを持つユーザーとしてログインしている。
- ネットワークの Network Attachment Definition を作成している。
手順
- 
							Virtualization Overview に移動します。 
- Settings タブで、Cluster をクリックします。
- Expand General settings と SSH configuration を展開します。
- SSH over LoadBalancer service をオンに設定します。