本文說明如何在 Google Distributed Cloud (GDC) 實體隔離環境中,建立備份的精細還原作業。
精細還原功能可讓您從備份還原部分資源。這項功能可讓您彈性調整還原方案中定義的還原範圍。
事前準備
確認您已有備份。詳情請參閱「規劃一組備份」。
要求 IAM 角色
如要為備份建立精細還原,請要求 IAM 機構組織管理員或 IAM 專案管理員授予下列其中一個角色:
使用者叢集備份管理員 (
user-cluster-backup-admin):建立、取得、列出、監控、更新、修補及刪除備份資源,例如使用者叢集中的備份和還原方案。請與 IAM 機構組織管理員聯絡,要求取得這個角色。備份建立者 (
backup-creator):建立、取得、列出、監控、更新、修補及刪除手動備份要求和手動還原要求。如要取得這個角色,請與 IAM 專案管理員聯絡。
建立精細還原
如要使用精細篩選器建立還原作業,請按照下列步驟操作:
建立精細還原篩選器。您可以使用下列 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
排除單一叢集範圍內的資源
這個範例會還原所有可用資源,但使用精細還原 exclusionFilters 排除名為 sc1 的 groupKind 資源。
filter:
exclusionFilters:
- groupKind:
group: storage.k8s.io
kind: StorageClass
name: sc1
還原含有兩個標籤的資源
這個範例會使用精細還原 inclusionFilters 選取資源,還原同時具有 key1:value1 和 key2:value2 標籤的資源。
filter:
inclusionFilters:
- labels:
key1: value1
key2: value2
排除某些 GroupKind 的所有資源
這個範例會使用精細還原 exclusionFilters 排除這兩個 GroupKind,還原所有可用資源,但不包括 ConfigMap 和 storage.k8s.io/StorageClass 的 groupKind 資源。
filter:
exclusionFilters:
- groupKind:
kind: ConfigMap
- groupKind:
group: storage.k8s.io
kind: StorageClass