規劃備份作業

本文說明如何在 Google Distributed Cloud (GDC) 實體隔離方案中,建立及管理叢集工作負載的備份方案。

備份方案提供一系列備份的設定、位置和管理功能。備份方案包含備份設定,包括來源叢集和要備份的工作負載。Google 建議您為每個叢集制定至少一項備份方案。

您可以為每個叢集建立一或多個備份方案。您可能基於下列其中一個原因,需要對叢集備份進行分區:

  • 您希望在一天中分散進行多次較小的備份,而不是在一天中的某個時間進行一次非常大的備份。
  • 您想更頻繁地備份叢集的某些部分,例如每天備份某些命名空間,每小時備份其他命名空間。

單一叢集或虛擬機器 (VM) 可屬於一或多個備份方案。備份方案無法跨越多個叢集,但如果多個 VM 位於同一個叢集,單一備份方案可以擷取這些 VM。所有備份和還原資源都必須與專案名稱建立關聯。

本文適用於平台管理員或應用程式操作員群組中,負責管理叢集備份作業的開發人員。詳情請參閱「GDC 實體隔離方案說明文件的目標對象」。

事前準備

備份使用者叢集時,請務必將用來建立備份方案的專案附加至該叢集。

要求 IAM 角色

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

如果您是應用程式操作員,請要求具備使用者叢集備份管理員權限的管理員,為您建立備份方案。

建立備份方案

您必須為備份方案定義 Cron 排程,系統才會根據 Cron 排程自動產生備份。您也可以手動備份工作負載。 詳情請參閱「建立手動備份」。

使用 GDC 控制台或 API 建立備份方案。

控制台

  1. 登入 GDC 控制台。
  2. 在導覽選單中,按一下「Backup for Clusters」。
  3. 按一下「Create Backup Plan」(建立備份方案)。
  4. 在「Plan details」(方案詳細資料) 部分,完成下列步驟,然後按一下「Continue」(繼續):
    1. 在「Cluster」(叢集) 清單中,選取要備份的叢集。
    2. 在「Project」(專案) 清單中,選取專案。
    3. 在「Backup plan name」(備份方案名稱) 欄位中,輸入您選擇的備份方案名稱。
    4. (選用) 在「Backup plan description」(備份方案說明) 中,輸入備份方案的說明。
    5. 在「Backup repo」(備份存放區) 欄位中,選取備份存放區。備份存放區是一組物件儲存庫實作項目。
    6. 點選「下一步」。
  5. 在「Scope and encryption」(範圍和加密) 部分,完成下列步驟,然後按一下「Continue」(繼續):

    1. 選取下列其中一個備份方案範圍:

      1. 按一下「Entire cluster」(整個叢集),備份所有命名空間資源。
      2. 按一下「Selected namespaces within the cluster」(叢集內所選的命名空間),選擇要備份的叢集命名空間。
        1. 依序按一下「Edit Cluster Namespace」(編輯叢集命名空間) 和「Add Cluster Namespace」(新增叢集命名空間),然後輸入命名空間。
      3. 按一下「Selected protected applications within this cluster」(這個叢集內所選的受保護應用程式),即可指定命名空間和應用程式名稱來新增資源。
        1. 依序點選「Edit Protected Applications」(編輯受保護的應用程式) 和「Add Protected Application」(新增受保護的應用程式),然後輸入「Namespace」(命名空間) 和「Protected Application」(受保護的應用程式)。
    2. 按一下「Include Secrets」(包含 Secret),納入 Kubernetes Secret 資源。

    3. 如要將磁碟區資料納入備份,請按一下「Include persistent volume data」(納入永久磁碟區資料)。如要在備份期間建立空白磁碟區,請取消勾選這個核取方塊。

  6. 在「Schedule and retention」(排程和保留) 專區中,完成下列步驟,然後按一下「Continue」(繼續):

    1. 如要定義排程,請在「CRON string」(CRON 字串) 欄位中,使用標準 Cron 語法輸入運算式。舉例來說,運算式 10 3 * * * 會在每天 03:10 建立備份。所有時間都會解讀為世界標準時間。排定的備份作業之間至少須間隔 10 分鐘。
    2. 在「Delete backups after」(刪除備份前的保留天數) 欄位中,設定備份的保留天數。達到指定天數後,系統會自動刪除備份。
    3. 設定無法刪除備份的天數。
    4. 如要鎖定資料保留政策,請點選鎖頭圖示,將鎖定狀態從「Off」(關閉) 變更為「On」(開啟)。
  7. 查看備份方案詳細資料,然後按一下「建立方案」。

API

在叢集中建立 ClusterBackupPlan 自訂資源,即可排定備份作業。備份方案會根據backupSchedule定期安排備份。ClusterBackupPlan 資源是命名空間資源。以下是 ClusterBackupPlan 的範例:

apiVersion: backup.gdc.goog/v1
kind: ClusterBackupPlan
metadata:
  name: CLUSTER_BACKUP_PLAN
  namespace: PROJECT_NAME
spec:
  targetCluster:
    targetClusterType: UserCluster
    targetClusterName:
      kind: "Cluster"
      name: CLUSTER_NAME
  backupSchedule:
    cronSchedule: CRON_SCHEDULE
    paused: BACKUP_SCHEDULE_STATUS
    maxConcurrency: MAX_CONCURRENCY
  clusterBackupConfig:
    backupScope:
      selectedNamespaces:
        namespaces: [NAME_SPACE]
    clusterBackupRepositoryName: CLUSTER_BACKUP_REPOSITORY
  retentionPolicy:
    backupDeleteLockDays: BACKUP_DELETE_LOCK_DAYS
    backupRetainDays: BACKUP_RETAIN_DAYS
  description: BACKUP_PLAN_DESCRIPTION

