全部產品
Search
文件中心

Container Service for Kubernetes:通過指定版本號碼自訂節點GPU驅動版本

更新時間:Jun 19, 2024

不同類型和版本的ACK叢集預設為您安裝不同版本的NVIDIA驅動。如果您使用的CUDA庫需要匹配更高版本的NVIDIA驅動,需要自訂安裝節點的NVIDIA驅動。本文介紹如何基於節點池標籤自訂GPU節點的NVIDIA驅動版本。

注意事項

  • 對於GPU驅動版本與您業務應用的相容性(GPU驅動版本與CDUA庫版本的相容性),ACK不保證兩者之間相容性,請您自行驗證。

  • 對於已經安裝GPU驅動、NVIDIA Container Runtime等GPU組件的自訂動作系統鏡像,ACK無法保證其提供的GPU驅動與ACK其他GPU組件相容(例如監控組件等)。

  • 通過節點池標籤指定節點池中GPU節點的驅動版本時,由於安裝驅動的過程是在添加節點時被觸發,因此僅對新擴容或新添加的節點有效,對節點池中已經存在的節點無效。如果希望對已有節點有效,那麼需要將該節點從節點池移除,再加入原節點池。具體操作,請參見移除節點添加已有節點

  • 機型ecs.gn7.xxxxx和ecs.ebmgn7.xxxx對510.xxx和515.xxx版本驅動存在相容性問題,建議使用關閉GSP的510以下的驅動版本(例如:470.xxx.xxxx)或525.125.06及其以上的驅動版本。

  • NVIDIA各卡型(P100、T4、V100、A10等)對驅動版本的更詳細的要求,請參見NVIDIA官方文檔

步驟一:確定NVIDIA驅動版本

ACK支援的NVIDIA驅動版本列表選擇與您業務相匹配的NVIDIA驅動版本。具體操作,請參見如何選擇節點NVIDIA驅動版本

步驟二:建立節點池並指定驅動版本

本文以驅動版本418.181.07為例進行介紹。

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集

  2. 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇節點管理 > 節點池

  3. 單擊右上方的建立節點池,然後在建立節點池對話方塊配置相關參數。

    主要配置項說明如下。關於配置項的詳細說明,請參見建立Kubernetes託管版叢集

    1. 單擊顯示進階選項

    2. 節點標籤參數欄添加標籤,單擊1表徵圖,然後在文字框輸入ack.aliyun.com/nvidia-driver-version,在文字框輸入418.181.07

      關於Container Service提供的可用NVIDIA驅動版本,請參見ACK支援的NVIDIA驅動版本列表

      重要

      執行個體規格為ecs.ebmgn7或ecs.ebmgn7e的ECS,僅支援460.32.03之後的NVIDIA驅動版本。

    3. 參數配置完成後,單擊確認配置

步驟三:驗證節點池自訂安裝NVIDIA驅動是否成功

  1. 登入Container Service管理主控台,在左側導覽列選擇叢集

  2. 在目的地組群右側的操作列,選擇更多 > 通過 CloudShell 管理叢集

  3. 執行以下命令,查看帶有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
    nvidia-device-plugin-cn-beijing.192.168.1.127   1/1     Running   0          6d    192.168.1.127   cn-beijing.192.168.1.127   <none>           <none>
    nvidia-device-plugin-cn-beijing.192.168.1.128   1/1     Running   0          17m   192.168.1.128   cn-beijing.192.168.1.128   <none>           <none>
    nvidia-device-plugin-cn-beijing.192.168.8.12    1/1     Running   0          9d    192.168.8.12    cn-beijing.192.168.8.12    <none>           <none>
    nvidia-device-plugin-cn-beijing.192.168.8.13    1/1     Running   0          9d    192.168.8.13    cn-beijing.192.168.8.13    <none>           <none>
    nvidia-device-plugin-cn-beijing.192.168.8.14    1/1     Running   0          9d    192.168.8.14    cn-beijing.192.168.8.14    <none>           <none>

    預期輸出表明,NODE列叢集中剛添加的節點對應的Pod名稱為nvidia-device-plugin-cn-beijing.192.168.1.128。

  4. 執行以下命令查看節點的驅動版本是否符合預期。

    kubectl exec -ti nvidia-device-plugin-cn-beijing.192.168.1.128 -n kube-system -- nvidia-smi

    預期輸出:

    Sun Feb  7 04:09:01 2021       
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 418.181.07   Driver Version: 418.181.07   CUDA Version: N/A      |
    |-------------------------------+----------------------+----------------------+
    | GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
    | Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
    |===============================+======================+======================|
    |   0  Tesla V100-SXM2...  On   | 00000000:00:07.0 Off |                    0 |
    | N/A   27C    P0    40W / 300W |      0MiB / 16130MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    |   1  Tesla V100-SXM2...  On   | 00000000:00:08.0 Off |                    0 |
    | N/A   27C    P0    40W / 300W |      0MiB / 16130MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    |   2  Tesla V100-SXM2...  On   | 00000000:00:09.0 Off |                    0 |
    | N/A   31C    P0    39W / 300W |      0MiB / 16130MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
    |   3  Tesla V100-SXM2...  On   | 00000000:00:0A.0 Off |                    0 |
    | N/A   27C    P0    41W / 300W |      0MiB / 16130MiB |      0%      Default |
    +-------------------------------+----------------------+----------------------+
                                                                                   
    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+

    預期輸出表明,驅動版本為418.181.07,即通過節點池自訂安裝NVIDIA驅動成功。

其他方式

使用OpenAPI方式建立或者擴容叢集時,可在目標節點池的配置中設定自訂驅動的標籤。範例程式碼如下:

{
  // 其他部分省略
  ......
    "tags": [
        {
            "key": "ack.aliyun.com/nvidia-driver-version",
            "value": "418.181.07"
        }
    ],
  // 其他部分省略
  ......
}