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