我正在尝试在 GKE 上运行机器学习作业,并且需要使用 GPU。
我使用 Tesla K80 创建了一个节点池,如本演练中所述。
我将最小节点大小设置为 0,并希望自动缩放器会根据我的工作自动确定我需要多少个节点:
gcloud container node-pools create [POOL_NAME] \
--accelerator type=nvidia-tesla-k80,count=1 --zone [COMPUTE_ZONE] \
--cluster [CLUSTER_NAME] --num-nodes 3 --min-nodes 0 --max-nodes 5 \
--enable-autoscaling
Run Code Online (Sandbox Code Playgroud)
最初,没有需要 GPU 的作业,因此集群自动缩放器正确地将节点池缩小到 0。
但是,当我使用以下规范创建作业时
resources:
requests:
nvidia.com/gpu: "1"
limits:
nvidia.com/gpu: "1"
Run Code Online (Sandbox Code Playgroud)
这是完整的作业配置。(请注意,此配置是部分自动生成的。我还删除了一些与问题无关的环境变量)。
在Insufficient nvidia.com/gpu我手动将节点池增加到至少 1 个节点之前,Pod一直处于挂起状态。
这是 GPU 节点池的当前限制,还是我忽略了什么?
graphics-processing-unit kubernetes google-kubernetes-engine nvidia