Questo documento descrive come creare un ripristino granulare per un backup in Google Distributed Cloud (GDC) con air gap.
La funzionalità di ripristino granulare consente di ripristinare un sottoinsieme di risorse da un backup. Questa funzionalità offre la flessibilità di perfezionare l'ambito di ripristino definito nel piano di ripristino.
Prima di iniziare
Assicurati di avere un backup esistente. Per saperne di più, consulta Pianifica un set di backup.
Richiedi ruoli IAM
Per creare un ripristino granulare per un backup, chiedi all'amministratore dell'organizzazione IAM o all'amministratore del progetto IAM di concederti uno dei seguenti ruoli:
User Cluster Backup Admin (
user-cluster-backup-admin): crea, recupera, elenca, controlla, aggiorna, applica patch ed elimina risorse di backup come i piani di backup e ripristino nei cluster utente. Contatta l'amministratore dell'organizzazione IAM per richiedere questo ruolo.Backup Creator (
backup-creator): crea, recupera, elenca, controlla, aggiorna, applica patch ed elimina le richieste di backup manuale e di ripristino manuale. Contatta l'amministratore del progetto IAM per richiedere questo ruolo.
Crea un ripristino granulare
Per creare un ripristino con un filtro granulare, segui questi passaggi:
Crea i filtri di ripristino granulare. Puoi utilizzare il seguente esempio YAML.
inclusionFilters: - groupKind: group: foo.io kind: Bar name: name1 namespace: ns1 exclusionFilters: - labels: key1: value1 key2: value2Crea una risorsa personalizzata
ManualRestoreRequestper pianificare i ripristini da unBackupsesistente. 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 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ù, consulta Pianifica un insieme di ripristini.FINE_GRAINED_RESTORE_FILTER: i filtri di ripristino granulari. Per alcuni esempi, consulta Esempi di filtri di ripristino granulari.
Esempi di filtri di ripristino granulare
I seguenti esempi sono forniti nel formato YAML utilizzato da Google Cloud CLI.
Ripristina una singola risorsa con ambito dello 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 le risorse nel gruppo principale, utilizza una stringa vuota per il campo group.
filter:
inclusionFilters:
- groupKind:
kind: ConfigMap
name: nginx-vars
namespace: webserver
Escludi una singola risorsa con ambito cluster
Questo esempio ripristina tutte le risorse disponibili, ad eccezione di una risorsa 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
Ripristina 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