Questa pagina 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 corrispondente di backup. I piani di ripristino possono assegnare autorizzazioni agli utenti con il ruolo Creatore 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 applicare facoltativamente un insieme di regole di sostituzione che vengono utilizzate per trovare un insieme di risorse e sostituire il valore corrente di un attributo di 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
Per creare un piano di ripristino, devi disporre di quanto segue:
Il ruolo di identità e accesso necessario:
- 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
). Per ulteriori informazioni, vedi Definizioni dei ruoli. - Se sei un operatore di applicazioni, chiedi all'amministratore con privilegi di amministratore del backup del cluster utente di creare un piano di ripristino per te.
- 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 (
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 i cluster.
- Fai clic su Crea piano di ripristino.
- Nella sezione Ripristina le nozioni di base del piano, completa i seguenti passaggi e fai clic su
Avanti:
- In Nome piano di ripristino, inserisci il nome del piano di ripristino.
- (Facoltativo) In Descrizione 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 Tutte le risorse con spazio dei nomi per ripristinare tutte le risorse con spazio dei nomi nel backup.
- 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 lo spazio dei nomi e il nome dell'applicazione.
- Scegli come gestire i conflitti:
- Fai clic su Errore in caso di conflitto (non distruttivo) per interrompere il ripristino se esistono già spazi dei nomi di destinazione per il ripristino da un backup nel cluster di destinazione.
- Fai clic su Rollback (distruttivo) per eliminare gli spazi dei nomi esistenti prima di ripristinare i nuovi spazi dei nomi se alcuni spazi dei nomi di destinazione per il ripristino da un backup esistono già nel cluster di destinazione.
- 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 viene associato al volume. - Fai clic su Riutilizza i volumi esistenti contenenti i tuoi dati per non
ripristinare i dati di backup del volume. Tutti i
PersistentVolumeClaims
sono associati a volumi che fanno riferimento a 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 intatta la versione esistente della risorsa.
- Fai clic su Ripristina risorse con ambito cluster per GroupKind per ripristinare
queste risorse.
- Fai clic su Modifica GroupKinds 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 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 corrispondere alle 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: restoreplan-sample
namespace: PROJECT_NAME
spec:
targetCluster:
targetClusterType: UserCluster
targetClusterName:
kind: "Cluster"
name: "user-vm-1"
description: "restores test clusters"
clusterBackupPlanName: "backupplan-sample"
clusterRestoreConfig:
volumeDataRestorePolicy: RestoreVolumeDataFromBackup
clusterResourceConflictPolicy: UseBackupVersion
namespacedResourceRestoreMode: DeleteAndRestore
namespacedResourceRestoreScope:
selectedNamespaces:
namespaces: ["nginx-2"]
clusterBackupRepositoryRef: "backup-repository"
substitutionRules:
- newValue: "newhippo"
originValuePattern: game-config-2
target:
groupKinds:
jsonPath: '{.metadata.name}'
namespaces:
- nginx-2
- newValue: "hippo"
originValuePattern: game-config
target:
groupKinds:
jsonPath: '{.metadata.name}'
namespaces:
- nginx-2
Sostituisci PROJECT_NAME
con il nome del tuo progetto GDC.
Questo esempio utilizza i seguenti valori:
Valore |
Attributo |
Descrizione |
---|---|---|
clusterBackupPlanName |
Il nome del ClusterBackupPlan da ripristinare. ClusterBackupPlan deve esistere nello stesso spazio dei nomi di ClusterRestorePlan . |
|
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 . |
|
clusterRestoreConfig |
Configurazione per la procedura di 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. |
|
clusterResourceConflictPolicy |
Specifica il comportamento per la gestione dei conflitti tra risorse cluster, ad esempio se la risorsa esiste già nel cluster. Specifica uno
dei seguenti
valori:
|
|
volumeDataRestorePolicy |
Specifica una delle seguenti opzioni:
|
|
namespacedResourceRestoreMode |
Gestisce la situazione in cui i set di risorse con spazio dei nomi da ripristinare esistono già nel cluster di destinazione. Specifica una delle seguenti opzioni:
|
|
namespacedResourceRestoreScope |
Specifica quali Namespaces o
ProtectedApplications sono consentiti per il ripristino.
|
|
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. |
Dopo la creazione di un ClusterRestorePlan
, gli utenti con il ruolo di creatore di backup possono
ripristinare manualmente i backup.
Visualizzare 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 i 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 Ripristina piani.
- Fai clic su un piano di ripristino nell'elenco per visualizzarne i dettagli.
Modificare 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 in cui sono impostati cluster di lettura/scrittura e di sola lettura, devi modificare il piano di ripristino in cui 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 i 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 Ripristina piani.
- 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 Tutte le risorse con spazio dei nomi per ripristinare tutte le risorse con spazio dei nomi nel backup.
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 Modifica edit 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 di API e
GroupKinds
e 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
GroupKind
specificato: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 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 valore originale, inserisci un'espressione regolare che corrisponda al valore originale dell'attributo.
- Nel campo Nuovo valore, inserisci il valore che viene sostituito con 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 di eliminazione delete per eliminare una regola di sostituzione esistente.
Eliminare un piano di ripristino
RestorePlans
può essere eliminato tramite la console GDC o eliminando la risorsa direttamente dal server API Kubernetes. Vengono eliminati tutti gli artefatti
RestorePlan
associati dall'archiviazione di oggetti.
Console
- Accedi alla console GDC.
- Nel menu di navigazione, fai clic su Backup per i 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 oppure seleziona un progetto per visualizzare tutti i piani di ripristino in un progetto.
- Creatore del backup: seleziona un progetto per visualizzare tutti i piani di ripristino in un progetto.
- Fai clic sulla scheda Ripristina piani.
- 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.