不同類型和版本的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驅動版本
從ACK支援的NVIDIA驅動版本列表中選擇與您業務相匹配的NVIDIA驅動版本。本文以驅動版本550.144.03為例進行介紹。
步驟二:指定驅動版本建立節點池
登入Container Service管理主控台,在左側導覽列選擇叢集列表。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇。
單擊左上方的建立節點池,關於配置項的詳細說明,請參見建立和管理節點池。主要配置如下。
在節點標籤(Labels)參數欄添加標籤,單擊
表徵圖,然後在鍵文字框輸入ack.aliyun.com/nvidia-driver-version,在值文字框輸入550.144.03。
步驟三:驗證節點池自訂安裝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"
}
],
// 其他部分省略
......
}