本頁說明如何在 Google Distributed Cloud (GDC) Air-gapped 中,對備份資料執行細部還原作業。
精細還原功能可讓您從備份還原部分資源。這項功能可彈性調整還原方案中定義的還原範圍。
事前準備
如要為備份建立細部還原作業,您必須具備下列條件:
- 現有備份。詳情請參閱「規劃備份作業集」。
必要的身分與存取權角色:
- 對於 PA 使用者:
- 使用者叢集備份管理員:管理使用者叢集中的備份資源,例如備份和還原計畫。請機構 IAM 管理員授予您「使用者叢集備份管理員」(
user-cluster-backup-admin
) 角色。
- 使用者叢集備份管理員:管理使用者叢集中的備份資源,例如備份和還原計畫。請機構 IAM 管理員授予您「使用者叢集備份管理員」(
- 適用於 AO 使用者:
- 備份建立者:建立手動備份及還原。請專案 IAM 管理員授予您備份建立者 (
backup-creator
) 角色。
- 備份建立者:建立手動備份及還原。請專案 IAM 管理員授予您備份建立者 (
- 詳情請參閱「角色定義」。
- 對於 PA 使用者:
建立精細還原作業
如要使用精細篩選器建立還原作業,請按照下列步驟操作:
建立精細還原篩選器。您可以參考下列 YAML 範例。
inclusionFilters: - groupKind: group: foo.io kind: Bar name: name1 namespace: ns1 exclusionFilters: - labels: key1: value1 key2: value2
建立
ManualRestoreRequest
自訂資源,規劃從現有Backups
進行還原作業。以下是ManualRestoreRequest
的範例:apiVersion: backup.gdc.goog/v1 kind: ManualRestoreRequest metadata: name: RESTORE_NAME namespace: PROJECT_NAMESPACE spec: restoreName: RESTORE_NAME restorePlanName: RESTORE_PLAN backupName: BACKUP_NAME filter: FINE_GRAINED_RESTORE_FILTERS
更改下列內容:
RESTORE_NAME
:要建立的還原作業名稱。PROJECT_NAMESPACE
:GDC 專案名稱。RESTORE_PLAN
:這項還原作業所依據的還原計畫名稱。BACKUP_NAME
:要還原的備份。這項備份必須與還原方案參照的備份方案建立關聯。詳情請參閱「規劃一組還原作業」。FINE_GRAINED_RESTORE_FILTER
:細部還原篩選器。如需範例,請參閱「精細還原篩選器範例」。
精細還原篩選器範例
以下範例採用 Google Cloud CLI 使用的 YAML 格式。
還原單一命名空間範圍內的資源
這個範例會使用精細還原 inclusionFilters
選取資源,在命名空間 webserver
中還原名為 nginx-vars
的 ConfigMap
資源。如要選擇核心群組下的資源,請在 group
欄位中使用空字串。
filter:
inclusionFilters:
- groupKind:
kind: ConfigMap
name: nginx-vars
namespace: webserver
排除單一叢集範圍內的資源
這個範例會還原所有可用資源,但名稱為 sc1
的 groupKind
資源除外,並使用精細還原 exclusionFilters
排除該資源。
filter:
exclusionFilters:
- groupKind:
group: storage.k8s.io
kind: StorageClass
name: sc1
還原具有兩個標籤的資源
這個範例會使用精細復原 inclusionFilters
選取資源,復原同時具有 key1:value1
和 key2:value2
標籤的資源。
filter:
inclusionFilters:
- labels:
key1: value1
key2: value2
排除部分 GroupKind 的所有資源
這個範例會還原所有可用資源,但 ConfigMap
和 storage.k8s.io/StorageClass
的 groupKind
資源除外。為此,我們使用精細還原 exclusionFilters
排除這兩個 GroupKind。
filter:
exclusionFilters:
- groupKind:
kind: ConfigMap
- groupKind:
group: storage.k8s.io
kind: StorageClass