Questo documento 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à di perfezionare l'ambito di ripristino definito nel piano di ripristino.
Prima di iniziare
Assicurati di avere un backup esistente. Per ulteriori informazioni, consulta Pianificare un insieme di backup.
Richiedere i ruoli IAM
Per creare un ripristino granulare per un backup, chiedi all'amministratore IAM dell'organizzazione o all'amministratore IAM del progetto di concederti uno dei seguenti ruoli:
Amministratore backup cluster utente (
user-cluster-backup-admin): crea, recupera, elenca, monitora, aggiorna, applica patch ed elimina le risorse di backup, come i piani di backup e ripristino nei cluster utente. Contatta l'amministratore IAM dell'organizzazione per richiedere questo ruolo.Creatore di backup (
backup-creator): crea, recupera, elenca, monitora, aggiorna, applica patch ed elimina le richieste di backup manuale e le richieste di ripristino manuale. Contatta l'amministratore IAM del progetto per richiedere questo ruolo.
Creare un ripristino granulare
Per creare un ripristino con un filtro granulare:
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 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 ulteriori informazioni, consulta Pianificare un insieme di ripristini.FINE_GRAINED_RESTORE_FILTER: i filtri di ripristino granulare. Per esempi, consulta Esempi di filtri di ripristino granulare esempi.
Esempi di filtri di ripristino granulare
Gli esempi seguenti sono forniti nel formato YAML utilizzato da Google Cloud CLI.
Ripristinare 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 inclusionFilters di ripristino granulare 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
Escludere una singola risorsa con ambito cluster
Questo esempio ripristina tutte le risorse disponibili, ad eccezione di una risorsa groupKind con il nome sc1, utilizzando exclusionFilters di ripristino granulare 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 inclusionFilters di ripristino granulare per selezionare le risorse.
filter:
inclusionFilters:
- labels:
key1: value1
key2: value2
Escludere 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 exclusionFilters di ripristino granulare per escludere questi due GroupKind.
filter:
exclusionFilters:
- groupKind:
kind: ConfigMap
- groupKind:
group: storage.k8s.io
kind: StorageClass