Gestisci i modelli di hook di esecuzione BlueXP backup and recovery per i carichi di lavoro Kubernetes
Un hook di esecuzione è un'azione personalizzata che puoi configurare per essere eseguita insieme a un'operazione di protezione dei dati di un'applicazione Kubernetes gestita. Ad esempio, se si dispone di un'applicazione di database, è possibile utilizzare un gancio di esecuzione per mettere in pausa tutte le transazioni del database prima di uno snapshot e riprendere le transazioni al termine dello snapshot. Ciò garantisce snapshot coerenti con l'applicazione. Quando crei un modello di hook di esecuzione, puoi specificare il tipo di hook, lo script da eseguire e qualsiasi filtro che determini a quali contenitori applicare l'hook. Puoi quindi utilizzare il modello per associare gli hook di esecuzione alle tue applicazioni.
Amministratore dell'organizzazione o amministratore SnapCenter . "Scopri di più sui ruoli di accesso BlueXP backup and recovery" . "Scopri i ruoli di accesso BlueXP per tutti i servizi" .
Tipi di hook di esecuzione
BlueXP backup and recovery supporta i seguenti tipi di hook di esecuzione, in base al momento in cui possono essere eseguiti:
-
Pre-snapshot
-
Post-snapshot
-
Pre-backup
-
Post-backup
-
Post-ripristino
Ordine di esecuzione
Quando viene eseguita un'operazione di protezione dei dati, gli eventi hook di esecuzione hanno luogo nel seguente ordine:
-
Gli eventuali hook di esecuzione pre-operation personalizzati applicabili vengono eseguiti sui container appropriati. È possibile creare ed eseguire tutti gli hook pre-operation personalizzati necessari, ma l'ordine di esecuzione di questi hook prima dell'operazione non è garantito né configurabile.
-
Se applicabile, si verificano blocchi del filesystem.
-
Viene eseguita l'operazione di protezione dei dati.
-
I filesystem congelati vengono scongelati, se applicabile.
-
Gli eventuali hook di esecuzione post-operation personalizzati applicabili vengono eseguiti sui container appropriati. È possibile creare ed eseguire tutti gli hook post-operation personalizzati necessari, ma l'ordine di esecuzione di questi hook dopo l'operazione non è garantito né configurabile.
Se si creano più hook di esecuzione dello stesso tipo (ad esempio, pre-snapshot), l'ordine di esecuzione di tali hook non è garantito. Tuttavia, è garantito l'ordine di esecuzione di ganci di tipi diversi. Ad esempio, di seguito è riportato l'ordine di esecuzione di una configurazione che ha tutti i diversi tipi di ganci:
-
Hook pre-snapshot eseguiti
-
Esecuzione di hook post-snapshot
-
Hook pre-backup eseguiti
-
Hook post-backup eseguiti
|
Prima di abilitarli in un ambiente di produzione, è necessario verificare sempre gli script hook di esecuzione. È possibile utilizzare il comando 'kubectl exec' per testare comodamente gli script. Dopo aver attivato gli hook di esecuzione in un ambiente di produzione, testare le snapshot e i backup risultanti per assicurarsi che siano coerenti. Per eseguire questa operazione, clonare l'applicazione in uno spazio dei nomi temporaneo, ripristinare lo snapshot o il backup e quindi testare l'applicazione. |
|
Se un gancio di esecuzione pre-snapshot aggiunge, modifica o rimuove le risorse Kubernetes, queste modifiche sono incluse nella snapshot o nel backup e in qualsiasi operazione di ripristino successiva. |
Note importanti sugli hook di esecuzione personalizzati
Quando si pianificano gli hook di esecuzione per le applicazioni, considerare quanto segue.
-
Un gancio di esecuzione deve utilizzare uno script per eseguire le azioni. Molti hook di esecuzione possono fare riferimento allo stesso script.
-
Gli hook di esecuzione devono essere scritti nel formato degli script shell eseguibili.
-
La dimensione dello script è limitata a 96 KB.
-
Le impostazioni dell'hook di esecuzione e tutti i criteri corrispondenti vengono utilizzati per determinare quali hook sono applicabili a un'operazione di snapshot, backup o ripristino.
|
Poiché gli hook di esecuzione spesso riducono o disattivano completamente le funzionalità dell'applicazione con cui vengono eseguiti, si consiglia di ridurre al minimo il tempo necessario per l'esecuzione degli hook di esecuzione personalizzati. Se si avvia un'operazione di backup o snapshot con gli hook di esecuzione associati, ma poi si annulla, gli hook possono ancora essere eseguiti se l'operazione di backup o snapshot è già iniziata. Ciò significa che la logica utilizzata in un gancio di esecuzione post-backup non può presumere che il backup sia stato completato. |
Esecuzione dei filtri hook
Quando si aggiunge o si modifica un gancio di esecuzione per un'applicazione, è possibile aggiungere filtri al gancio di esecuzione per gestire i contenitori corrispondenti. I filtri sono utili per le applicazioni che utilizzano la stessa immagine container su tutti i container, ma possono utilizzare ogni immagine per uno scopo diverso (ad esempio Elasticsearch). I filtri consentono di creare scenari in cui gli hook di esecuzione vengono eseguiti su alcuni container identici, ma non necessariamente su tutti. Se si creano più filtri per un singolo gancio di esecuzione, questi vengono combinati con un operatore AND logico. È possibile avere fino a 10 filtri attivi per gancio di esecuzione.
Ogni filtro aggiunto a un gancio di esecuzione utilizza un'espressione regolare per far corrispondere i contenitori nel cluster. Quando un gancio corrisponde a un container, il gancio esegue lo script associato su quel container. Le espressioni regolari per i filtri utilizzano la sintassi RE2 (espressione regolare), che non supporta la creazione di un filtro che esclude i contenitori dall'elenco di corrispondenze. Per informazioni sulla sintassi supportata BlueXP backup and recovery per le espressioni regolari nei filtri di hook di esecuzione, vedere "Supporto della sintassi RE2 (Regular Expression 2)" .
|
Se si aggiunge un filtro dello spazio dei nomi a un gancio di esecuzione che viene eseguito dopo un'operazione di ripristino o clonazione e l'origine e la destinazione del ripristino o del clone si trovano in spazi dei nomi diversi, il filtro dello spazio dei nomi viene applicato solo allo spazio dei nomi di destinazione. |
Esempi di gancio di esecuzione
Visita il sito "Progetto NetApp Verda GitHub" per scaricare i veri hook di esecuzione per le app più diffuse, come Apache Cassandra ed Elasticsearch. Puoi anche vedere esempi e trovare idee per strutturare i tuoi hook di esecuzione personalizzati.
Creare un modello di hook di esecuzione
È possibile creare un modello di hook di esecuzione personalizzato da utilizzare per eseguire azioni prima o dopo un'operazione di protezione dei dati su un'applicazione.
-
In BlueXP, vai su Protezione > Backup e ripristino.
-
Selezionare la scheda Impostazioni.
-
Espandi la sezione Modello di hook di esecuzione.
-
Selezionare Crea modello di hook di esecuzione.
-
Immettere un nome per l'hook di esecuzione.
-
Facoltativamente, scegli un tipo di hook. Ad esempio, un hook post-restore viene eseguito al termine dell'operazione di ripristino.
-
Nella casella di testo Script, inserisci lo script shell eseguibile che desideri eseguire come parte del modello di hook di esecuzione. Facoltativamente, puoi selezionare Carica script per caricare un file script.
-
Selezionare Crea.
Il modello viene creato e appare nell'elenco dei modelli nella sezione Modello di hook di esecuzione.