5.9. ワークロード Pod の作成
共有デバイスとホストデバイス用のワークロード Pod を作成するには、このセクションの手順を使用します。
5.9.2. RoCE 上でのホストデバイス RDMA の作成 リンクのコピーリンクがクリップボードにコピーされました!
NVIDIA Network Operator のために、ホストデバイスの Remote Direct Memory Access (RDMA) 用のワークロード Pod を作成し、Pod の設定をテストします。
前提条件
- Operator が実行されていることを確認する。
-
NicClusterPolicyカスタムリソース (CR) が存在する場合は削除する。
手順
以下に示すように、新しいホストデバイス
NicClusterPolicy(CR) を生成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを使用して、クラスターに
NicClusterPolicyCR を作成します。oc create -f network-hostdev-nic-cluster-policy.yaml
$ oc create -f network-hostdev-nic-cluster-policy.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
nicclusterpolicy.mellanox.com/nic-cluster-policy created
nicclusterpolicy.mellanox.com/nic-cluster-policy createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow DOCA/MOFED コンテナーで次のコマンドを使用して、ホストデバイスの
NicClusterPolicyCR を確認します。oc get pods -n nvidia-network-operator
$ oc get pods -n nvidia-network-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを使用して、リソースがクラスターの
oc describe nodeセクションに表示されることを確認します。oc describe node -l node-role.kubernetes.io/worker=| grep -E 'Capacity:|Allocatable:' -A7
$ oc describe node -l node-role.kubernetes.io/worker=| grep -E 'Capacity:|Allocatable:' -A7Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow HostDeviceNetworkCR ファイルを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを使用して、クラスターに
HostDeviceNetworkリソースを作成します。oc create -f hostdev-network.yaml
$ oc create -f hostdev-network.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
hostdevicenetwork.mellanox.com/hostdev-net created
hostdevicenetwork.mellanox.com/hostdev-net createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを使用して、リソースがクラスターの
oc describe nodeセクションに表示されることを確認します。oc describe node -l node-role.kubernetes.io/worker=| grep -E 'Capacity:|Allocatable:' -A8
$ oc describe node -l node-role.kubernetes.io/worker=| grep -E 'Capacity:|Allocatable:' -A8Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.9.3. RoCE 上での SR-IOV レガシーモード RDMA の作成 リンクのコピーリンクがクリップボードにコピーされました!
RoCE 上で Single Root I/O Virtualization (SR-IOV) レガシーモードホストデバイス RDMA を設定します。
手順
新しいホストデバイスの
NicClusterPolicyカスタムリソース (CR) を生成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを使用して、クラスターにポリシーを作成します。
oc create -f network-sriovleg-nic-cluster-policy.yaml
$ oc create -f network-sriovleg-nic-cluster-policy.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
nicclusterpolicy.mellanox.com/nic-cluster-policy created
nicclusterpolicy.mellanox.com/nic-cluster-policy createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow DOCA/MOFED コンテナーで次のコマンドを使用して Pod を検証します。
oc get pods -n nvidia-network-operator
$ oc get pods -n nvidia-network-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME READY STATUS RESTARTS AGE mofed-rhcos4.16-696886fcb4-ds-4mb42 2/2 Running 0 40s mofed-rhcos4.16-696886fcb4-ds-8knwq 2/2 Running 0 40s nvidia-network-operator-controller-manager-68d547dbbd-qsdkf 1/1 Running 13 (4d ago) 4d21h
NAME READY STATUS RESTARTS AGE mofed-rhcos4.16-696886fcb4-ds-4mb42 2/2 Running 0 40s mofed-rhcos4.16-696886fcb4-ds-8knwq 2/2 Running 0 40s nvidia-network-operator-controller-manager-68d547dbbd-qsdkf 1/1 Running 13 (4d ago) 4d21hCopy to Clipboard Copied! Toggle word wrap Toggle overflow SR-IOV レガシーモードで動作させる必要があるデバイス用の Virtual Function (VF) を生成する
SriovNetworkNodePolicyCR を作成します。以下の例を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを使用して、クラスターに CR を作成します。
注記SR-IOV Global Enable が有効になっていることを確認してください。詳細は、Unable to enable SR-IOV and receiving the message "not enough MMIO resources for SR-IOV" in Red Hat Enterprise Linux を参照してください。
oc create -f sriov-network-node-policy.yaml
$ oc create -f sriov-network-node-policy.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
sriovnetworknodepolicy.sriovnetwork.openshift.io/sriov-legacy-policy created
sriovnetworknodepolicy.sriovnetwork.openshift.io/sriov-legacy-policy createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow 各ノードのスケジューリングが無効になっています。設定を適用するためにノードが再起動します。次のコマンドを使用してノードを表示できます。
oc get nodes
$ oc get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
NAME STATUS ROLES AGE VERSION edge-19.edge.lab.eng.rdu2.redhat.com Ready control-plane,master,worker 5d v1.29.8+632b078 nvd-srv-32.nvidia.eng.rdu2.dc.redhat.com Ready worker 4d22h v1.29.8+632b078 nvd-srv-33.nvidia.eng.rdu2.dc.redhat.com NotReady,SchedulingDisabled worker 4d22h v1.29.8+632b078
NAME STATUS ROLES AGE VERSION edge-19.edge.lab.eng.rdu2.redhat.com Ready control-plane,master,worker 5d v1.29.8+632b078 nvd-srv-32.nvidia.eng.rdu2.dc.redhat.com Ready worker 4d22h v1.29.8+632b078 nvd-srv-33.nvidia.eng.rdu2.dc.redhat.com NotReady,SchedulingDisabled worker 4d22h v1.29.8+632b078Copy to Clipboard Copied! Toggle word wrap Toggle overflow ノードが再起動したら、各ノードでデバッグ Pod を開いて、VF インターフェイスが存在することを確認します。以下のコマンドを実行します。
a$ oc debug node/nvd-srv-33.nvidia.eng.rdu2.dc.redhat.com
a$ oc debug node/nvd-srv-33.nvidia.eng.rdu2.dc.redhat.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 必要に応じて、2 番目のノードで前のステップを繰り返します。
オプション: 次のコマンドを使用して、リソースがクラスターの
oc describe nodeセクションに表示されることを確認します。oc describe node -l node-role.kubernetes.io/worker=| grep -E 'Capacity:|Allocatable:' -A8
$ oc describe node -l node-role.kubernetes.io/worker=| grep -E 'Capacity:|Allocatable:' -A8Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow SR-IOV レガシーモード用の VF の準備が整ったら、
SriovNetworkCR ファイルを生成します。以下の例を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを使用して、クラスターにカスタムリソースを作成します。
oc create -f sriov-network.yaml
$ oc create -f sriov-network.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例
sriovnetwork.sriovnetwork.openshift.io/sriov-network created
sriovnetwork.sriovnetwork.openshift.io/sriov-network createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow