运行 Kubernetes 上带有 Nvidia GPU 节点的示例 pod
Running an example pod on Kubernetes with Nvidia GPU nodes
我正在尝试使用 Nvidia GPU nodes/slaves 设置 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"]
pod 调度失败并且 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”。
如果我遗漏了 steps/configurations,有人可以帮助我吗?
根据 AWS G2 documentation,g2.8xlarge
服务器具有以下资源:
- 四个 NVIDIA GRID GPU,每个都有 1,536 个 CUDA 内核和 4 GB 视频
内存和编码任一四个实时高清视频的能力
1080p 流或 8 个 720P 实时高清视频流。
- 32 个 vCPU。
- 60 GiB 内存。
- 240 GB (2 x 120) SSD 存储空间。
看评论,60GB是标准内存,用于常规计算。 g2.8xlarge
服务器有 4 个 GPU,每个 4 GB GPU 内存,这些内存用于 nvidia/cuda
容器中的计算。
在您的情况下,每个 GPU 需要 8 GB 的 GPU 内存,但您的服务器只有 4 GB。因此,集群缺少用于调度 POD 的资源。所以,尽量在Pod设置中降低内存使用量,或者尝试使用GPU内存更大的服务器。
我正在尝试使用 Nvidia GPU nodes/slaves 设置 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"]
pod 调度失败并且 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”。 如果我遗漏了 steps/configurations,有人可以帮助我吗?
根据 AWS G2 documentation,g2.8xlarge
服务器具有以下资源:
- 四个 NVIDIA GRID GPU,每个都有 1,536 个 CUDA 内核和 4 GB 视频 内存和编码任一四个实时高清视频的能力 1080p 流或 8 个 720P 实时高清视频流。
- 32 个 vCPU。
- 60 GiB 内存。
- 240 GB (2 x 120) SSD 存储空间。
看评论,60GB是标准内存,用于常规计算。 g2.8xlarge
服务器有 4 个 GPU,每个 4 GB GPU 内存,这些内存用于 nvidia/cuda
容器中的计算。
在您的情况下,每个 GPU 需要 8 GB 的 GPU 内存,但您的服务器只有 4 GB。因此,集群缺少用于调度 POD 的资源。所以,尽量在Pod设置中降低内存使用量,或者尝试使用GPU内存更大的服务器。