本頁說明如何為容器應用程式建立特定時間點的儲存空間磁碟區副本或快照。磁碟區快照可讓您將磁碟區還原至先前的狀態,或佈建新的磁碟區。
本頁內容適用於應用程式運算子群組中的開發人員,他們負責為所屬機構建立應用程式工作負載。詳情請參閱 GDC air-gapped 說明文件適用對象。
事前準備
如要對 Kubernetes 叢集執行指令,請確認您具備下列資源:
找出 Kubernetes 叢集名稱,或詢問平台管理員叢集名稱。
如果沒有 Kubernetes 叢集的 kubeconfig 檔案,請登入並產生該檔案。
請使用 Kubernetes 叢集的 kubeconfig 路徑,替換這些操作說明中的
KUBERNETES_CLUSTER_KUBECONFIG
。
如要取得管理磁碟區快照所需的權限,請要求機構的 IAM 管理員在專案命名空間中,授予您命名空間管理員角色 (namespace-admin
)。
建立磁碟區快照
如要拍攝 PersistentVolumeClaim
物件的快照,請建立 VolumeSnapshot
物件。系統不保證資料一致性。建立快照前,請先暫停應用程式並清除資料。
建立
VolumeSnapshot
自訂資源:kubectl --kubeconfig KUBERNETES_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
更改下列內容:
KUBERNETES_CLUSTER_KUBECONFIG
:叢集的 kubeconfig 檔案。NAMESPACE
:要在其中建立磁碟區快照的專案命名空間。VOLUME_SNAPSHOT_NAME
:VolumeSnapshot
物件名稱。PVC_NAME
:要建立快照的 PVC 名稱。
當
.status.readyToUse
欄位變成true
時,快照作業即完成。您可以使用下列指令檢查狀態:kubectl --kubeconfig KUBERNETES_CLUSTER_KUBECONFIG get volumesnapshot \ -o custom-columns='NAME:.metadata.name,READY:.status.readyToUse'
使用指定為資料來源的磁碟區快照更新 PVC 資訊清單:
kubectl --kubeconfig KUBERNETES_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
更改下列內容:
KUBERNETES_CLUSTER_KUBECONFIG
:叢集的 kubeconfig 檔案。NAMESPACE
:PVC 資源所在的命名空間。PVC_NAME
:要建立快照的 PVC 名稱。VOLUME_SNAPSHOT_NAME
:磁碟區快照的名稱。