ACK支持在1.16及以上版本的集群中實現CSI云盤在線擴容。本文介紹應用在線時如何動態擴容云盤,從而增加云盤空間。
使用說明
數據備份
擴容存儲卷前,請先備份云盤快照,以防擴容過程異常導致數據出現問題。
適用范圍
只有動態存儲卷才可以進行存儲卷動態擴容,即配置了StorageClassName的PVC。
不支持擴容InlineVolume類型(非PV、PVC方式)的云盤存儲卷。
不支持動態擴容普通云盤類型。
StorageClass需要配置為AllowVolumeExpansion: True。ACK集群默認提供的StorageClass為True,自建的StorageClass需要自行配置。
應用Pod需處于Running狀態。
插件版本
升級您使用的CSI插件到最新版本。
為RAM用戶添加ResizeDisk權限
實現云盤在線擴容前,您需要為集群的RAM角色添加ResizeDisk權限。針對不同集群和插件類型,添加ResizeDisk權限的步驟如下:
ACK專有集群(CSI插件)
登錄容器服務管理控制臺。
在控制臺左側導航欄中,單擊集群。
在集群列表頁面,選中目標集群,并在目標集群右側操作列下,單擊詳情。
在集群管理頁左側導航欄中,單擊集群信息。
單擊集群資源頁簽,單擊Master RAM角色鏈接。
在RAM控制臺中,添加ResizeDisk權限。添加權限具體步驟,請參見改自定義權限策略內容和備注。
ACK專有集群(Flexvolume插件)、ACK托管集群(所有插件類型)
重復上述前4個步驟,然后在集群管理頁面單擊Worker RAM 角色鏈接。
不重啟容器實現在線擴容
使用命令行工具連接ACK集群,請參見步驟二:選擇集群憑證類型。
本文假設應用的當前狀態如下。
執行以下命令獲取Pod信息。
kubectl get pod
預期輸出:
<YOUR-POD-NAME> 1/1 Running 0 42s
執行以下命令查看Pod的掛載詳情。
kubectl exec <YOUR-POD-NAME> -- df /data
預期輸出:
Filesystem 1K-blocks Used Available Use% Mounted on /dev/vdb 20511312 45080 20449848 1% /data
執行以下命令獲取PVC信息。
kubectl get pvc
預期輸出:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE <your-PVC-name> Bound d-wz9hpoifm43yn9zi**** 20Gi RWO alicloud-disk-topology-alltype 57s
執行以下命令獲取PV信息。
kubectl get pv
預期輸出:
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE d-wz9hpoifm43yn9zi**** 20Gi RWO Delete Bound default/<your-PVC-name> alicloud-disk-topology-alltype 65s
在符合使用說明的各個條件下,執行以下命令進行存儲卷擴容。
kubectl patch pvc <your-PVC-name> -p '{"spec":{"resources":{"requests":{"storage":"30Gi"}}}}'
等待一定時間(一分鐘以內)后擴容完成,檢查狀態如下。
執行以下命令查看PV信息。
kubectl get pv d-wz9hpoifm43yn9zi****
預期輸出:
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE d-wz9hpoifm43yn9zi**** 30Gi RWO Delete Bound default/<your-PVC-name> alicloud-disk-topology-alltype 5m23s
執行以下命令查看PVC信息。
kubectl get pvc
預期輸出:
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE <your-PVC-name> Bound d-wz9hpoifm43yn9zi**** 30Gi RWO alicloud-disk-topology-alltype 5m10s
執行以下命令查看Pod的掛載詳情。
kubectl exec <YOUR-POD-NAME> -- df /data
預期輸出:
Filesystem 1K-blocks Used Available Use% Mounted on /dev/vdb 30832548 45036 30771128 1% /data
您只需要執行一條命令即可完成所有的擴容操作。
相關文檔
如需在存儲卷的使用率高于某個閾值時自動擴容存儲卷,請參見自動擴容云盤存儲卷(公測)。