1

我正在尝试使用 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"]

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 ”。如果我缺少任何步骤/配置,有人可以帮助我吗?

4

1 回答 1

1

根据 AWS G2文档g2.8xlarge服务器具有以下资源:

  • 四个 NVIDIA GRID GPU,每个具有 1,536 个 CUDA 内核和 4 GB 视频内存,能够编码四个 1080p 的实时高清视频流或八个 720P 的实时高清视频流。
  • 32 个 vCPU。
  • 60 GiB 内存。
  • 240 GB (2 x 120) SSD 存储。

看评论,60GB是标准RAM,用于常规计算。g2.8xlarge服务器有 4 个 GPU,每个 GPU 内存为 4 GB,此内存用于nvidia/cuda容器中的计算。

在您的情况下,每个 GPU 需要 8 GB 的 GPU 内存,但您的服务器只有 4 GB。因此,集群会遇到用于调度 POD 的资源不足的情况。所以,尝试在 Pod 设置中减少内存使用量,或者尝试使用 GPU 内存量更大的服务器。

于 2018-08-13T13:24:42.120 回答