ACK叢集支援GPU共用調度時節點需要安裝cGPU模組。本文介紹如何通過命令及控制台升級節點上的cGPU模組。
前提條件
- 您已通過kubectl串連叢集。具體操作,請參見通過kubectl串連Kubernetes叢集。
- 叢集已安裝ack-cgpu組件。具體操作,請參見安裝ack-cgpu組件。
- 升級節點上無正在啟動並執行業務。
通過命令升級節點cGPU版本
cgpu-installer的DaemonSet用於在節點上安裝cGPU驅動模組。在升級cGPU時,需要將cgpu-installer的鏡像版本修改為待升級的版本。
目前支援的cGPU鏡像版本如下:
- v0.8.10
- v0.8.12
- v0.8.13
說明 升級節點cGPU版本過程中會重啟節點,所以在升級節點cGPU版本之前,請確認節點上無正在啟動並執行業務。
- 執行以下命令修改cgpu-installer的鏡像,升級節點的cGPU模組版本。
kubectl edit ds cgpu-installer -n kube-system
修改鏡像的版本,以其他版本升級到v0.8.10版本為例: - 卸載節點上舊版本cGPU。
- 登入節點。關於登入方式,請參見使用VNC登入執行個體。
- 執行以下命令停止Docker服務。
systemctl stop docker
- 執行以下命令卸載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版本。
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
- 執行以下命令修改cgpu-installer的鏡像,升級節點的cGPU模組版本。
kubectl edit ds cgpu-installer -n kube-system
修改鏡像的版本,以其他版本升級到v0.8.10版本為例: - 移除待升級cGPU版本的節點。具體操作,請參見移除節點。
在控制台左側導覽列,單擊叢集。
在叢集列表頁面,單擊目的地組群名稱或者目的地組群右側操作列下的詳情。
在叢集管理頁左側導覽列,選擇 。
- 在節點頁面選中待升級節點,單擊大量移除。
- 在移除節點對話方塊選中自動排空節點(drain)。
- 單擊確定。
- 建立節點池。建立一個新的節點池用於添加上面移除的安裝有cGPU模組的節點。
具體操作,請參見建立節點池。
在叢集管理頁左側導覽列,選擇 。
- 在節點池頁面右上方,單擊建立節點池。
- 在建立節點池頁面,設定建立節點池的配置項。有關配置項的詳細說明,請參見建立Kubernetes專有版叢集。部分配置項說明如下:
參數 描述 配置值 數量 設定節點池初始節點數量。 需要填寫為0。 節點標籤 您可以為叢集節點添加標籤。 - 若叢集中安裝了ack-ai-installer組件,則鍵中輸入ack.node.gpu.schedule,值中輸入cgpu。
- 若叢集中安裝了ack-cgpu組件,則鍵中輸入cgpu,值中輸入true。
- 單擊確認配置,完成節點池的建立。
- 添加節點到建立的節點池。
結果驗證
當節點添加完成以後,驗證節點的cGPU版本是否已升級。
- 執行以下命令查詢新添加節點所對應的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>
- 執行以下命令進入
cgpu-installer-kkmp6
的Pod。kubectl exec -ti cgpu-installer-kkmp6 -n kube-system -- bash
- 執行以下命令查詢cGPU目前的版本。
nsenter -t 1 -i -p -n -u -m -- cat /proc/cgpu_km/version
預期輸出:
0.8.10
從預期輸出可以得出節點的cGPU版本已經為v0.8.10。