Questa pagina descrive come creare un ripristino granulare per un backup in Google Distributed Cloud (GDC) air-gapped.
La funzionalità di ripristino granulare consente di ripristinare un sottoinsieme di risorse da un backup. Questa funzionalità offre la flessibilità per perfezionare l'ambito di ripristino definito nel piano di ripristino.
Prima di iniziare
Per creare un ripristino granulare per un backup, devi disporre di:
- Un backup esistente. Per ulteriori informazioni, vedi Pianificare un insieme di backup.
Il ruolo di identità e accesso necessario:
- Per gli utenti PA:
- Amministratore backup cluster utente: gestisce le risorse di backup come i piani di backup e ripristino nei cluster utente. Chiedi all'amministratore IAM dell'organizzazione di concederti
il ruolo Amministratore backup cluster utente (
user-cluster-backup-admin
).
- Amministratore backup cluster utente: gestisce le risorse di backup come i piani di backup e ripristino nei cluster utente. Chiedi all'amministratore IAM dell'organizzazione di concederti
il ruolo Amministratore backup cluster utente (
- Per gli utenti di AO:
- Backup Creator: crea backup manuali ed esegue ripristini. Chiedi all'amministratore IAM del progetto di concederti il ruolo Autore backup (
backup-creator
).
- Backup Creator: crea backup manuali ed esegue ripristini. Chiedi all'amministratore IAM del progetto di concederti il ruolo Autore backup (
- Per ulteriori informazioni, vedi Definizioni dei ruoli.
- Per gli utenti PA:
Crea un ripristino granulare
Per creare un ripristino con un filtro granulare:
Crea i filtri di ripristino granulare. Puoi utilizzare il seguente esempio di YAML.
inclusionFilters: - groupKind: group: foo.io kind: Bar name: name1 namespace: ns1 exclusionFilters: - labels: key1: value1 key2: value2
Crea una risorsa personalizzata
ManualRestoreRequest
per pianificare i ripristini da unBackups
esistente. Ecco un esempio diManualRestoreRequest
: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
Sostituisci quanto segue:
RESTORE_NAME
: il nome del ripristino che vuoi creare.PROJECT_NAMESPACE
: il nome del tuo progetto GDC.RESTORE_PLAN
: il nome del piano di ripristino da cui deriva questo ripristino.BACKUP_NAME
: il backup da ripristinare. Questo backup deve essere associato al piano di backup a cui fa riferimento il piano di ripristino. Per saperne di più, vedi Pianificare un insieme di ripristini.FINE_GRAINED_RESTORE_FILTER
: i filtri di ripristino granulare. Per alcuni esempi, consulta Esempi di filtri di ripristino granulare.
Esempi di filtri di ripristino granulare
Gli esempi seguenti sono forniti nel formato YAML utilizzato da Google Cloud CLI.
Ripristina una singola risorsa con ambito di spazio dei nomi
Questo esempio ripristina una risorsa ConfigMap
con il nome nginx-vars
nello spazio dei nomi webserver
, utilizzando il ripristino granulare inclusionFilters
per selezionare la risorsa. Se vuoi scegliere risorse nel gruppo principale, utilizza una stringa vuota per il campo group
.
filter:
inclusionFilters:
- groupKind:
kind: ConfigMap
name: nginx-vars
namespace: webserver
Escludere una singola risorsa con ambito cluster
Questo esempio ripristina tutte le risorse disponibili tranne una groupKind
con il nome sc1
, utilizzando il ripristino granulare
exclusionFilters
per escludere la risorsa.
filter:
exclusionFilters:
- groupKind:
group: storage.k8s.io
kind: StorageClass
name: sc1
Ripristinare le risorse con due etichette
Questo esempio ripristina le risorse che hanno entrambe le etichette key1:value1
e
key2:value2
, utilizzando il ripristino granulare inclusionFilters
per selezionare le
risorse.
filter:
inclusionFilters:
- labels:
key1: value1
key2: value2
Escludi tutte le risorse di alcuni GroupKind
Questo esempio ripristina tutte le risorse disponibili, ad eccezione delle risorse groupKind
di ConfigMap
e storage.k8s.io/StorageClass
, utilizzando il ripristino granulare exclusionFilters
per escludere questi due GroupKind.
filter:
exclusionFilters:
- groupKind:
kind: ConfigMap
- groupKind:
group: storage.k8s.io
kind: StorageClass