Kubernetes 原生只支持整卡分配(如 1 块 NVIDIA GPU)。
kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/master/nvidia-device-plugin.ymlresources:
limits:
nvidia.com/gpu: 1nvidia.com/gpu: 1 表示 独占 1 张物理 GPU0.5✅ 适用:训练任务、推理服务
适合 A100 / H100 等支持 MIG 的卡
resources:
limits:
nvidia.com/mig-1g.5gb: 1✅ 强隔离
适合推理、开发测试
version: v1
sharing:
timeSlicing:
resources:
- name: nvidia.com/gpu
replicas: 4Pod 仍可写:
nvidia.com/gpu: 1✅ 提升利用率
常用工具:
支持:
示例:
resources:
limits:
nvidia.com/gpu: 1
nvidia.com/gpumem: 2000
nvidia.com/gpucores: 30✅ 灵活
kubectl label node gpu-node1 gpu-type=trainingnodeSelector:
gpu-type: trainingapiVersion: v1
kind: ResourceQuota
metadata:
name: gpu-quota
spec:
hard:
nvidia.com/gpu: "4"| 场景 | 推荐方案 |
|---|---|
| 训练任务 | 整卡 + ResourceQuota |
| 推理服务 | MIG 或 Time-Slicing |
| 多租户 | HAMi / vGPU |
| 成本敏感 | MIG + 配额 |
Q:能否限制 GPU 显存 50%?
原生不行,需 MIG / HAMi / vGPU
Q:Pod 超卖 GPU 会怎样?
如果你能告诉我:
我可以给你一套 可直接用的 YAML 方案。