6.4. 对动态加速器 Slicer Operator 进行故障排除
如果您在 Dynamic Accelerator Slicer (DAS) Operator 时遇到问题,请使用以下故障排除步骤诊断和解决问题。
先决条件
- 已安装 DAS Operator。
- 您可以使用具有 cluster-admin 角色的用户访问 OpenShift Container Platform 集群。
6.4.1. 调试 DAS Operator 组件 复制链接链接已复制到粘贴板!
流程
运行以下命令,检查所有 DAS Operator 组件的状态:
oc get pods -n das-operator
$ oc get pods -n das-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,检查 DAS Operator 控制器的日志:
oc logs -n das-operator deployment/das-operator
$ oc logs -n das-operator deployment/das-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,检查 webhook 服务器的日志:
oc logs -n das-operator deployment/das-operator-webhook
$ oc logs -n das-operator deployment/das-operator-webhookCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,检查调度程序插件的日志:
oc logs -n das-operator deployment/das-scheduler
$ oc logs -n das-operator deployment/das-schedulerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,检查设备插件 daemonset 的日志:
oc logs -n das-operator daemonset/das-daemonset
$ oc logs -n das-operator daemonset/das-daemonsetCopy to Clipboard Copied! Toggle word wrap Toggle overflow
6.4.2. Monitoring AllocationClaims 复制链接链接已复制到粘贴板!
流程
运行以下命令检查活跃的
AllocationClaim资源:oc get allocationclaims -n das-operator
$ oc get allocationclaims -n das-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME AGE 13950288-57df-4ab5-82bc-6138f646633e-harpatil000034jma-qh5fm-worker-f-57md9-cuda-vectoradd-0 5m ce997b60-a0b8-4ea4-9107-cf59b425d049-harpatil000034jma-qh5fm-worker-f-fl4wg-cuda-vectoradd-0 5m
NAME AGE 13950288-57df-4ab5-82bc-6138f646633e-harpatil000034jma-qh5fm-worker-f-57md9-cuda-vectoradd-0 5m ce997b60-a0b8-4ea4-9107-cf59b425d049-harpatil000034jma-qh5fm-worker-f-fl4wg-cuda-vectoradd-0 5mCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,查看有关特定
AllocationClaim的详细信息:oc get allocationclaims -n das-operator -o yaml
$ oc get allocationclaims -n das-operator -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例(截断)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,检查不同状态中的声明:
oc get allocationclaims -n das-operator -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.state}{"\n"}{end}'$ oc get allocationclaims -n das-operator -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.status.state}{"\n"}{end}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
13950288-57df-4ab5-82bc-6138f646633e-harpatil000034jma-qh5fm-worker-f-57md9-cuda-vectoradd-0 inUse ce997b60-a0b8-4ea4-9107-cf59b425d049-harpatil000034jma-qh5fm-worker-f-fl4wg-cuda-vectoradd-0 inUse
13950288-57df-4ab5-82bc-6138f646633e-harpatil000034jma-qh5fm-worker-f-57md9-cuda-vectoradd-0 inUse ce997b60-a0b8-4ea4-9107-cf59b425d049-harpatil000034jma-qh5fm-worker-f-fl4wg-cuda-vectoradd-0 inUseCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,查看与
AllocationClaim资源相关的事件:oc get events -n das-operator --field-selector involvedObject.kind=AllocationClaim
$ oc get events -n das-operator --field-selector involvedObject.kind=AllocationClaimCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,检查
NodeAccelerator资源以验证 GPU 硬件检测:oc get nodeaccelerator -n das-operator
$ oc get nodeaccelerator -n das-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME AGE harpatil000034jma-qh5fm-worker-f-57md9 96m harpatil000034jma-qh5fm-worker-f-fl4wg 96m
NAME AGE harpatil000034jma-qh5fm-worker-f-57md9 96m harpatil000034jma-qh5fm-worker-f-fl4wg 96mCopy to Clipboard Copied! Toggle word wrap Toggle overflow NodeAccelerator资源代表 DAS Operator 检测到的 GPU 功能的节点。
其他信息
AllocationClaim 自定义资源跟踪以下信息:
- GPU UUID
- GPU 设备的唯一标识符。
- 分片位置
- GPU 上的 MIG 片段的位置。
- Pod 参考
- 请求 GPU 片段的 pod。
- 状态
-
当前的声明状态 (
staged,created, 或released)。
声明以 staged 状态开始,然后当所有请求都满足后会转变为 created。删除 pod 时,会自动清理关联的声明。
6.4.3. 验证 GPU 设备可用性 复制链接链接已复制到粘贴板!
流程
在使用 GPU 硬件的节点上,运行以下命令来验证 CDI 设备是否已创建:
oc debug node/<node-name>
$ oc debug node/<node-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow chroot /host ls -l /var/run/cdi/
sh-4.4# chroot /host sh-4.4# ls -l /var/run/cdi/Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令检查 NVIDIA GPU Operator 状态:
oc get clusterpolicies.nvidia.com -o jsonpath='{.items[0].status.state}'$ oc get clusterpolicies.nvidia.com -o jsonpath='{.items[0].status.state}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出应显示
ready。
6.4.4. 增加日志详细程度 复制链接链接已复制到粘贴板!
流程
获取更详细的调试信息:
运行以下命令来编辑
DASOperator资源来提高日志详细程度:oc edit dasoperator -n das-operator
$ oc edit dasoperator -n das-operatorCopy to Clipboard Copied! Toggle word wrap Toggle overflow 将
operatorLogLevel字段设置为Debug或Trace:spec: operatorLogLevel: Debug
spec: operatorLogLevel: DebugCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 保存更改,并验证 Operator pod 重启并增加详细程度。
6.4.5. 常见问题和解决方案 复制链接链接已复制到粘贴板!
由于 kubernetes/kubernetes vmcore8043,如果准入失败,pod 可能会进入 UnexpectedAdmissionError 状态。由更高级别的控制器管理的 Pod 会自动重新创建。但是,naked pod 必须使用 oc delete pod 手动清理。建议使用控制器,直到上游问题解决为止。
未满足先决条件
如果 DAS Operator 无法启动或正常工作,请验证是否已安装所有先决条件:
- cert-manager
- Node Feature Discovery (NFD) Operator
- NVIDIA GPU Operator