繁体   English   中英

Kubernetes 以负载平衡的方式调度 GPU-pod

[英]Kubernetes scheduling GPU-pods in loadbalanced manner

这个 kubernetes 集群有 n 个节点,其中一些节点上装有多个 NVIDIA 1080Ti GPU 卡。

我有两种 pod 1. 启用 GPU,这些需要在安装了 GPU 的节点上进行调度,其中 pod 将仅使用该节点上存在的 GPU 卡之一。 2. CPU only,现在这些可以在任何地方调度,最好在只有 CPU 的节点上。

这个答案清楚地解决了调度问题。

问题:在安装了 GPU 的节点上调度支持 GPU 的 pod 时,我希望能够决定我的 pod 将使用这些多张 GPU 卡中的哪一张 GPU 卡。 此外,我正在考虑一个负载均衡器,它可以透明地设置在黑白 GPU 硬件和 pod 中,它们将决定映射。

对此架构的任何帮助将不胜感激。 谢谢!

您必须使用官方 NVIDIA GPU 设备插件,而不是 GCE 建议的。 有可能按属性安排 GPU

Pod 可以根据节点上公布的属性指定设备选择器。 这些可以在容器级别指定。 例如:

apiVersion: v1
kind: Pod
metadata:
  name: gpu-pod
spec:
  containers:
    - name: cuda-container
      image: nvidia/cuda:9.0-base
      command: ["sleep"]
      args: ["100000"]
      computeResourceRequests: ["nvidia-gpu"]
  computeResources:
    - name: "nvidia-gpu"
      resources:
        limits:
          nvidia.com/gpu: 1
      affinity:
        required:
          - key: "nvidia.com/gpu-memory"
            operator: "Gt"
            values: ["8000"] # change value to appropriate mem for GPU

检查 NVIDIA GPU 上的 Kubernetes 安装指南

希望这会有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM