Questa pagina descrive come configurare le strategie di gestione dei conflitti per le risorse con spazio dei nomi e a livello di cluster in un piano di ripristino.
Quando esegui il ripristino in un cluster, potresti riscontrare conflitti di risorse nei seguenti scenari:
- Ripristino in un cluster esistente per il quale sono già state provisionate le risorse.
- Quando una risorsa Kubernetes è gestita da strumenti come GitOps o un operatore.
Backup per GKE offre varie opzioni per definire la gestione dei conflitti per le risorse a livello di cluster e con spazio dei nomi che puoi specificare in un piano di ripristino.
Gestione dei conflitti di ripristino per le risorse con ambito cluster
Puoi configurare le seguenti opzioni nel piano di ripristino per gestire i conflitti per le risorse con ambito cluster:
- Mantieni le risorse nel cluster di destinazione (non distruttivo): se una risorsa con lo stesso nome esiste nel cluster di destinazione, lascialo invariato.
Sostituisci le risorse nel cluster di destinazione (operazione distruttiva): se nel cluster di destinazione esiste già una risorsa, eliminala e ripristina la copia dal backup.
gcloud
Aggiorna un piano di ripristino esistente per gestire il conflitto per una risorsa con ambito cluster:
gcloud beta container backup-restore restore-plans update RESTORE_PLAN \
--project=PROJECT_ID \
--location=LOCATION \
--cluster-resource-conflict-policy=CLUSTER_RESOURCE_CONFLICT_POLICY
Sostituisci quanto segue:
RESTORE_PLAN
: il nome del piano di ripristino che vuoi aggiornare.PROJECT_ID
: l'ID del tuo progetto Google Cloud.LOCATION
: la regione di calcolo per la risorsa, ad esempious-central1
.CLUSTER_RESOURCE_CONFLICT_POLICY
: definisce come gestire i conflitti relativi al momento del ripristino per le risorse del cluster selezionate. Utilizza una delle seguenti opzioni:use-existing-version
: se le risorse da ripristinare esistono già nel cluster di destinazione, Backup per GKE conserva le risorse esistenti.use-backup-version
: se le risorse da ripristinare esistono già nel cluster di destinazione, Backup per GKE sostituisce le risorse esistenti con quelle nuove del backup.
Console
Segui le istruzioni riportate di seguito per aggiornare il criterio sui conflitti delle risorse con ambito cluster nella console Google Cloud:
Nella console Google Cloud, vai alla pagina Google Kubernetes Engine.
Nel menu di navigazione, fai clic su Backup per GKE.
Fai clic sulla scheda Ripristina piani.
Fai clic sul nome del piano di ripristino.
Fai clic sulla scheda Dettagli.
Nella sezione Configurazioni di ripristino, vai alla sezione Risorse con ambito cluster e fai clic su Modifica.
Nella sezione Definire la gestione dei conflitti, seleziona un'opzione di gestione dei conflitti.
Fai clic su Salva modifiche.
Ripristina la gestione dei conflitti per le risorse con spazio dei nomi
Nel piano di ripristino, puoi configurare le seguenti opzioni per gestire i conflitti per una risorsa con spazio dei nomi. Puoi specificare la gestione dei conflitti per gli spazi dei nomi ai livelli seguenti:
- Risorsa singola
- Spazio dei nomi e applicazione protetta
Di seguito sono riportate le opzioni disponibili per gestire i conflitti per le singole risorse:
- Salto dell'unione (non distruttivo): se una risorsa specifica esiste già, salta il ripristino della risorsa dal backup.
- Unisci e sostituisci volume (distruttivo): se una risorsa specifica esiste già, salta il ripristino della risorsa, ma sostituisci il volume permanente sottostante utilizzando il criterio di ripristino dei dati del volume. Il volume di unione e sostituzione raggiunge il ripristino dei soli dati.
- Unisci e sostituisci (distruttivo): se una risorsa specifica esiste già, sostituire questa risorsa con quella del backup e il volume associato seguendo il criterio di ripristino dei dati del volume.
Di seguito sono riportate le opzioni disponibili per gestire i conflitti di tutte le risorse appartenente a uno spazio dei nomi e a un'applicazione protetta:
- Non riesce in caso di conflitto (non distruttivo): se lo spazio dei nomi o l'applicazione protetta di destinazione del ripristino da un backup già esistente nel cluster di destinazione, il ripristino non riesce.
Rollback (distruttivo): quando il cluster di destinazione contiene lo spazio dei nomi. o ProtectedApplication il ripristino del cluster, il gruppo esistente di risorse viene eliminato prima del ripristino di quelle nuove.
gcloud
Aggiorna un piano di ripristino esistente per gestire il conflitto per una risorsa con spazio dei nomi:
gcloud beta container backup-restore restore-plans update RESTORE_PLAN \
--project=PROJECT_ID \
--location=LOCATION \
--namespaced-resource-restore-mode=NAMESPACED_RESOURCE_RESTORE_MODE
Sostituisci quanto segue:
RESTORE_PLAN
: il nome del piano di ripristino che vuoi aggiornare.PROJECT_ID
: l'ID del tuo progetto Google Cloud.LOCATION
: la regione di calcolo per la risorsa, ad esempious-central1
.NAMESPACED_RESOURCE_RESTORE_MODE
: definisce le modalità gestire i conflitti in fase di ripristino per le risorse con spazio dei nomi. Utilizza una delle seguenti opzioni:merge-skip-on-conflict
: ignora le singole risorse in conflitto.merge-replace-volume-on-conflict
: ignora le singole risorse in conflitto, ma sostituiscono i dati del volume permanente sottostante.merge-replace-on-conflict
: sostituisci la singola persona le risorse in conflitto e i dati di volumi permanenti sottostanti.fail-on-conflict
: per evitare che lo spazio dei nomi in conflitto o ProtectedApplication venga eseguito.delete-and-restore
: esegui il rollback dello spazio dei nomi in conflitto o ProtectedApplication.
Console
Segui le istruzioni riportate di seguito per aggiornare il criterio di conflitto delle risorse con nome nello spazio dei nomi nella console Google Cloud:
Nella console Google Cloud, vai alla pagina Google Kubernetes Engine.
Nel menu di navigazione, fai clic su Backup per GKE.
Fai clic sulla scheda Piani di ripristino.
Fai clic sul nome del piano di ripristino.
Fai clic sulla scheda Dettagli.
Nella sezione Ripristina configurazioni, vai alla sezione Risorse con spazio dei nomi e fai clic su Modifica.
Nella sezione Definire la gestione dei conflitti, seleziona un'opzione di gestione dei conflitti.
Fai clic su Salva modifiche.
Gestire i conflitti consigliati per scenari comuni
Nella tabella seguente sono elencate le strategie consigliate per la gestione dei conflitti per alcuni scenari comuni:
Scenarios | Usa la gestione consigliata dei conflitti per una risorsa con spazio dei nomi | Utilizzare la gestione dei conflitti consigliata per una risorsa basata su cluster |
---|---|---|
Ripristino in un nuovo cluster | Errore in caso di conflitto | Mantieni le risorse nel cluster di destinazione |
Esegui il rollback dell'intero spazio dei nomi o di ProtectedApplication | Elimina e ripristina | Non applicabile |
Ripristino in un cluster gestito da GitOps senza volumi | Unisci e salta | Mantieni le risorse nel cluster di destinazione |
Ripristino solo dei dati per un cluster gestito da GitOps | Unisci e sostituisci volume | Mantieni le risorse nel cluster di destinazione |
Ripristina i dati del volume e del carico di lavoro selezionati | Unisci e sostituisci | Sostituisci le risorse nel cluster di destinazione |
Passaggi successivi
- Scopri di più su come ripristinare un backup.