全部產品
Search
文件中心

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

更新時間:Nov 08, 2024

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

前提條件

  • 已通過kubectl串連叢集。具體操作,請參見擷取叢集KubeConfig並通過kubectl工具串連叢集

  • 叢集已經安裝ack-ai-installer組件或ack-cgpu組件,並已升級到最新版本:

    • ack-ai-installer組件升級方式,請參見升級共用GPU調度組件

    • ack-cgpu組件升級方式,請按照如下步驟進行:

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

      • 叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇應用 > Helm

      • Helm詳情頁面,找到ack-cgpu組件,點擊其對應的更新按鈕,選擇對應的版本,然後單擊確定

  • 升級節點需要停止節點上啟動並執行GPU應用,請選擇業務低峰期進行。

升級方案

重要
  • 方案一步驟較多,但在執行過程中不會影響系統硬碟和資料盤上的其他資料。

  • 方案二會重設節點的作業系統盤,如果您的節點作業系統盤存在資料,請選擇方案一。

方案一:執行指令碼

步驟一:節點排水

  1. 執行以下命令,進行節點下線操作。

    kubectl cordon <NODE1_NAME> <NODE2_NAME>...
  2. 執行以下命令,進行節點排水操作。

    kubectl drain <NODE1_NAME> <NODE2_NAME>... --grace-period=120 --ignore-daemonsets=true

步驟二:卸載舊版cGPU

登入到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

步驟三:安裝新版cGPU

執行以下命令,配置cGPU所在的節點名,並重啟cgpu-installer和cgpu-core-installer組件的Pod。

export NODE= cn-beijing.192.168.XXX.XXXX    # 指定Node。
kubectl delete pods -n kube-system -l name=cgpu-installer --field-selector spec.nodeName=$NODE
kubectl delete pods -n kube-system -l name=cgpu-core-installer --field-selector spec.nodeName=$NODE

驗證

執行以下命令,查看cGPU版本是否已升級至新版本。

cat /proc/cgpu_km/version

預期輸出:

1.5.10
說明

1.5.10只是目前時間最新的版本號碼,後續組件更新將導致版本號碼變更。

方案二:重設節點

移除並重新添加節點

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

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

  3. 節點頁面選中待升級的cGPU節點,單擊大量移除移除節點對話方塊選中自動排空節點(drain)

  4. 將移除的節點重新添加到原有的節點池中。具體操作,請參見添加已有節點

驗證

  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-*****   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-******的Pod。

    kubectl exec -ti cgpu-installer-***** -n kube-system -- bash
  3. 執行以下命令,查詢cGPU目前的版本。

    nsenter -t 1 -i -p -n -u -m -- cat /proc/cgpu_km/version

    預期輸出:

    1.5.10
    說明

    1.5.10只是目前時間最新的版本號碼,後續組件更新將導致版本號碼變更。