備份工作負載

在 Google Distributed Cloud (GDC) 實體隔離方案中,手動備份功能可讓您在升級應用程式前,保護 Kubernetes 叢集中的容器工作負載和永久磁碟區。您可以從現有方案建立隨選副本、檢查其狀態,以及刪除過時的項目。

事前準備

應用程式操作員 (AO) 使用者只能從現有備份方案執行手動備份。

要求 IAM 角色

如要建立、查看及刪除備份,請要求 IAM 機構組織管理員或 IAM 專案管理員授予您下列其中一個角色:

  • 使用者叢集備份管理員 (user-cluster-backup-admin):建立、取得、列出、監控、更新、修補及刪除備份資源,例如使用者叢集中的備份和還原方案。請與 IAM 機構組織管理員聯絡,要求取得這個角色。

  • 備份建立者 (backup-creator):建立、取得、列出、監控、更新、修補及刪除手動備份要求和手動還原要求。如要取得這個角色,請與 IAM 專案管理員聯絡。

建立手動備份

如果備份方案定義了備份排程,系統會根據該排程自動建立備份。您也可以在備份方案排程以外,手動建立備份。舉例來說,您可能需要在升級應用程式前備份工作負載。備份不含叢集設定資訊,例如節點設定、節點集區、初始叢集大小或啟用的功能。

備份作業會擷取兩種形式的資料:

  • 設定備份:從備份叢集的 API 伺服器擷取的一組 Kubernetes 資源說明。
  • 磁碟區備份:PersistentVolumeClaims 的備份。

控制台

  1. 登入 GDC 控制台。
  2. 在導覽選單中,按一下「Backup for Clusters」。
  3. 按一下「Backup Plans」(備份方案) 分頁標籤。
  4. 按一下要用於備份的方案。
  5. 按一下「開始備份」。
  6. 輸入備份名稱和說明 (選填)。
  7. 設定備份保留天數。達到這個天數後,備份就會自動刪除。
  8. 設定無法刪除備份的天數。
  9. 按一下「啟動」。

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) 角色,即可查看專案中的所有備份。

控制台

  1. 登入 GDC 控制台。
  2. 在導覽選單中,按一下「Backup for Clusters」。
  3. 按一下「Select project」(選取專案),根據您的角色選取組織或專案:
    • 使用者叢集備份管理員:選取組織即可查看組織中的所有備份,選取專案則可查看專案中的所有備份。
    • 備份建立者:選取專案,即可查看專案中的所有備份。
  4. 按一下 [備份] 分頁標籤。
  5. 按一下清單中的備份,即可查看詳細資料。

kubectl

查看備份清單:

kubectl get clusterBackups

輸出內容範例:

NAME            STATE
backup-test   Succeeded

刪除備份

備份無法透過與 Kubernetes API 伺服器的一般互動刪除。如要刪除備份,請使用 GDC 控制台或發出 DeleteClusterBackupRequest。

控制台

從「備份」分頁刪除備份:

  1. 登入 GDC 控制台。
  2. 在導覽選單中,按一下「Backup for Clusters」。
  3. 按一下「Select project」(選取專案),根據您的角色選取組織或專案:
    • 使用者叢集備份管理員:選取組織即可查看組織中的所有備份,選取專案則可查看專案中的所有備份。
    • 備份建立者:選取專案,即可查看專案中的所有備份。
  4. 按一下 [備份] 分頁標籤。
  5. 找出要刪除的備份,然後按一下三點選單圖示。
  6. 在文字欄位中輸入備份名稱。
  7. 點按「刪除備份」按鈕,即可完成刪除。

或者,您也可以在查看備份方案時,點選備份名稱來刪除備份:

  1. 登入 GDC 控制台。
  2. 在導覽選單中,按一下「Backup for Clusters」。
  3. 按一下「Select project」(選取專案),然後根據您的角色選取組織或專案:
    • 使用者叢集備份管理員:選取組織即可查看組織中的所有備份方案,選取專案則可查看專案中的所有備份方案。
    • 備份建立者:選取專案,即可查看專案中的所有備份方案。
  4. 按一下「Backup Plans」(備份方案) 分頁標籤。
  5. 按一下備份方案名稱,找出要刪除的備份。
  6. 按一下 [備份] 分頁標籤。
  7. 按一下要刪除的備份名稱。
  8. 按一下「刪除備份」按鈕。
  9. 在文字欄位中輸入備份名稱。
  10. 點選「刪除」按鈕,即可完成刪除備份。

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:這項資源會從叢集刪除備份自訂資源,並從備份儲存位置移除與該備份相關聯的所有構件,包括磁碟區資料。

後續步驟