SuperAPI AI 工具集

k8s-launch-kit-troubleshoot

部署与运维

查看项目

更新于 10-16 02:34

技能介绍

用途:排查 Kubernetes 上 NVIDIA Network Operator 的问题,或分析已采集的 sosreport 诊断转储。使用前需先阅读 ../k8s-launch-kit-shared/SKILL.md 了解安装路径、全局标志与退出码。

主要能力:l8k validate 可输出校验端点、规划、路由缓存统计、阶段/批次进度、耗时与失败的 RDMA 证据;l8k sosreport 从集群采集诊断转储到结构化目录,包含集群状态、CRD、Operator 日志与逐节点网卡信息,供离线分析。发布安装包在 share/l8k/scripts/ 下附带 Network Operator 采集脚本,命令运行时不会下载可执行代码;若脚本缺失,应报告 l8k 输出的上游 URL 与预期路径以便手动安装。

使用方式:先用 debug 级别,遇到路由、ICMP、rping 或 ib_write_bw 失败再升级到 trace;trace 字段有界,失败的 RDMA 服务端日志会在清理前收集。仅当工作负载需保留供后续 kubectl exec 检查时才加 --keep。常用命令:l8k validate --kubeconfig <PATH> --deployment-files <DIR> --log-level debug;l8k validate --kubeconfig <PATH> --deployment-files <DIR> --log-level trace --keep;l8k sosreport [--kubeconfig <PATH>] --output-dir ./sosreport。诊断命令包括 kubectl get nicclusterpolicy -o yaml、kubectl get pods -n <operator-ns> -o wide、kubectl get sriovnetworknodestates -A -o yaml、kubectl logs -n <operator-ns> -l app=mofed-<os> --tail=100、kubectl logs -n <operator-ns> -l app=nic-configuration-daemon --tail=100、kubectl get pods -A -o wide | grep -E 'ContainerCreating|Init'。

适用场景与常见故障:NicClusterPolicy notReady、Pod 卡在 ContainerCreating、mofed Pod CrashLoopBackOff、节点无 VF、RDMA 不工作、Helm chart 下载 401 或镜像拉取 Secret 错误、discover daemon Pod 卡住、仅含 BlueField 的节点等待、Operator 命名空间不匹配、IPPool 不分配、--for 与 --node-selector 或 --discover-cluster-config 的冲突、preset 名称或 capabilities 块缺失、productType 字段改名等。sosreport 目录含 metadata、crds、operator、nodes、network 子目录,可按 metadata/diagnostic-summary.yaml、operator/pods.yaml、crds、operator/logs、nodes/<node>/ 顺序排查。OpenShift 需检查 Operator CSV/API 状态、SR-IOV 设备前缀 openshift.io、NV-IPAM 池与临时 SCC 准入。

限制:详细分诊流程见 references/common-failures.md;--network-operator-namespace 不适用于 l8k discover(其使用自身 nvidia-k8s-launch-kit 命名空间);--for 与 --discover-cluster-config 互斥;--for 需配合 --node-selector。