Questo documento descrive come creare, modificare ed eliminare un piano di ripristino in Google Distributed Cloud (GDC) air-gapped.
I piani di ripristino sono scenari di ripristino preconfigurati per una linea di backup corrispondente. I piani di ripristino possono assegnare autorizzazioni agli utenti con il ruolo Backup Creator per utilizzare queste configurazioni.
I Backup Creator possono ripristinare un backup in modo rapido e indipendente quando si verifica un incidente. Ad esempio, i dati persistenti potrebbero essere danneggiati da un aggiornamento software in un'applicazione di cui è stato eseguito il deployment, mettendo lo spazio dei nomi dell'applicazione in uno stato non valido, che richiede un ripristino.
Durante il ripristino, puoi facoltativamente applicare un insieme di regole di sostituzione che vengono utilizzate per trovare un insieme di risorse e sostituire il valore corrente di un attributo su queste risorse con un nuovo valore. Ad esempio, una regola di sostituzione può modificare lo spazio dei nomi delle risorse di cui è stato eseguito il backup durante il ripristino per eseguire la migrazione di un workload da uno spazio dei nomi a un altro.
Prima di iniziare
Richiedi ruoli IAM
Per creare un piano di ripristino, chiedi all'amministratore dell'organizzazione IAM di concederti il ruolo User Cluster Backup Admin (user-cluster-backup-admin). Questo ruolo crea, recupera, elenca, controlla, aggiorna, applica patch ed elimina risorse di backup come piani di backup e piani di ripristino nei cluster utente.
Se sei un operatore di applicazioni, chiedi a un amministratore con privilegi di amministratore dei backup dei cluster utente di creare un piano di ripristino per te.
Crea un piano di ripristino
Crea un piano di ripristino utilizzando la console GDC o l'API.
Console
- Accedi alla console GDC.
- Nel menu di navigazione, fai clic su Backup for Clusters.
- Fai clic su Crea piano di ripristino.
- Nella sezione Elementi di base del piano di ripristino, completa i seguenti passaggi e fai clic su Avanti:
- In Nome piano di ripristino, inserisci il nome del piano di ripristino.
- (Facoltativo) In Descrizione del piano di ripristino, inserisci una descrizione per il piano di ripristino.
- Nell'elenco Cluster di origine, scegli il cluster di origine per il piano di ripristino.
- Nell'elenco Progetto, scegli il progetto per il piano di ripristino.
- Seleziona il progetto collegato al cluster di origine.
- Nel campo Piano di backup, scegli un piano di backup per un cluster esistente che corrisponda ai backup che vuoi ripristinare.
- Nel campo Cluster di destinazione, scegli il cluster di destinazione in cui vuoi ripristinare il backup.
- Nella sezione Scegli risorse con spazio dei nomi, completa i seguenti passaggi e fai clic su Avanti:
- Scegli gli spazi dei nomi da ripristinare:
- Fai clic su Risorse con spazio dei nomi selezionate per specificare gli spazi dei nomi nel backup da ripristinare.
- Fai clic su Modifica spazi dei nomi del cluster, quindi su Aggiungi spazio dei nomi del cluster per inserire uno spazio dei nomi.
- Fai clic su Applicazioni protette selezionate per aggiungere risorse specificando lo spazio dei nomi e il nome dell'applicazione.
- Fai clic su Risorse con spazio dei nomi selezionate per specificare gli spazi dei nomi nel backup da ripristinare.
- Scegli come gestire i conflitti:
- Fai clic su Errore in caso di conflitto (non distruttivo) per non eseguire il ripristino se nel cluster di destinazione esistono già spazi dei nomi scelti come target per il ripristino da un backup.
- Fai clic su Rollback (distruttivo) per eliminare gli spazi dei nomi esistenti prima di ripristinare i nuovi spazi dei nomi se esistono già spazi dei nomi destinati al ripristino da un backup nel cluster di destinazione.
- Scegli come ripristinare i dati del volume:
- Fai clic su Esegui il provisioning di nuovi volumi e ripristina i dati di volume dal backup per ripristinare i dati di volume dal backup su un nuovo disco permanente.
- Fai clic su Non ripristinare i dati di volume per eseguire il provisioning di un nuovo volume permanente. Se il cluster di destinazione contiene un volume permanente non associato che soddisfa i requisiti della
PersistentVolumeClaim, il cluster viene associato al volume. - Fai clic su Riutilizza i volumi esistenti contenenti i tuoi dati per non ripristinare i dati di backup del volume. Tutte le
PersistentVolumeClaimssono associate a volumi che fanno riferimento a dischi permanenti esistenti.
- Scegli gli spazi dei nomi da ripristinare:
- (Facoltativo) Nella sezione Scegli le risorse con ambito cluster, completa i seguenti passaggi e fai clic su Avanti:
- Fai clic su Non ripristinare le risorse con ambito cluster per lasciare invariata la versione esistente della risorsa.
- Fai clic su Ripristina le risorse con ambito cluster per GroupKind per ripristinare queste risorse.
- Fai clic su Modifica GroupKind per aggiungere altre risorse con ambito cluster. Inserisci il gruppo API e il tipo di oggetto per trovare le risorse corrispondenti all'interno di questi tipi.
- Fai clic su Conserva le risorse esistenti per creare risorse se non esistono nel cluster di destinazione.
- Fai clic su Sovrascrivi le risorse nel cluster di destinazione per eliminare una risorsa se esiste già nel cluster di destinazione e ripristina la copia dal backup.
- (Facoltativo) Nella sezione Aggiungi regole di sostituzione, completa i seguenti passaggi e fai clic su Avanti:
- Fai clic su Aggiungi nuova regola.
- Nella casella Spazi dei nomi del cluster, digita un elenco di spazi dei nomi per trovare le risorse al loro interno.
- Per aggiungere GroupKind, fai clic su Aggiungi GroupKind e inserisci il gruppo API e il tipo di oggetto per trovare le risorse corrispondenti all'interno di questi tipi.
- Nel campo Percorso JSON, digita il percorso JSON che identifica i campi all'interno delle risorse corrispondenti a cui si applica la sostituzione.
- Nel campo Pattern del valore originale, digita il pattern originale da confrontare con il nuovo valore.
- Nel campo Nuovo valore, digita il nuovo valore che sostituisce il valore corrente degli attributi corrispondenti.
- Fai clic su Salva.
- Fai clic su Crea.
API
Crea una risorsa personalizzata ClusterRestorePlan per pianificare i ripristini da un ClusterBackupPlan esistente. Il ruolo ClusterRestorePlan assegna l'insieme esatto di risorse e spazi dei nomi che un Backup Creator è autorizzato a ripristinare. Ecco un esempio di ClusterRestorePlan:
apiVersion: backup.gdc.goog/v1
kind: ClusterRestorePlan
metadata:
name: RESTORE_PLAN_NAME
namespace: PROJECT_NAME
spec:
targetCluster:
targetClusterType: UserCluster
targetClusterName:
kind: "Cluster"
name: CLUSTER_NAME
description: RESTORE_PLAN_DESCRIPTION
clusterBackupPlanName: CLUSTER_BACKUP_PLAN_NAME
clusterRestoreConfig:
volumeDataRestorePolicy: RestoreVolumeDataFromBackup
clusterResourceConflictPolicy: UseBackupVersion
namespacedResourceRestoreMode: DeleteAndRestore
namespacedResourceRestoreScope:
selectedNamespaces:
namespaces: [NAME_SPACE]
clusterBackupRepositoryRef: CLUSTER_BACKUP_REPOSITORY
substitutionRules:
- newValue: NEW_CONFIG_VALUE
originValuePattern: VALUE_PATTERN
target:
groupKinds:
jsonPath: '{.metadata.name}'
namespaces:
- NAME_SPACE
- newValue: NEW_CONFIG_VALUE
originValuePattern: VALUE_PATTERN
target:
groupKinds:
jsonPath: '{.metadata.name}'
namespaces:
- NAME_SPACE
Sostituisci quanto segue:
- Sostituisci
RESTORE_PLAN_NAMEcon il nome del piano di ripristino. - Sostituisci
PROJECT_NAMEcon il nome del tuo progetto GDC. - Sostituisci
CLUSTER_NAMEcon il nome del tuo cluster.
Questo esempio utilizza i seguenti valori:
Valore |
Attributo |
Description |
|---|---|---|
targetClusterName |
Nome del cluster di origine in un progetto a cui è associato questo piano. | |
description |
Una descrizione fornita dall'utente per lo scopo di ClusterRestorePlan. |
|
clusterBackupPlanName |
Il nome della risorsa ClusterBackupPlan da ripristinare. ClusterBackupPlan deve esistere nello stesso spazio dei nomi di ClusterRestorePlan. |
|
clusterRestoreConfig |
Configurazione per il processo di ripristino. | |
volumeDataRestorePolicy |
Specifica una delle seguenti opzioni:
|
|
clusterResourceConflictPolicy |
Specifica il comportamento per la gestione dei conflitti delle risorse del cluster, ad esempio se la risorsa esiste già nel cluster. Specifica uno dei seguenti valori:
|
|
namespacedResourceRestoreMode |
Gestisce la situazione in cui gli insiemi di risorse con spazio dei nomi in fase di ripristino esistono già nel cluster di destinazione. Specifica una delle seguenti opzioni:
|
|
namespacedResourceRestoreScope |
Specifica quali Namespaces o ProtectedApplications sono consentiti per il ripristino.
|
|
clusterBackupRepositoryRef |
Specifica il repository in cui archiviare le risorse Restore. Questo repository può essere diverso da quello da cui proviene il backup. Il repository deve essere un repository ReadWrite nel cluster. |
|
substitutionRules |
Regole per sostituire i valori nelle risorse Kubernetes di cui è stato eseguito il backup durante il ripristino. Un elenco vuoto indica che non viene eseguita alcuna sostituzione.
Le regole di sostituzione vengono applicate in sequenza nell'ordine definito.
Questo ordine è importante, poiché le modifiche apportate da una regola potrebbero influire sulla logica di corrispondenza della regola successiva. Ogni regola specifica un target, un originValuePattern da trovare (VALUE_PATTERN) e un newValue (NEW_CONFIG_VALUE) con cui sostituirlo. target può includere namespaces per definire l'ambito della regola (NAME_SPACE). |
Dopo la creazione di un ClusterRestorePlan, gli utenti con il ruolo Backup Creator possono ripristinare manualmente i backup.
Visualizza un piano di ripristino
Visualizza un piano di ripristino utilizzando la console GDC:
- Accedi alla console GDC.
- Nel menu di navigazione, fai clic su Backup for Clusters.
- Fai clic su Seleziona progetto per selezionare un'organizzazione o un progetto a seconda del tuo ruolo:
- Amministratore backup cluster utente: seleziona un'organizzazione per visualizzare tutti i piani di ripristino in un'organizzazione o seleziona un progetto per visualizzare tutti i piani di ripristino in un progetto.
- Backup Creator: seleziona un progetto per visualizzare tutti i piani di ripristino in un progetto.
- Fai clic sulla scheda Piani di ripristino.
- Fai clic su un piano di ripristino nell'elenco per visualizzarne i dettagli.
Modifica un piano di ripristino
Se il repository di backup associato al piano di ripristino che vuoi modificare ha un valore nel campo Cluster collegato(sola lettura) quando viene creato il piano di ripristino, viene creato due volte. Il piano di ripristino viene propagato sia ai cluster di lettura e scrittura sia a quelli di sola lettura.
Quando modifichi il piano di ripristino di proprietà di un repository di backup con cluster di lettura e scrittura e di sola lettura, devi modificare il piano di ripristino con TARGET CLUSTER impostato sul cluster di lettura e scrittura.
Modifica un piano di ripristino utilizzando la console GDC:
- Accedi alla console GDC.
- Nel menu di navigazione, fai clic su Backup for Clusters.
- Fai clic su Seleziona progetto per selezionare un'organizzazione o un progetto a seconda del tuo ruolo:
- Amministratore backup cluster utente: seleziona un'organizzazione per visualizzare tutti i piani di ripristino in un'organizzazione o seleziona un progetto per visualizzare tutti i piani di ripristino in un progetto.
- Backup Creator: seleziona un progetto per visualizzare tutti i piani di ripristino in un progetto.
- Fai clic sulla scheda Piani di ripristino.
- Fai clic sul nome del piano di ripristino da modificare.
- Fai clic sulla scheda Configurazione piano per visualizzare i campi che possono essere modificati.
Fai clic sull'icona edit Modifica accanto a Risorse con spazio dei nomi per modificare la risorsa:
Nella sezione Scegli risorse con spazio dei nomi, seleziona le risorse con spazio dei nomi nel backup che vuoi ripristinare:
Seleziona Risorse con spazio dei nomi selezionate per ripristinare le risorse dagli spazi dei nomi selezionati nel backup:
- Seleziona Modifica spazi dei nomi del cluster per selezionare lo spazio dei nomi del cluster.
- Nel campo Spazio dei nomi del cluster 1, inserisci il nome dello spazio dei nomi.
- Fai clic sul pulsante Salva.
Seleziona Applicazioni protette selezionate per ripristinare le risorse dalle applicazioni protette selezionate nel backup:
- Seleziona Modifica applicazioni protette per selezionare lo spazio dei nomi e l'applicazione protetta.
- Nel campo Spazio dei nomi 1, inserisci il nome dello spazio dei nomi.
- Nel campo Applicazione protetta 1, inserisci il nome dell'applicazione protetta.
- Fai clic sul pulsante Salva.
Fai clic sull'icona di modifica edit accanto a Risorse con ambito cluster per modificare la risorsa:
(Facoltativo) Nella sezione Scegli le risorse con ambito cluster, seleziona le risorse con ambito cluster da ripristinare specificando i gruppi API e
GroupKindse decidi come risolvere i conflitti:- Seleziona Non ripristinare le risorse con ambito cluster per rimuovere le risorse con ambito cluster dal processo di ripristino.
Seleziona Ripristina le risorse con ambito cluster per GroupKind per ripristinare le risorse in base al
GroupKindspecificato:Per specificare un
GroupKind, fai clic sul pulsante Modifica GroupKind.Fai clic sul pulsante Aggiungi GroupKind.
Inserisci il nome del
GroupKind.Fai clic sul pulsante Salva.
Nella sezione Gestione dei conflitti, determina l'azione da intraprendere se la risorsa esiste già nel cluster di destinazione:
- Seleziona Conserva le risorse esistenti per creare risorse se non esistono già nel cluster.
- Seleziona Sovrascrivi le risorse esistenti per eliminare le risorse esistenti trovate e sostituirle con la risorsa ripristinata.
Fai clic sul pulsante Salva per confermare le modifiche.
Nella sezione Regole di sostituzione, fai clic sul pulsante Aggiungi nuova regola per aggiungere una nuova regola di sostituzione:
- Nel campo Namespace del cluster, inserisci il nome del namespace del cluster a cui applicare questa regola di sostituzione.
- Fai clic sul pulsante Aggiungi GroupKind per applicare questa regola a un determinato oggetto
GroupKind. - Nel campo Percorso JSON, inserisci il percorso dell'attributo della risorsa che vuoi sostituire, in formato JSON.
- Nel campo Pattern del valore originale, inserisci un'espressione regolare che corrisponda al valore originale dell'attributo.
- Nel campo Nuovo valore, inserisci il valore che sostituisce il campo di destinazione. Se questo campo è vuoto, il campo di destinazione viene rimosso dalla risorsa.
- Fai clic sul pulsante Salva per completare la creazione della nuova regola di sostituzione.
Nella sezione Regole di sostituzione, fai clic sull'icona di modifica edit per modificare una regola di sostituzione esistente.
Nella sezione Regole di sostituzione, fai clic sull'icona Elimina delete per eliminare una regola di sostituzione esistente.
Elimina un piano di ripristino
RestorePlans può essere eliminato tramite la console GDC o eliminando la risorsa direttamente dal server API Kubernetes. In questo modo, tutti gli artefatti RestorePlan associati vengono eliminati dall'archivio di oggetti.
Console
- Accedi alla console GDC.
- Nel menu di navigazione, fai clic su Backup for Clusters.
- Fai clic su Seleziona progetto per selezionare un'organizzazione o un progetto a seconda del tuo ruolo:
- Amministratore backup cluster utente: seleziona un'organizzazione per visualizzare tutti i piani di ripristino di un'organizzazione oppure seleziona un progetto per visualizzare tutti i piani di ripristino di un progetto.
- Backup Creator: seleziona un progetto per visualizzare tutti i piani di ripristino al suo interno.
- Fai clic sulla scheda Piani di ripristino.
- Fai clic sul nome del piano di ripristino che vuoi eliminare.
- Fai clic sul pulsante delete Elimina.
- Inserisci il nome del piano di ripristino nel campo.
- Fai clic sul pulsante Elimina per confermare l'eliminazione del piano di ripristino.
API
Elimina la risorsa del piano di ripristino:
kubectl delete clusterRestoreplan RESTORE_PLAN_NAME -n NAMESPACE
Sostituisci quanto segue:
RESTORE_PLAN_NAME: il nome del piano di ripristino.NAMESPACE: lo spazio dei nomi che contiene il piano di ripristino.