安装

目录

前提条件

  • 对您的 ACP 集群具有集群管理员权限
  • NvidiaDriver:v450 及以上版本
  • ACP 版本:v3.18、v4.0、v4.1

操作步骤

在您的 GPU 节点安装 Nvidia 驱动

建议参考 Nvidia 官方网站安装指南

安装 Nvidia Container Runtime

建议参考 Nvidia Container Toolkit 安装指南

在 GPU 节点添加 Nvidia yum 源

注意:确保 GPU 节点可以访问 nvidia.github.io

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.repo | sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
yum makecache -y

当出现“Metadata cache created.”消息时,表示添加成功。

安装 Nvidia Container Runtime

yum install nvidia-container-toolkit -y

当提示“Complete!”时,表示安装成功。

配置默认 Container Runtime

在已安装 nvidia-container-toolkit 并需要使用当前插件的 GPU 节点上,需要配置默认容器运行时。

将以下配置添加到文件中:

  1. Containerd:更新 /etc/containerd/config.toml 文件,检查是否存在 nvidia runtime,然后将 default_runtime_name 更新为 nvidia
    [plugins]
     [plugins."io.containerd.grpc.v1.cri"]
       [plugins."io.containerd.grpc.v1.cri".containerd]
    ...
          default_runtime_name = "nvidia"
    ...
            [plugins."io.containerd.grpc.v1.cri".containerd.runtimes]
    ...
              [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc]
                runtime_type = "io.containerd.runc.v2"
                runtime_engine = ""
                runtime_root = ""
                privileged_without_host_devices = false
                base_runtime_spec = ""
                [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
                  SystemdCgroup = true
              [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia]
                privileged_without_host_devices = false
                runtime_engine = ""
                runtime_root = ""
                runtime_type = "io.containerd.runc.v1"
                [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.nvidia.options]
                  BinaryName = "/usr/bin/nvidia-container-runtime"
                  SystemdCgroup = true
    ...
  2. Docker:更新 /etc/docker/daemon.json 文件:
    {
    ...
       "default-runtime": "nvidia",
       "runtimes": {
       "nvidia": {
           "path": "/usr/bin/nvidia-container-runtime"
           }
       },
    ...
    }

重启 Containerd / Docker

  • Containerd

    $ systemctl restart containerd
    
    # 检查默认运行时是否为 nvidia
    $ crictl info |grep Runtime
    ...
          "defaultRuntimeName": "nvidia"
    ...
  • Docker

    
    $ systemctl restart docker
    
    # 检查默认运行时是否为 nvidia
    $ docker info |grep Runtime
    ...
     Default Runtime: nvidia

下载集群插件

INFO

Alauda Build of NVIDIA GPU Device Plugin 集群插件可从 customer portal 获取。

如需更多信息,请联系消费者支持。

上传集群插件

有关上传集群插件的更多信息,请参见

安装 Alauda Build of NVIDIA GPU Device Plugin

  1. 在您的 GPU 节点添加标签 "nvidia-device-enable=pgpu",以便调度 nvidia-device-plugin。

    kubectl label nodes {nodeid} nvidia-device-enable=pgpu

    注意:同一节点不能同时拥有 gpu=onnvidia-device-enable=pgpu 两个标签

  2. 进入 Administrator -> Marketplace -> Cluster Plugin 页面,切换到目标集群,然后部署 Alauda Build of NVIDIA GPU Device Plugin 集群插件。 注意:部署表单参数可以保持默认,也可以在了解用法后进行修改。

  3. 验证结果。您可以在 UI 中看到状态为“Installed”,或者通过以下命令检查 pod 状态:

    kubectl get pods -n kube-system | grep  "nvidia-device-plugin"
  4. 最后,您可以在 ACP 创建应用时看到以资源形式展示的 Extended Resources,然后可以选择 GPU core

安装 Alauda Build of DCGM-Exporter

  1. 进入 Administrator -> Marketplace -> Cluster Plugin 页面,切换到目标集群,然后部署 Alauda Build of DCGM-Exporter 集群插件: 在弹出表单中设置节点标签:
  • 节点标签键:nvidia-device-enable
  • 节点标签值:pgpu

如果需要为 Hami 启用 dcgm-exporter,可以添加另一个标签:

  • 节点标签键:gpu
  • 节点标签值:on
  1. 验证结果。您可以在 UI 中看到状态为“Installed”,或者通过以下命令检查 pod 状态:
    kubectl get pods -n kube-system | grep dcgm-exporter