CSI組件包括csi-plugin和csi-provisioner兩個組件,以實現資料卷的自動建立、掛載、卸載等功能。
前提條件
已建立1.14及以上版本的ACK叢集,且儲存外掛程式類型為CSI,請參見建立叢集。
CSI組件介紹
CSI組件包括csi-plugin和csi-provisioner兩個組件,已在叢集中預設部署。有關CSI的更多資訊,請參見alibaba-cloud-csi-driver;關於CSI組件的基本資料與變更記錄,請參見csi-plugin、csi-provisioner。
csi-plugin組件:實現資料卷的掛載、卸載功能。ACK預設提供雲端硬碟、NAS、OSS三種儲存卷的掛載能力。
csi-provisioner組件:實現資料卷的自動建立能力。目前支援雲端硬碟、NAS兩種儲存卷的建立能力。
ACK託管叢集和ACK專有叢集中CSI的部署架構圖如下表。
ACK託管叢集 | ACK專有叢集 |
ACK託管叢集中,csi-provisioner和csi-plugin都運行在Worker節點中。 | ACK專有叢集中,csi-provisioner部署在Master節點上;csi-plugin以DaemonSet負載方式自動部署在Master、Worker節點中。 |
驗證CSI組件是否安裝成功
ACK託管叢集、ACK專有叢集的儲存外掛程式類型為CSI,控制台將預設安裝csi-plugin和csi-provisioner組件。
請勿刪除預設安裝的csi-plugin和csi-provisioner組件,避免雲端硬碟、OSS、NAS儲存卷掛載失敗。
您可以通過以下步驟,驗證csi-plugin和csi-provisioner組件是否成功部署。
執行以下命令,查看csi-plugin組件是否成功部署。
kubectl get pod -n kube-system | grep csi-plugin
執行以下命令,查看csi-provisioner組件是否成功部署。
kubectl get pod -n kube-system | grep csi-provisioner
升級csi-plugin和csi-provisioner
您可以在控制台查看csi-plugin和csi-provisioner組件版本並升級組件。
登入Container Service管理主控台,在左側導覽列選擇叢集。
在叢集列表頁面,單擊目的地組群名稱,然後在左側導覽列,選擇 。
單擊儲存頁簽,在csi-plugin及csi-provisioner組件地區,查看目前的版本是否需要升級,並升級組件。
升級失敗常見問題
如果叢集通過csi-compatible-controller組件遷移Flexvolume至CSI,且該流程未完成時,無法自動升級csi-plugin和csi-provisioner組件,建議您先完成遷移後再升級組件,或者在遷移過程中手動升級CSI組件。具體操作,請參見升級組件。
若控制台升級失敗或前置檢查失敗,可以按照以下步驟自行排查。
csi-plugin組件前置檢查失敗
若您的叢集沒有使用雲端硬碟、NAS或OSS類型資料卷,請手動升級csi-plugin組件。
若您的叢集使用了雲端硬碟、NAS或OSS類型資料卷,且叢集為測試環境,需要選擇手動升級。
若您的叢集使用了雲端硬碟、NAS或OSS類型資料卷,且包含關鍵業務資料,請提交工單申請手動升級保障。
csi-plugin組件前置檢查通過,但升級失敗
檢查叢集中節點是否都是Ready狀態。如果儲存在NotReady節點,需要先解決節點問題。
若無法找到具體原因,請提交工單申請手動升級保障。
控制台有csi-plugin組件,但沒有csi-provisioner組件
因為使用了早期的csi-provisioner的StatefulSet部署模式,請提交工單申請手動升級保障。
csi-provisioner組件前置檢查失敗
若您的叢集沒有使用通過StorageClass建立的雲端硬碟或NAS類型的動態資料卷,請手動升級csi-provisioner組件。
若您的叢集使用通過StorageClass建立的雲端硬碟或NAS類型的動態資料卷,且叢集為測試環境,需要選擇手動升級。
若您的叢集使用通過StorageClass建立的雲端硬碟或NAS類型的動態資料卷,且包含關鍵業務資料,請提交工單申請手動升級保障。
csi-provisioner組件前置檢查通過,但是升級失敗
請提交工單申請手動升級保障。
相關文檔
關於CSI組件的基本資料與變更記錄,請參見csi-plugin、csi-provisioner。