容器服务提供 GPU 自动化安装驱动能力,基于 veLinux 镜像创建的节点可在 GPU 相关规则族下实现自动化安装 GPU 驱动。本文为您详细介绍如何使用自动化安装 GPU 驱动。
基于云原生的机器学习是容器服务的核心场景之一,用户对 GPU 等异构资源的使用需求越来越旺盛。在不同使用习惯和使用环境下,面临着以下复杂场景,使得自动化安装 GPU 驱动需求必不可少。
基于 VKE 搭建应用开发的新用户,完全 follow 容器服务提供的基础环境(GPU 实例 + OS 镜像 + GPU 驱动)。
基于 VKE 的存量用户,具备了一套较为成熟的基于 VKE 的环境依赖,需要将依赖作为基础环境复用。
基于其他云平台迁移的用户,对 GPU 环境已经形成依赖(例如:将 CUDA 打包容器镜像,需要提供符合该环境的 OS)。
免责声明:此功能无法保证所有驱动在所有卡型下可用,因此,需要自行确保上传的 GPU 驱动版本与 GPU 型号匹配,并进行充分测试,否则可能导致性能降低或存在未知风险。
确保容器集群与 TOS 的网络互通,推荐开启公网访问以保证网络互通。
若需要使用自动化安装 GPU 驱动功能,节点配置需要注意以下情况:
前往 NVIDIA 官方提供的 GPU 驱动下载地址,下载符合实际场景需要的 GPU 驱动及相关文档。
注意
务必保证 fabricmanager 文件与 NVIDIA 的驱动版本完全对应,否则可能安装失败。
将步骤一中下载的 GPU 驱动及相关文件上传到对象存储,并获取文件名称和 TOS 下载地址。
注意
确保容器集群与 TOS 的网络互通,推荐开启公网访问以保证网络互通。
bucket.tos-cn-beijing.ivolces.com
。NVIDIA-Linux-x86_64-515.86.01.run
。...
中的 修改文件访问权限,依次将步骤一中准备的 GPU 驱动文件的访问权限修改为 公共读。通过节点池添加节点标签的方式配置自定义 GPU 驱动相关信息,当节点驱动不符合实际配置时,系统将自动卸载默认驱动并安装已经预制的自定义 GPU 驱动。
注意
仅当节点添加到节点池时,才会根据节点池中的节点标签识别并触发驱动安装。常见使用场景如下:
自定义 GPU 驱动涉及的节点标签如下:
节点标签 (key: value) | 节点标签 value 示例 | 是否必选 | 说明 |
---|---|---|---|
vke.volcengine.com/nvidia-driver-tos-endpoint: <TOS 下载地址> | bucket.tos-cn-beijing.ivolces.com | 是 | GPU 自定义驱动上传到 TOS 之后的目录地址,即 Bucket 域名。 |
vke.volcengine.com/nvidia-driver-runfile: <NVIDIA 驱动文件名> | NVIDIA-Linux-x86_64-515.86.01.run | 是 | 待安装 NVIDIA 驱动存放在 TOS 的文件名称,通过此标签指定待下载的驱动文件。 |
vke.volcengine.com/nvidia-fabricmanager-file: <fabricmanager 文件名> | nvidia-fabric-manager-515.86.01-1.x86_64.deb | 否 | 待安装 fabricmanager 存放在 TOS 的文件名称,仅支持在 nvswitch 的机型(例如:A100)场景中使用。 |
节点池添加节点标签的操作步骤如下: