全部產品
Search
文件中心

Container Service for Kubernetes:升級節點cGPU版本

更新時間:Jun 19, 2024

ACK叢集支援GPU共用調度時節點需要安裝cGPU模組。本文介紹如何通過命令及控制台升級節點上的cGPU模組。

前提條件

通過命令升級節點cGPU版本

cgpu-installer的DaemonSet用於在節點上安裝cGPU驅動模組。在升級cGPU時,需要將cgpu-installer的鏡像版本修改為待升級的版本。

目前支援的cGPU鏡像版本如下:

  • v0.8.10
  • v0.8.12
  • v0.8.13
說明 升級節點cGPU版本過程中會重啟節點,所以在升級節點cGPU版本之前,請確認節點上無正在啟動並執行業務。
  1. 執行以下命令修改cgpu-installer的鏡像,升級節點的cGPU模組版本。
    kubectl  edit ds cgpu-installer -n kube-system
    修改鏡像的版本,以其他版本升級到v0.8.10版本為例:鏡像版本
  2. 卸載節點上舊版本cGPU。
    1. 登入節點。關於登入方式,請參見使用VNC登入執行個體
    2. 執行以下命令停止Docker服務。
      systemctl stop docker
    3. 執行以下命令卸載cGPU。
      bash /usr/local/cgpu-installer/uninstall.sh
      說明
      /usr/local/cgpu-installer/uninstall.sh不存在,請執行以下命令卸載舊版本cGPU。
      wget http://aliacs-k8s-cn-beijing.oss-cn-beijing.aliyuncs.com/gpushare/cgpu-uninstall.sh -O /usr/local/cgpu-installer/uninstall.sh
  3. 重啟卸載舊版本cGPU的節點。具體操作,請參見重啟執行個體

結果驗證

當節點重啟後,登入該節點,執行以下命令查詢cGPU版本。

cat /proc/cgpu_km/version

預期輸出:

0.8.10

從預期輸出可以得出,節點的cGPU版本已經成功升級到v0.8.10版本。

通過控制台升級節點cGPU版本

cgpu-installer的DaemonSet用於在節點上安裝cGPU驅動模組。在升級cGPU時,需要將cgpu-installer的鏡像版本修改為待升級的版本。

目前支援的cGPU鏡像版本如下:

  • v0.8.10
  • v0.8.12
  • v0.8.13
  1. 執行以下命令修改cgpu-installer的鏡像,升級節點的cGPU模組版本。
    kubectl  edit ds cgpu-installer -n kube-system
    修改鏡像的版本,以其他版本升級到v0.8.10版本為例:鏡像版本
  2. 移除待升級cGPU版本的節點。
    具體操作,請參見移除節點
    1. 登入Container Service管理主控台

    2. 在控制台左側導覽列,單擊叢集

    3. 叢集列表頁面,單擊目的地組群名稱或者目的地組群右側操作列下的詳情

    4. 在叢集管理頁左側導覽列,選擇節點管理 > 節點

    5. 節點頁面選中待升級節點,單擊大量移除
    6. 移除節點對話方塊選中自動排空節點(drain)
    7. 單擊確定
  3. 建立節點池。
    建立一個新的節點池用於添加上面移除的安裝有cGPU模組的節點。

    具體操作,請參見建立節點池

    1. 在叢集管理頁左側導覽列,選擇節點管理 > 節點池

    2. 節點池頁面右上方,單擊建立節點池
    3. 建立節點池頁面,設定建立節點池的配置項。
      有關配置項的詳細說明,請參見建立Kubernetes專有版叢集。部分配置項說明如下:
      參數描述配置值
      數量設定節點池初始節點數量。需要填寫為0。
      節點標籤您可以為叢集節點添加標籤。
      • 若叢集中安裝了ack-ai-installer組件,則中輸入ack.node.gpu.schedule中輸入cgpu
      • 若叢集中安裝了ack-cgpu組件,則中輸入cgpu中輸入true
    4. 單擊確認配置,完成節點池的建立。
  4. 添加節點到建立的節點池。
    節點池建立完成後,需要將步驟2中移除的節點添加到步驟3建立的節點池。具體操作,請參見添加已有節點

結果驗證

當節點添加完成以後,驗證節點的cGPU版本是否已升級。
  1. 執行以下命令查詢新添加節點所對應的cgpu-installer。
    kubectl get po -l name=cgpu-installer -n kube-system -o wide

    預期輸出:

    NAME                   READY   STATUS    RESTARTS   AGE    IP                NODE                     NOMINATED NODE   READINESS GATES
    cgpu-installer-kkmp6   1/1     Running   0          4d2h   192.168.XXX.XX1   cn-beijing.192.168.XXX.XX1   <none>           <none>
    cgpu-installer-**2     1/1     Running   0          4d2h   192.168.XXX.XX2   cn-beijing.192.168.XXX.XX2   <none>           <none>
    cgpu-installer-**3     1/1     Running   0          4d2h   192.168.XXX.XX3   cn-beijing.192.168.XXX.XX3   <none>           <none>
  2. 執行以下命令進入cgpu-installer-kkmp6的Pod。
    kubectl exec -ti cgpu-installer-kkmp6 -n kube-system -- bash
  3. 執行以下命令查詢cGPU目前的版本。
    nsenter -t 1 -i -p -n -u -m -- cat /proc/cgpu_km/version

    預期輸出:

    0.8.10

    從預期輸出可以得出節點的cGPU版本已經為v0.8.10。