You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes GPU节点上运行的CPU Pod如何禁用GPU资源?

问题原因

当GPU节点部署NVIDIA Device Plugin后,只要节点默认容器运行时为nvidia-container-runtime,所有调度到该节点的Pod哪怕未声明nvidia.com/gpu资源,容器内也会默认可见节点全部GPU设备。如果你的Jupyter镜像内置CUDA环境,深度学习框架会优先调用GPU算力,就会出现无GPU声明的Pod占用GPU的情况。

解决方法

  • 方案1:单CPU Pod快速禁用(最简便)
    直接在CPU Pod配置中添加环境变量NVIDIA_VISIBLE_DEVICES,值设为空即可,修改后的配置示例如下:

    apiVersion: v1
    kind: Pod
    metadata:
      name: jupyter-cpu
    spec:
      containers:
      - name: jupyter
        image: 你实际使用的Jupyter镜像地址
        env:
        - name: NVIDIA_VISIBLE_DEVICES
          value: ""
        resources:
          limits:
            cpu: 2
            memory: 2000Mi
          requests:
            cpu: 2
            memory: 2000Mi
    

    配置生效后容器内部将看不到任何GPU设备,程序只会使用CPU算力。

  • 方案2:集群全局批量管控
    修改NVIDIA Device Plugin的启动参数,添加--device-list-strategy=envvar配置,设置默认仅向显式声明了nvidia.com/gpu资源请求的Pod注入GPU设备信息,无需再为每个CPU Pod单独加环境变量。

  • 方案3:运行时层面彻底隔离
    在集群中创建两类RuntimeClass:

    1. CPU专用RuntimeClass:使用默认runc运行时,不会挂载任何GPU设备,所有CPU Pod调度时指定该RuntimeClass
    2. GPU专用RuntimeClass:使用nvidia-container-runtime,仅供给需要使用GPU的Pod使用
      该方案可以从底层彻底避免CPU Pod误占GPU的情况。

内容的提问来源于stack exchange,提问作者OH KYOON

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 21:30:05