温馨提示×

centos k8s是否支持gpu

小樊
46
2026-09-06 11:40:49
栏目: 智能运维

结论:CentOS 上的 Kubernetes(k8s)是支持 GPU 的,但需要满足一些前提条件,并做相应配置。


一、CentOS + K8s 支持 GPU 的前提

1. 硬件与驱动

  • 服务器需要有 NVIDIA GPU
  • 安装 NVIDIA 官方驱动
    # 示例(CentOS 7/8)
    yum install -y kmod-nvidia
    nvidia-smi
    
  • 确认 nvidia-smi 能正常输出

2. 容器运行时

  • 使用 containerd 或 docker
  • 需要支持 NVIDIA Container Toolkit
    # 安装 nvidia-container-toolkit
    yum install -y nvidia-container-toolkit
    

3. Kubernetes 版本

  • K8s ≥ 1.10 开始支持 GPU(Device Plugin 机制)
  • 推荐:
    • K8s ≥ 1.20
    • CentOS 7 / 8 / Stream 均可

二、GPU 在 K8s 中的使用方式

1. 安装 NVIDIA Device Plugin

这是官方推荐方式:

kubectl apply -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.14.0/nvidia-device-plugin.yml

安装后:

kubectl get nodes -o json | jq '.items[].status.allocatable'

应能看到:

"nvidia.com/gpu": "1"

2. Pod 中使用 GPU

apiVersion: v1
kind: Pod
metadata:
  name: gpu-pod
spec:
  containers:
  - name: cuda
    image: nvidia/cuda:11.8.0-base
    command: ["nvidia-smi"]
    resources:
      limits:
        nvidia.com/gpu: 1

三、支持的 GPU 类型

  • ✅ NVIDIA GPU(最常见)
  • ❌ AMD / Intel GPU(需要其他 device plugin,支持度较弱)
  • ✅ 多 GPU、GPU 共享(需额外组件)

四、CentOS 特别注意事项

  1. CentOS 7
    • 内核较旧,建议升级内核
    • 驱动安装可能较麻烦
  2. CentOS 8 / Stream
    • 支持更好,但已停止维护(建议 Rocky / Alma)
  3. SELinux
    • 可能导致 GPU 无法访问,可临时关闭测试:
      setenforce 0
      

五、常见问题

问题 原因
Pod 一直 Pending GPU 资源未识别
nvidia-smi 无输出 驱动或 toolkit 未装
Device Plugin CrashLoop 权限 / SELinux

六、总结

✅ CentOS + Kubernetes 完全支持 GPU
✅ 核心组件:NVIDIA 驱动 + Container Toolkit + Device Plugin
⚠️ 注意系统版本、内核、SELinux

如果你愿意,我可以:

  • 给你一套 CentOS 7/8 安装 GPU K8s 的完整步骤
  • 或针对 你的 K8s 版本 / CentOS 版本 给具体方案

0 踩