本頁說明如何為容器應用程式建立特定時間點的儲存空間磁碟區副本或快照。磁碟區快照可讓您將磁碟區還原至先前的狀態,或佈建新磁碟區。
本頁內容適用於應用程式運算子群組中的開發人員,他們負責為所屬機構建立應用程式工作負載。
事前準備
如要完成本文中的工作,您必須要求必要的權限並準備環境。
要求 IAM 角色
如要在 Kubernetes 叢集中建立、刪除、編輯或查看磁碟區快照,請要求機構 IAM 管理員授予您命名空間管理員 (namespace-admin) 角色。這個角色會繫結至專案命名空間。
準備環境
如要針對預先設定的 Bare Metal Kubernetes 叢集執行指令,請確認您擁有下列資源:
找出 Kubernetes 叢集名稱,或詢問平台管理員叢集名稱。
如果沒有 Kubernetes 叢集的 kubeconfig 檔案,請登入並產生該檔案。
請使用 Kubernetes 叢集的 kubeconfig 路徑,替換這些操作說明中的
CLUSTER_KUBECONFIG。
建立磁碟區快照
如要拍攝 PersistentVolumeClaim 物件的快照,請建立 VolumeSnapshot 物件。系統不保證資料一致性。建立快照前,請先暫停應用程式並清除資料。
建立
VolumeSnapshot自訂資源:kubectl --kubeconfig CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: snapshot.storage.k8s.io/v1 kind: VolumeSnapshot metadata: name: VOLUME_SNAPSHOT_NAME spec: source: persistentVolumeClaimName: PVC_NAME EOF更改下列內容:
CLUSTER_KUBECONFIG:Kubernetes 叢集的 kubeconfig 檔案。NAMESPACE:要在其中建立磁碟區快照的專案命名空間。VOLUME_SNAPSHOT_NAME:VolumeSnapshot物件名稱。PVC_NAME:要建立快照的 PVC 名稱。
當
.status.readyToUse欄位變成true時,快照作業即完成。您可以使用下列指令檢查狀態:kubectl --kubeconfig CLUSTER_KUBECONFIG get volumesnapshot \ -o custom-columns='NAME:.metadata.name,READY:.status.readyToUse'使用指定為資料來源的磁碟區快照更新 PVC 資訊清單:
kubectl --kubeconfig CLUSTER_KUBECONFIG \ --namespace NAMESPACE apply -f - <<EOF apiVersion: v1 kind: PersistentVolumeClaim metadata: name: PVC_NAME spec: dataSource: name: VOLUME_SNAPSHOT_NAME kind: VolumeSnapshot apiGroup: snapshot.storage.k8s.io storageClassName: standard-rwo accessModes: - ReadWriteOnce resources: requests: storage: 10Gi EOF更改下列內容:
CLUSTER_KUBECONFIG:Kubernetes 叢集的 kubeconfig 檔案。NAMESPACE:PVC 資源所在的命名空間。PVC_NAME:要建立快照的 PVC 名稱。VOLUME_SNAPSHOT_NAME:磁碟區快照的名稱。