创建附加有 GPU 资源的部署

了解如何创建附加有 GPU 资源的容器。

IBM Cloud Private 为 nvidia-docker 在新选项卡中打开 项目中的映像提供了内置 GPU 支持。要指定 GPU 资源,您的部署必须指定 nvidia-docker 项目中的映像。

可以通过两种方式从management console中创建部署。

要创建部署,您可以在“创建部署”窗口中输入参数值,或将 YAML 文件粘贴到“创建资源”窗口中。

所需用户类型或访问级别:集群管理员或团队管理员

在开始之前,请确保节点已做好部署准备。有关更多信息,请参阅配置 GPU 工作程序节点

已知问题与限制

IBM® Z (s390x) 节点不支持 GPU。

如果在具有 Linux® (x86_64)、Linux® on Power® (ppc64le) 和 IBM® Z (s390x) 节点的混合环境中运行 IBM Cloud Private,那么 nvidia-device-plugin DaemonSet 仅在 Linux® (x86_64) 和 Linux® on Power® (ppc64le) 集群节点上运行。

使用“创建部署”窗口创建附加有 GPU 资源的部署

  1. 从导航菜单中,单击工作负载 > 部署 > 创建部署
  2. 容器设置选项卡中,指定要为该部署请求的 GPU 数量。请确保此值为正整数。
  3. 输入该部署所需的所有其他参数选项。
  4. 单击创建

使用“创建资源”窗口创建部署

  1. 创建 gpu-demo.yaml 文件。这个样本 gpu-demo.yaml 文件将创建一个容器部署,其中包含所附加的单个 GPU 资源。

    这个样本部署使用 nvidia/cuda:7.5-runtime 映像,后者是适用于 Linux® 系统的 nvidia-docker 映像。您可以从 nvidia/cuda 在新选项卡中打开 Docker Hub 存储库获取此映像。对于 Power Systems,请使用 nvidia/cuda-ppc64le 在新选项卡中打开 Docker Hub 存储库中提供的其中一个 nvidia/cuda-ppc64le 映像。

    apiVersion: apps/v1beta2
    kind: Deployment
    metadata:
     name: gpu-demo
    spec:
     replicas: 1
     selector:
       matchLabels:
         run: gpu-demo
     template:
       metadata:
         labels:
           run: gpu-demo
       spec:
         containers:
         - name: gpu-demo
           image: nvidia/cuda:7.5-runtime
           command:
           - "/bin/sh"
           - "-c"
           args:
           - nvidia-smi && tail -f /dev/null
           resources:
             limits:
               nvidia.com/gpu: 1
    
  1. 从仪表板中,单击创建资源
  2. 复制 gpu-demo.yaml 文件,并将其粘贴到“创建资源”对话框。
  3. 单击创建

检查是否可以在容器内检测到该 GPU 资源

  1. 安装 kubectl 命令行界面。请参阅从 Kubernetes CLI (kubectl) 访问集群

  2. 要查看运行中的容器列表,请运行此命令:

    kubectl get pods
    

    从返回的输出中,您可以找到 gpu-demo 部署。

  3. 访问 gpu-demo 部署日志。例如,

    kubectl logs gpu-demo-3638364752-zkqel
    

    输出类似于以下代码:

    Tue Feb  7 08:38:11 2017
    +------------------------------------------------------+
    | NVIDIA-SMI 352.63     Driver Version: 352.63         |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  GeForce GT 730      Off  | 0000:01:00.0     N/A |                  N/A |
    | 36%   41C    P8    N/A /  N/A |      4MiB /  1023MiB |     N/A      Default |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID  Type  Process name                               Usage      |
    |=============================================================================|
    |    0                  Not Supported                                         |
    +-----------------------------------------------------------------------------+
    

部署完成后,新部署将显示在“部署”页面中。DESIREDCURRENTREADYAVAILABLE 列全部显示相同的值,即您在部署过程中指定的 Pod 或副本数量。

单击部署名称即可查看有关部署的详细信息。查看部署属性,并确保它们准确无误。

要从因特网访问该部署,必须以服务形式将其公开。请参阅创建服务