在 Google Distributed Cloud (GDC) 實體隔離方案中,手動備份功能可讓您在升級應用程式前,保護 Kubernetes 叢集中的容器工作負載和永久磁碟區。您可以從現有方案建立隨選副本、檢查其狀態,以及刪除過時的項目。
事前準備
應用程式操作員 (AO) 使用者只能從現有備份方案執行手動備份。
要求 IAM 角色
如要建立、查看及刪除備份,請要求 IAM 機構組織管理員或 IAM 專案管理員授予您下列其中一個角色:
使用者叢集備份管理員 (
user-cluster-backup-admin):建立、取得、列出、監控、更新、修補及刪除備份資源,例如使用者叢集中的備份和還原方案。請與 IAM 機構組織管理員聯絡,要求取得這個角色。備份建立者 (
backup-creator):建立、取得、列出、監控、更新、修補及刪除手動備份要求和手動還原要求。如要取得這個角色,請與 IAM 專案管理員聯絡。
建立手動備份
如果備份方案定義了備份排程,系統會根據該排程自動建立備份。您也可以在備份方案排程以外,手動建立備份。舉例來說,您可能需要在升級應用程式前備份工作負載。備份不含叢集設定資訊,例如節點設定、節點集區、初始叢集大小或啟用的功能。
備份作業會擷取兩種形式的資料:
- 設定備份:從備份叢集的 API 伺服器擷取的一組 Kubernetes 資源說明。
- 磁碟區備份:
PersistentVolumeClaims的備份。
控制台
- 登入 GDC 控制台。
- 在導覽選單中,按一下「Backup for Clusters」。
- 按一下「Backup Plans」(備份方案) 分頁標籤。
- 按一下要用於備份的方案。
- 按一下「開始備份」。
- 輸入備份名稱和說明 (選填)。
- 設定備份保留天數。達到這個天數後,備份就會自動刪除。
- 設定無法刪除備份的天數。
- 按一下「啟動」。
API
手動備份必須參照現有的備份方案,才能進行備份設定,而且必須透過發出 ManualClusterBackupRequest 來建立備份。
以下是 ManualClusterBackupRequest 的範例:
apiVersion: backup.gdc.goog/v1
kind: ManualClusterBackupRequest
metadata:
name: manualbackuprequest-test
namespace: PROJECT_NAME
spec:
clusterBackupName: "backup-test"
clusterBackupPlanRef: "backupplan-test"
deleteLockDays: 5
retainDays: 6
將 PROJECT_NAME 替換為 GDC 專案名稱。
這個範例包含下列值:
| 值 | 說明 |
|---|---|
clusterBackupName |
要建立的備份名稱。 |
clusterBackupPlanRef |
用於備份設定的 ClusterBackupPlan 名稱。備份方案必須與 ManualClusterBackupRequest 位於相同的命名空間。 |
deleteLockDays |
備份建立後,在指定天數內禁止刪除備份。這會覆寫 ClusterBackupPlan 中的 retentionPolicy。 |
retainDays |
備份建立後,達到指定天數就會刪除。這個值會覆寫 ClusterBackupPlan 中的 retentionPolicy。資料保留政策不會覆寫儲存位置的資料保留政策,且不得超過 90 天。 |
查看備份
具備使用者叢集備份管理員 (user-cluster-backup-admin) 角色,即可查看組織中的所有備份。具備備份建立者 (backup-creator) 角色,即可查看專案中的所有備份。
控制台
- 登入 GDC 控制台。
- 在導覽選單中,按一下「Backup for Clusters」。
- 按一下「Select project」(選取專案),根據您的角色選取組織或專案:
- 使用者叢集備份管理員:選取組織即可查看組織中的所有備份,選取專案則可查看專案中的所有備份。
- 備份建立者:選取專案,即可查看專案中的所有備份。
- 按一下 [備份] 分頁標籤。
- 按一下清單中的備份,即可查看詳細資料。
kubectl
查看備份清單:
kubectl get clusterBackups
輸出內容範例:
NAME STATE
backup-test Succeeded
刪除備份
備份無法透過與 Kubernetes API 伺服器的一般互動刪除。如要刪除備份,請使用 GDC 控制台或發出 DeleteClusterBackupRequest。
控制台
從「備份」分頁刪除備份:
- 登入 GDC 控制台。
- 在導覽選單中,按一下「Backup for Clusters」。
- 按一下「Select project」(選取專案),根據您的角色選取組織或專案:
- 使用者叢集備份管理員:選取組織即可查看組織中的所有備份,選取專案則可查看專案中的所有備份。
- 備份建立者:選取專案,即可查看專案中的所有備份。
- 按一下 [備份] 分頁標籤。
- 找出要刪除的備份,然後按一下三點選單圖示。
- 在文字欄位中輸入備份名稱。
點按「刪除備份」按鈕,即可完成刪除。
或者,您也可以在查看備份方案時,點選備份名稱來刪除備份:
- 登入 GDC 控制台。
- 在導覽選單中,按一下「Backup for Clusters」。
- 按一下「Select project」(選取專案),然後根據您的角色選取組織或專案:
- 使用者叢集備份管理員:選取組織即可查看組織中的所有備份方案,選取專案則可查看專案中的所有備份方案。
- 備份建立者:選取專案,即可查看專案中的所有備份方案。
- 按一下「Backup Plans」(備份方案) 分頁標籤。
- 按一下備份方案名稱,找出要刪除的備份。
- 按一下 [備份] 分頁標籤。
- 按一下要刪除的備份名稱。
- 按一下「刪除備份」按鈕。
- 在文字欄位中輸入備份名稱。
點選「刪除」按鈕,即可完成刪除備份。
kubectl
傳送 DeleteClusterBackupRequest 要求:
apiVersion: backup.gdc.goog/v1
kind: DeleteClusterBackupRequest
metadata:
name: deletebackuprequest-test
namespace: PROJECT_NAME
spec:
clusterBackupRef: "backup-test"
將 PROJECT_NAME 替換為 GDC 專案名稱。
這個範例包含下列值:
backupName:要刪除的備份名稱。這個備份必須與DeleteClusterBackupRequest位於相同的命名空間。DeleteClusterBackupRequest:這項資源會從叢集刪除備份自訂資源,並從備份儲存位置移除與該備份相關聯的所有構件,包括磁碟區資料。