介紹
使用雲盤建立有狀态服務時往往有一個痛點:開始申請雲盤的時候不能準确估計服務能用多大存儲空間,申請的雲盤在服務運作一段時間後空間不夠使用!!
本文介紹容器服務使用雲盤時,如果進行磁盤擴容;
建議在擴容資料盤之前手動建立快照,以備份資料。
雲盤擴容參考文檔:
https://help.aliyun.com/document_detail/25452.html建立服務
參考動态雲盤服務建立步驟:
# kubectl create -f dynamic.yaml
# kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx-dynamic-69f9bd7b8c-hlkxj 1/1 Running 0 29s
# kubectl get pv
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
d-2ze8enovtwtk8frhdzn0 20Gi RWO Retain Bound default/disk-ssd alicloud-disk-ssd-beijing-b 1m
目前使用一個20G的SSD雲盤,在雲盤中建立一個臨時檔案:
# kubectl exec nginx-dynamic-69f9bd7b8c-hlkxj df | grep data
/dev/vdc 20511312 45080 19401272 1% /data
# kubectl exec nginx-dynamic-69f9bd7b8c-hlkxj ls /data
lost+found
# kubectl exec nginx-dynamic-69f9bd7b8c-hlkxj touch /data/disk
# kubectl exec nginx-dynamic-69f9bd7b8c-hlkxj ls /data
disk lost+found
擴容雲盤
1. 停止服務、解除安裝雲盤
删除deploy應用,雲盤會自動解除安裝:
# kubectl delete deploy nginx-dynamic
到雲盤控制台檢視雲盤:d-2ze8enovtwtk8frhdzn0 處于待挂載狀态。如果沒有解除安裝成功,可以在控制台執行解除安裝。
2. 在控制台進行擴容
在ECS控制台對應的雲盤資訊行中,點選:更多 -- 磁盤擴容 選項,進行雲盤擴容,參考:
将雲盤的大小從20G擴充到30G,擴容完成即可在控制台看到效果。
3. 擴容檔案系統
選擇一個節點,在控制台上把雲盤到這個節點,并記錄其挂載的裝置名(例如:/dev/vdd);
執行檔案系統擴容:
# e2fsck -f /dev/vdd
# resize2fs /dev/vdd
重新建立服務
重新建立服務:
# kubectl create -f dynamic.yaml
# kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx-dynamic-69f9bd7b8c-68kqp 1/1 Running 0 7s
檢視雲盤大小:
# kubectl exec nginx-dynamic-69f9bd7b8c-68kqp df | grep data
/dev/vdd 30832548 45036 29198264 1% /data
驗證資料一緻性:
# kubectl exec nginx-dynamic-69f9bd7b8c-68kqp ls /data
disk lost+found