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 上配置单根 I/O 虚拟化 (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 传统模式下运行的设备生成虚拟功能 (VF) 的
SriovNetworkNodePolicyCR。请参见以下示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用以下命令在集群中创建 CR:
注意确保启用了 SR-IOV 全局启用。如需更多信息,请参阅无法启用 SR-IOV,并在 Red Hat Enterprise Linux 中接收消息 "not enough MMIO resources for SR-IOV "。
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 节点重启后,通过在每个节点中打开 debug 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 - 如有必要,在第二个节点上重复前面的步骤。
可选:使用以下命令确认资源出现在集群
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