我正在尝试使用Nvidia GPU节点/从属服务器设置Kubernetes。 我遵循了https://docs.nvidia.com/datacenter/kubernetes-install-guide/index.html上的指南,并且能够使节点加入集群。我尝试了下面的kubeadm示例pod:
apiVersion: v1
kind: Pod
metadata:
name: gpu-pod
spec:
containers:
- name: cuda-container
image: nvidia/cuda:9.0-base
command: ["sleep"]
args: ["100000"]
extendedResourceRequests: ["nvidia-gpu"]
extendedResources:
- name: "nvidia-gpu"
resources:
limits:
nvidia.com/gpu: 1
affinity:
required:
- key: "nvidia.com/gpu-memory"
operator: "Gt"
values: ["8000"]
吊舱调度失败,并且kubectl事件显示:
4s 2m 14 gpu-pod.15487ec0ea0a1882 Pod Warning FailedScheduling default-scheduler 0/2 nodes are available: 1 Insufficient nvidia.com/gpu, 1 PodToleratesNodeTaints.
我正在使用AWS EC2实例。主节点为m5.large,从节点为g2.8xlarge。描述该节点还会给出“ nvidia.com/gpu:4 ”。 如果我缺少任何步骤/配置,有人可以帮我吗?
答案 0 :(得分:1)
根据AWS G2 documentation,g2.8xlarge
服务器具有以下资源:
看看注释,60 GB是标准RAM,用于常规计算。 g2.8xlarge
服务器具有4个GPU,每个GPU具有4 GB的GPU内存,该内存用于nvidia/cuda
容器中的计算。
在您的情况下,每个GPU需要8 GB的GPU内存,但是您的服务器只有4 GB。因此,群集缺少用于调度POD的资源。因此,请尝试减少Pod设置中的内存使用量,或尝试使用具有更大GPU内存的服务器。