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 le autorizzazioni agli utenti con il ruolo di creatore di backup per utilizzare queste configurazioni.
I creatori di backup possono ripristinare rapidamente e in modo indipendente un backup quando si verifica un incidente. Ad esempio, i dati permanenti 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 utilizzate per trovare un insieme di risorse e sostituire il valore attuale 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 carico di lavoro da uno spazio dei nomi a un altro.
Prima di iniziare
Richiedi ruoli IAM
Per creare un piano di ripristino, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Amministratore backup cluster utente (user-cluster-backup-admin). Questo ruolo crea, recupera, elenca, monitora, aggiorna, applica patch ed elimina le risorse di backup come i piani di backup e i piani di ripristino nei cluster utente.
Se sei un Application Operator, chiedi a un amministratore con privilegi di amministratore di backup del 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 per cluster.
- Fai clic su Crea piano di ripristino.
- Nella sezione Informazioni di base del piano di ripristino, completa i seguenti passaggi e fai clic
Avanti:
- In Nome del piano di ripristino, inserisci il nome del piano di ripristino.
- (Facoltativo) In Descrizione del piano di ripristino , inserisci una descrizione del 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 e poi su Aggiungi spazio dei nomi del cluster per inserire uno spazio dei nomi.
- Fai clic su Applicazioni protette selezionate per aggiungere risorse specificando il nome dello spazio dei nomi e 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 riuscire a ripristinare se nel cluster di destinazione esistono già spazi dei nomi di cui è stato eseguito il backup.
- Fai clic su Rollback (distruttivo) per eliminare gli spazi dei nomi esistenti prima di ripristinare i nuovi spazi dei nomi se nel cluster di destinazione esistono già spazi dei nomi di cui è stato eseguito il backup.
- Scegli come ripristinare i dati di 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 di
PersistentVolumeClaim, il cluster è associato al volume. - Fai clic su Riutilizza i volumi esistenti contenenti i tuoi dati per non ripristinare i dati di backup dei volumi. Tutte le
PersistentVolumeClaimssono associate ai volumi che fanno riferimento ai dischi permanenti esistenti.
- Scegli gli spazi dei nomi da ripristinare:
- (Facoltativo) Nella sezione Scegli 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 all'interno di questi tipi.
- Fai clic su Conserva le risorse esistenti per creare le 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 ripristinare 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 all'interno di questi spazi dei nomi.
- Per aggiungere GroupKind, fai clic su Aggiungi GroupKind e inserisci il gruppo API e il tipo di oggetto per trovare le risorse 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 attuale 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. ClusterRestorePlan assegna l'insieme esatto di risorse e spazi dei nomi che un creatore di backup è 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 progetto GDC. - Sostituisci
CLUSTER_NAMEcon il nome del cluster.
Questo esempio utilizza i seguenti valori:
Valore |
Attributo |
Descrizione |
|---|---|---|
targetClusterName |
Nome del cluster di origine in un progetto a cui è associato questo piano. | |
description |
Descrizione fornita dall'utente per lo scopo di ClusterRestorePlan. |
|
clusterBackupPlanName |
Il nome di ClusterBackupPlan da ripristinare. The
ClusterBackupPlan deve esistere nello stesso spazio dei nomi di the
ClusterRestorePlan. |
|
clusterRestoreConfig |
Configurazione per il processo di ripristino. | |
volumeDataRestorePolicy |
Specifica uno dei seguenti valori:
|
|
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 di cui è stato eseguito il ripristino esistono già nel cluster di destinazione. Specifica uno dei seguenti valori:
|
|
namespacedResourceRestoreScope |
Specifica quali Namespaces o
ProtectedApplications sono consentite per il ripristino.
|
|
clusterBackupRepositoryRef |
Specifica il repository in cui archiviare le Restore
risorse. Questo repository può essere diverso dal repository da cui
il backup proviene. Il repository deve essere un ReadWrite
repository 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, in quanto 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) da sostituire. target può includere namespaces per definire l'ambito della regola (NAME_SPACE). |
Dopo aver creato un ClusterRestorePlan, gli utenti con il ruolo di creatore di backup 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 per cluster.
- 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.
- Creatore di backup: 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/scrittura sia a quelli di sola lettura.
Quando modifichi il piano di ripristino di proprietà di un repository di backup con cluster di lettura/scrittura e di sola lettura impostati, devi modificare il piano di ripristino con TARGET CLUSTER impostato sul cluster di lettura/scrittura.
Modifica un piano di ripristino utilizzando la console GDC:
- Accedi alla console GDC.
- Nel menu di navigazione, fai clic su Backup per cluster.
- 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.
- Creatore di backup: 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 che vuoi 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 edit Modifica accanto a Risorse con ambito cluster per modificare la risorsa:
(Facoltativo) Nella sezione Scegli 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 a
GroupKindspecificato:Per specificare un
GroupKind, fai clic sul pulsante Modifica GroupKind.Fai clic sul pulsante Aggiungi GroupKind.
Inserisci il nome di
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 le 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 Spazi dei nomi del cluster, inserisci il nome dello spazio dei nomi 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 corrisponde al valore originale dell'attributo.
- Nel campo Nuovo valore, inserisci il valore che viene sostituito per 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 edit Modifica per modificare una regola di sostituzione esistente.
Nella sezione Regole di sostituzione, fai clic sull'icona delete Elimina per eliminare una regola di sostituzione esistente.
Elimina un piano di ripristino
I RestorePlans possono essere eliminati tramite la console GDC o eliminando la risorsa direttamente dal server API Kubernetes. In questo modo vengono eliminati tutti gli artefatti RestorePlan associati dall'archiviazione degli oggetti.
Console
- Accedi alla console GDC.
- Nel menu di navigazione, fai clic su Backup per cluster.
- 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.
- Creatore di backup: 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 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 di questo 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.