更改下列內容:

  • CLUSTER_BACKUP_PLAN:叢集備份方案名稱。
  • PROJECT_NAME:GDC 專案的名稱。
  • CLUSTER_NAME:要備份的叢集名稱。封閉的 targetCluster 欄位包含下列元件:
    • targetClusterType:要備份的叢集類型,例如 UserCluster 或 ManagementAPI。本範例使用 UserCluster。
    • targetClusterName:包含由 CLUSTER_NAME 設定的 name。
  • CRON_SCHEDULE:crontab 排程,指出排定備份的時間,例如 "*/30 * * * *"。排定的備份作業之間至少須間隔 10 分鐘。
  • BACKUP_SCHEDULE_STATUS:如果為 true,則不會排定定期備份。
  • MAX_CONCURRENCY:指定備份方案中,可同時存在的排定備份數量上限。如果指定這項設定,則在任何時間點,這項備份方案中處於有效狀態的排定備份數量,都不得超過這個值。如未指定,則預設為 2。值必須介於 1 至 7 之間。
  • NAME_SPACE:要納入備份作業的命名空間清單。封閉的 clusterBackupConfig 欄位包含備份設定詳細資料:
    • backupScope:指出備份的資源。本範例使用的是 selectedNamespaces。可能的值包括:
      • allNamespaces:擷取所有命名空間中的所有資源。
      • selectedNamespaces:擷取指定命名空間清單中的資源。
      • selectedApplication:擷取 protectedApplications 定義的資源。
    • namespaces:如果 backupScope 為 selectedNamespaces,則適用。
  • CLUSTER_BACKUP_REPOSITORY:clusterBackupConfig中 clusterBackupRepositoryName 的值。這是儲存備份的目標存放區,必須匯入為 ReadWrite。
  • BACKUP_DELETE_LOCK_DAYS:在備份建立後,防止備份在指定天數內遭到刪除,例如 10 days。
  • BACKUP_RETAIN_DAYS:定義備份的總保留天數。之後就會自動刪除。如果將這個值設得較高,可能會導致儲存空間用盡;如果設得較低,則可能增加資料遺失的風險。如未指定,這個值預設為 35。資料保留政策不會覆寫儲存位置的資料保留政策,且不得超過 90 天。
  • BACKUP_PLAN_DESCRIPTION:備份方案的說明。

建立備份方案後,系統會根據備份排程,自動以指定的備份設定產生備份。

查看備份方案

使用 GDC 控制台查看備份方案:

  1. 登入 GDC 控制台。
  2. 在導覽選單中,按一下「Backup for Clusters」。
  3. 按一下「Select project」(選取專案),然後選取組織,即可查看組織中的所有備份方案;或選取專案,即可查看專案中的所有備份方案。
  4. 按一下「Backup Plans」(備份方案) 分頁標籤。
  5. 在清單中點選備份方案,即可查看詳細資料。具備使用者叢集備份管理員權限的使用者,可以查看組織中的所有備份方案。具備備份建立者角色的使用者,可以查看所選專案中的所有備份方案。

編輯備份方案

使用 GDC 控制台編輯備份方案:

  1. 登入 GDC 控制台。
  2. 在導覽選單中,按一下「Backup for Clusters」。
  3. 按一下「Select project」(選取專案),然後選取組織,即可查看組織中的所有備份方案;或選取專案,即可查看專案中的所有備份方案。
  4. 按一下「Backup Plans」(備份方案) 分頁標籤。
  5. 按一下要編輯的備份方案名稱。
  6. 按一下「Plan Configuration」分頁標籤,查看可修改的欄位。
  7. 按一下「Schedule and retention」(排程和保留) 的「Edit」(編輯) 圖示 ,編輯該資源:

    1. 如要更新排程,請在「CRON string」(CRON 字串) 欄位中使用標準 cron 語法輸入運算式。舉例來說,運算式 10 3 * * * 會在每天 03:10 建立備份。所有時間都會解讀為世界標準時間。排定的備份作業之間至少須間隔 10 分鐘。
    2. 在「Delete backups after」(刪除備份前的保留天數) 欄位中,設定備份的保留天數。達到指定天數後,系統會自動刪除備份。
    3. 在「禁止刪除備份的天數」欄位中,設定無法刪除備份的天數。

    4. 如要鎖定資料保留政策,請將鎖頭圖示從「關閉」切換為「開啟」。

    5. 點選「儲存」按鈕確認變更。

停用備份方案

使用 GDC 控制台停用備份方案:

  1. 登入 GDC 控制台。
  2. 在導覽選單中,按一下「Backup for Clusters」。
  3. 按一下「Select project」(選取專案),然後選取機構,即可查看機構中的所有備份方案;或選取專案,即可查看專案中的所有備份方案。
  4. 按一下「Backup Plans」(備份方案) 分頁標籤。
  5. 按一下要停用的備份方案名稱。
  6. 按一下「停用企劃書」按鈕。
  7. 在欄位中輸入要停用的備份方案名稱。
  8. 按一下「停用」按鈕,即可完成停用這項備份方案。

後續步驟