K8s GPU空闲60%的根因排查
推荐指数 78.0 NO. 025 · 2026.07.24
发布2026/07/23
为什么值得看
Kubeflow训练任务在Kubernetes上运行时,所有Pod状态健康但GPU利用率仅40%,最终定位到Cilium CNI的网络策略导致RDMA通信被静默丢弃。该案例提供了一套完整的eBPF网络调试方法论,可直接复用于生产环境的GPU集群排障。
编辑判断
GPU空闲但Pod健康的经典陷阱,多数团队会误杀调度器或怀疑CUDA驱动。真正的问题往往藏在网络层——Cilium的eBPF datapath对RDMA/InfiniBand流量的处理一直有灰色地带,尤其是涉及multus多网卡或SR-IOV场景时,conntrack和策略引擎容易静默丢包而不触发常规日志。
之前这类问题需要tcpdump抓包或降级到Calico对比验证,排障周期常以天计。这个案例给出的关键工具链是hubble observe + cilium monitor + custom eBPF program三层叠加,能在不中断训练任务的情况下定位到具体被drop的packet路径。
如果你的集群跑A100/H100且用Cilium做CNI,建议把文中那组eBPF tracing脚本提前集成到GPU节点的初始化流程里,比事后抓包省至少80%时间。