本頁說明如何為容器應用程式建立特定時間點的儲存空間磁碟區副本或快照。磁碟區快照可讓您將磁碟區還原至先前的狀態,或佈建新的磁碟區。
本頁內容適用於應用程式運算子群組中的開發人員,他們負責為所屬機構建立應用程式工作負載。
事前準備
如要針對預先設定的 Bare Metal Kubernetes 叢集執行指令,請確認您擁有下列資源:
找出 Kubernetes 叢集名稱,或詢問平台管理員叢集名稱。
如果沒有 Kubernetes 叢集的 kubeconfig 檔案,請登入並產生該檔案。
請使用 Kubernetes 叢集的 kubeconfig 路徑,替換這些操作說明中的
CLUSTER_KUBECONFIG。
如要取得管理磁碟區快照所需的權限,請要求機構的 IAM 管理員在專案命名空間中,授予您命名空間管理員角色 (namespace-admin)。
建立磁碟區快照
如要拍攝 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:磁碟區快照的名稱。