本文說明如何在 Google Distributed Cloud (GDC) 實體隔離方案中,建立及管理叢集工作負載的備份方案。
備份方案提供一系列備份的設定、位置和管理功能。備份方案包含備份設定,包括來源叢集和要備份的工作負載。Google 建議您為每個叢集制定至少一項備份方案。
您可以為每個叢集建立一或多個備份方案。您可能基於下列其中一個原因,需要對叢集備份進行分區:
- 您希望在一天中分散進行多次較小的備份,而不是在一天中的某個時間進行一次非常大的備份。
- 您想更頻繁地備份叢集的某些部分,例如每天備份某些命名空間,每小時備份其他命名空間。
單一叢集或虛擬機器 (VM) 可屬於一或多個備份方案。備份方案無法跨越多個叢集,但如果多個 VM 位於同一個叢集,單一備份方案可以擷取這些 VM。所有備份和還原資源都必須與專案名稱建立關聯。
本文適用於平台管理員或應用程式操作員群組中,負責管理叢集備份作業的開發人員。詳情請參閱「GDC 實體隔離方案說明文件的目標對象」。
事前準備
備份使用者叢集時,請務必將用來建立備份方案的專案附加至該叢集。
要求 IAM 角色
如要建立備份方案,請要求 IAM 機構組織管理員授予使用者叢集備份管理員 (user-cluster-backup-admin) 角色。這個角色可建立、取得、列出、監控、更新、修補及刪除使用者叢集中的備份資源,例如備份方案和還原方案。
如果您是應用程式操作員,請要求具備使用者叢集備份管理員權限的管理員,為您建立備份方案。
建立備份方案
您必須為備份方案定義 Cron 排程,系統才會根據 Cron 排程自動產生備份。您也可以手動備份工作負載。 詳情請參閱「建立手動備份」。
使用 GDC 控制台或 API 建立備份方案。
控制台
- 登入 GDC 控制台。
- 在導覽選單中,按一下「Backup for Clusters」。
- 按一下「Create Backup Plan」(建立備份方案)。
- 在「Plan details」(方案詳細資料) 部分,完成下列步驟,然後按一下「Continue」(繼續):
- 在「Cluster」(叢集) 清單中,選取要備份的叢集。
- 在「Project」(專案) 清單中,選取專案。
- 在「Backup plan name」(備份方案名稱) 欄位中,輸入您選擇的備份方案名稱。
- (選用) 在「Backup plan description」(備份方案說明) 中,輸入備份方案的說明。
- 在「Backup repo」(備份存放區) 欄位中,選取備份存放區。備份存放區是一組物件儲存庫實作項目。
- 點選「下一步」。
在「Scope and encryption」(範圍和加密) 部分,完成下列步驟,然後按一下「Continue」(繼續):
選取下列其中一個備份方案範圍:
- 按一下「Entire cluster」(整個叢集),備份所有命名空間資源。
- 按一下「Selected namespaces within the cluster」(叢集內所選的命名空間),選擇要備份的叢集命名空間。
- 依序按一下「Edit Cluster Namespace」(編輯叢集命名空間) 和「Add Cluster Namespace」(新增叢集命名空間),然後輸入命名空間。
- 按一下「Selected protected applications within this cluster」(這個叢集內所選的受保護應用程式),即可指定命名空間和應用程式名稱來新增資源。
- 依序點選「Edit Protected Applications」(編輯受保護的應用程式) 和「Add Protected Application」(新增受保護的應用程式),然後輸入「Namespace」(命名空間) 和「Protected Application」(受保護的應用程式)。
按一下「Include Secrets」(包含 Secret),納入 Kubernetes
Secret資源。如要將磁碟區資料納入備份,請按一下「Include persistent volume data」(納入永久磁碟區資料)。如要在備份期間建立空白磁碟區,請取消勾選這個核取方塊。
在「Schedule and retention」(排程和保留) 專區中,完成下列步驟,然後按一下「Continue」(繼續):
- 如要定義排程,請在「CRON string」(CRON 字串) 欄位中,使用標準 Cron 語法輸入運算式。舉例來說,運算式
10 3 * * *會在每天 03:10 建立備份。所有時間都會解讀為世界標準時間。排定的備份作業之間至少須間隔 10 分鐘。 - 在「Delete backups after」(刪除備份前的保留天數) 欄位中,設定備份的保留天數。達到指定天數後,系統會自動刪除備份。
- 設定無法刪除備份的天數。
- 如要鎖定資料保留政策,請點選鎖頭圖示,將鎖定狀態從「Off」(關閉) 變更為「On」(開啟)。
- 如要定義排程,請在「CRON string」(CRON 字串) 欄位中,使用標準 Cron 語法輸入運算式。舉例來說,運算式
查看備份方案詳細資料,然後按一下「建立方案」。
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 控制台查看備份方案:
- 登入 GDC 控制台。
- 在導覽選單中,按一下「Backup for Clusters」。
- 按一下「Select project」(選取專案),然後選取組織,即可查看組織中的所有備份方案;或選取專案,即可查看專案中的所有備份方案。
- 按一下「Backup Plans」(備份方案) 分頁標籤。
- 在清單中點選備份方案,即可查看詳細資料。具備使用者叢集備份管理員權限的使用者,可以查看組織中的所有備份方案。具備備份建立者角色的使用者,可以查看所選專案中的所有備份方案。
編輯備份方案
使用 GDC 控制台編輯備份方案:
- 登入 GDC 控制台。
- 在導覽選單中,按一下「Backup for Clusters」。
- 按一下「Select project」(選取專案),然後選取組織,即可查看組織中的所有備份方案;或選取專案,即可查看專案中的所有備份方案。
- 按一下「Backup Plans」(備份方案) 分頁標籤。
- 按一下要編輯的備份方案名稱。
- 按一下「Plan Configuration」分頁標籤,查看可修改的欄位。
按一下「Schedule and retention」(排程和保留) 的「Edit」(編輯) 圖示 edit,編輯該資源:
- 如要更新排程,請在「CRON string」(CRON 字串) 欄位中使用標準 cron 語法輸入運算式。舉例來說,運算式
10 3 * * *會在每天 03:10 建立備份。所有時間都會解讀為世界標準時間。排定的備份作業之間至少須間隔 10 分鐘。 - 在「Delete backups after」(刪除備份前的保留天數) 欄位中,設定備份的保留天數。達到指定天數後,系統會自動刪除備份。
在「禁止刪除備份的天數」欄位中,設定無法刪除備份的天數。
如要鎖定資料保留政策,請將鎖頭圖示從「關閉」切換為「開啟」。
點選「儲存」按鈕確認變更。
- 如要更新排程,請在「CRON string」(CRON 字串) 欄位中使用標準 cron 語法輸入運算式。舉例來說,運算式
停用備份方案
使用 GDC 控制台停用備份方案:
- 登入 GDC 控制台。
- 在導覽選單中,按一下「Backup for Clusters」。
- 按一下「Select project」(選取專案),然後選取機構,即可查看機構中的所有備份方案;或選取專案,即可查看專案中的所有備份方案。
- 按一下「Backup Plans」(備份方案) 分頁標籤。
- 按一下要停用的備份方案名稱。
- 按一下「停用企劃書」按鈕。
- 在欄位中輸入要停用的備份方案名稱。
- 按一下「停用」按鈕,即可完成停用這項備份方案。