不同类型和版本的ACK集群默认安装不同版本的NVIDIA驱动。如果您的CUDA库需要与更高版本的NVIDIA驱动兼容,您可以自定义安装GPU节点的NVIDIA驱动。本文将介绍如何基于节点池标签定制GPU节点的NVIDIA驱动版本。
注意事项
ACK不保证GPU驱动版本与CUDA库版本的兼容性,您需要自行验证二者之间的适配性。
NVIDIA各卡型对驱动版本的更详细的要求,请参见NVIDIA官方文档。
对于已经安装GPU驱动、NVIDIA Container Runtime等GPU组件的自定义操作系统镜像,ACK无法保证其提供的GPU驱动与ACK其他GPU组件兼容(例如监控组件等)。
通过节点池标签指定GPU节点的驱动版本时,驱动安装过程在添加节点时触发,因此仅适用于新扩容或新添加的节点,现有节点将不受影响。如需对已有节点应用新驱动,请移除节点并重新添加已有节点。
实例规格为gn7和ebmgn7对510.xxx和515.xxx版本驱动存在兼容性问题,建议使用关闭GSP的510以下的驱动版本(例如:470.xxx.xxxx)或525.125.06及其以上的驱动版本。
新建节点池过程中,如果您指定的驱动版本不存在于ACK支持的NVIDIA驱动版本列表,ACK将自动安装默认驱动版本。若您指定了与最新操作系统不兼容驱动版本,可能存在节点添加失败的情况,需选择目前支持的最新驱动版本。
步骤一:确定NVIDIA驱动版本
步骤二:指定驱动版本创建节点池
步骤三:验证节点池自定义安装NVIDIA驱动是否成功
执行以下命令,查看带有
component: nvidia-device-plugin
标签的Pod。kubectl get po -n kube-system -l component=nvidia-device-plugin -o wide
预期输出:
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES ack-nvidia-device-plugin-fnctc 1/1 Running 0 2m33s 10.117.227.43 cn-qingdao.10.117.XXX.XX <none> <none>
预期输出表明,NODE列集群中刚添加的节点对应的Pod名称为
ack-nvidia-device-plugin-fnctc
。执行以下命令查看节点的驱动版本是否符合预期。
kubectl exec -ti ack-nvidia-device-plugin-fnctc -n kube-system -- nvidia-smi
预期输出:
Mon Mar 24 08:51:55 2025 +-----------------------------------------------------------------------------------------+ | NVIDIA-SMI 550.144.03 Driver Version: 550.144.03 CUDA Version: 12.6 | |-----------------------------------------+------------------------+----------------------+ | GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. | | | | MIG M. | |=========================================+========================+======================| | 0 Tesla P4 On | 00000000:00:07.0 Off | 0 | | N/A 33C P8 7W / 75W | 0MiB / 7680MiB | 0% Default | | | | N/A | +-----------------------------------------+------------------------+----------------------+ +-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | No running processes found | +-----------------------------------------------------------------------------------------+
预期输出表明,驱动版本为550.144.03,即通过节点池自定义安装NVIDIA驱动成功。
其他方式
使用CreateClusterNodePool 创建节点池时,可在目标节点池的配置中设置自定义驱动的标签。示例代码如下:
{
// 其他部分省略
......
"tags": [
{
"key": "ack.aliyun.com/nvidia-driver-version",
"value": "550.144.03"
}
],
// 其他部分省略
......
}