前提條件
- 已創建容器集群
- 已在插件市場安裝存儲插件cstor-csi,且插件正常運行
使用限制
參見:“云硬盤概述”—“使用限制”
快照使用流程
功能 步驟 操作 創建云硬盤 1 創建PVC:通過動態(StorageClass+PVC)或 靜態(PV+PVC)方式創建云盤類型PVC。
2 創建應用并使用云盤類型PVC,業務數據保存至云盤。
創建快照 3 創建快照類。
4 創建快照(基于業務PVC),存儲插件自動創建VolumeSnapshotContent和存儲端的快照實例。 使用快照恢復應用 5 基于步驟4的快照對象,創建新的PVC。
6 基于新創建的PVC,創建新的應用。
通過控制臺使用云盤快照
1、創建云盤類型持久卷聲明,參見使用云盤動態存儲卷
2、創建快照類(VolumeSnapshotClass)
- 登錄“云容器引擎管理控制臺;
- 在集群列表頁點擊進入指定集群;
- 進入主菜單“存儲”——“快照與備份”,選擇快照類,單擊左上角“創建快照類”;
- 在創建對話框,配置快照類的相關參數。配置項說明如下:
- 參數配置完成后,點擊“確定”。創建成功后,可以在快照類列表查看。
配置項 說明 名稱 VolumeSnapshotClass 名稱。 存儲類型 當前支持“云盤”和“通用”,這里選擇云盤。
具體創建頁中展示的存儲類型由當前資源池支持情況決定。存儲驅動 對應VolumeSnapshotClass?yaml中provisioner,值為disk.csi.cstor.com。 刪除策略 可以配置當所綁定的 VolumeSnapshot 對象將被刪除時,如何處理 VolumeSnapshotContent 對象,該策略字段必須指定:
?Delete(刪除):底層的存儲快照會和 VolumeSnapshotContent 對象 一起刪除;
?Retain(保留): 底層快照和 VolumeSnapshotContent 對象都會被保留。默認快照類 管理員可以為未請求任何特定類綁定的 VolumeSnapshots 指定默認的 VolumeSnapshotClass
對應VolumeSnapshotClass?yaml中體現為設置注解 snapshot.storage.kubernetes.io/is-default-class: "true"。存儲庫 當快照類型為標準快照時,必填存儲庫。
存儲庫需跳轉云盤控制臺創建,當前存儲插件不支持同名存儲庫。參數 快照類具有描述屬于該卷快照類的卷快照的參數,可根據存儲驅動接受不同的參數。
3、創建快照(VolumeSnapshot)
- 進入主菜單“存儲”——“快照與備份”,選擇快照,單擊左上角“創建快照”;
- 在創建對話框,配置快照的相關參數。配置項說明如下:
- 參數配置完成后,點擊“確定”。創建成功后,可以在快照列表查看。
配置項 說明 名稱 VolumeSnapshot 名稱 存儲類型 這里選擇云盤。
具體創建頁中展示的存儲類型由當前資源池支持情況決定。快照類 選擇上一步創建的VolumeSnapshotClass? 存儲卷聲明 選擇要創建快照的PVC,僅能選擇云硬盤類型PVC。
通過控制臺使用云盤快照
- 登錄“云容器引擎”管理控制臺;
- 在集群列表頁點擊進入指定集群;
- 進入主菜單 “存儲”——“快照與備份”,進入快照列表頁,選擇指定快照,點擊操作“創建存儲卷快照PVC”
- 在創建對話框,配置PVC的相關參數。配置項說明如下:
- 參數配置完成后,點擊“確定”。創建成功后,可以在持久卷聲明列表查看。
- 進入持久卷聲明列表頁,等待PVC狀態為“已綁定” 。此時,進入主菜單“存儲”——“持久卷“,可以看到對應的PV創建 。
- 如果PVC一直未綁定,可以查看進入對應PVC詳情頁查看事件,或者查看cstor-csi日志進行定位。
配置項 說明 名稱 PVC的名稱 存儲聲明類型 當前支持云盤、彈性文件和對象存儲,這里選擇云盤。
具體創建頁中展示的存儲類型由當前資源池支持情況決定。StorageClass名稱 選擇上一步創建的StorageClass 容量 最小容量為快照大小 卷模式 說明:如果使用共享盤存儲,卷模式僅支持塊設備(Block)。
文件系統(Filesystem):默認方式,該類型卷會被 Pod 掛載(Mount) 到某個目錄。 如果卷的存儲來自某塊設備而該設備目前為空,Kuberneretes 會在第一次掛載卷之前在設備上創建文件系統。
塊設備(Block):?這類卷以塊設備的方式交給 Pod 使用,其上沒有任何文件系統。 這種模式對于為 Pod 提供一種使用最快可能方式來訪問卷而言很有幫助, Pod 和卷之間不存在文件系統層。
訪問模式
ReadWriteOnce:卷可以被一個節點以讀寫方式掛載
ReadOnlyMany:卷可以被多個節點以只讀方式掛載
ReadWriteMany:卷可以被多個節點以讀寫方式掛載
說明:如果使用非共享盤存儲,訪問模式不能為ReadWriteMany。
高級選項 可用區:可以根據需要手動選擇PVC對應存儲的可用區。該操作即在PVC上打上標簽如下:topology.kubernetes.io/zone: xxxx
照通過kubectl命令行使用云盤快照
1、創建快照類(VolumeSnapshotClass)
-
使用kubectl連接集群,創建示例yaml文件vsc-example.yaml:
apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshotClass metadata: name: {名稱} annotations: snapshot.storage.kubernetes.io/is-default-class: "false" #是否默認存儲類 driver: disk.csi.cstor.com parameters: snapshotType: "STANDARD" #快照類型 # 快照存儲庫名字,必填 snapshotRepository: {倉庫名} deletionPolicy: {刪除策略} -
執行以下命令,創建VolumeSnapshotClass:
kubectl apply -f vsc-example.yaml -
查看創建的VolumeSnapshotClass:
登錄“云容器引擎”管理控制臺,在集群列表頁點擊進入指定集群,進入主菜單“存儲”——“快照與備份”,在快照類列表查看。
2、創建快照(VolumeSnapshot)
-
使用kubectl連接集群,創建示例yaml文件vs-example.yaml:
apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshot metadata: name: {名稱} namespace: {命名空間} spec: volumeSnapshotClassName: {快照類} source: persistentVolumeClaimName: {PVC-name} -
執行以下命令,創建VolumeSnapshot:
kubectl apply -f vs-example.yaml -
查看創建的快照:
登錄“云容器引擎”管理控制臺,在集群列表頁點擊進入指定集群,進入主菜單“存儲”——“快照與備份”,在快照列表查看。
3、基于快照創建PVC
-
使用kubectl連接集群,創建示例yaml文件pvc-vs-example.yaml:
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: {名稱} namespace: {命名空間} spec: storageClassName: {存儲類名稱} dataSource: name: {VolumeSnapshot名稱} kind: VolumeSnapshot apiGroup: snapshot.storage.k8s.io accessModes: - {訪問模式} resources: requests: storage: {容量} volumeMode: {卷模式} -
執行以下命令,創建PVC:
kubectl apply -f pvc-vs-example.yaml -
查看創建的PVC:
登錄“云容器引擎”管理控制臺,在集群列表頁點擊進入指定集群,進入主菜單“存儲”——“持久卷聲明”,在列表查看。