Gestisci i modelli di hook di esecuzione di NetApp Backup and Recovery per i carichi di lavoro Kubernetes
Un hook di esecuzione è un'azione personalizzata che viene eseguita con un'operazione di protezione dei dati in un'applicazione Kubernetes gestita. Ad esempio, è possibile creare snapshot coerenti con l'applicazione utilizzando un hook di esecuzione per mettere in pausa le transazioni del database prima di uno snapshot e riprenderle dopo. Quando si crea un modello di hook di esecuzione, specificare il tipo di hook, lo script da eseguire e i filtri per i contenitori di destinazione. Utilizza il modello per collegare gli hook di esecuzione alle tue applicazioni.
|
|
NetApp Backup and Recovery blocca e sblocca i file system per applicazioni come KubeVirt durante la protezione dei dati. È possibile disattivare questo comportamento a livello globale o per applicazioni specifiche utilizzando la documentazione di Trident Protect:
|
Amministratore dell'organizzazione o amministratore SnapCenter . "Scopri di più sui ruoli di accesso a NetApp Backup and Recovery" . "Scopri di più sui ruoli di accesso NetApp Console per tutti i servizi" .
Tipi di ganci di esecuzione
NetApp Backup and Recovery supporta i seguenti tipi di hook di esecuzione, in base al momento in cui possono essere eseguiti:
-
Pre-istantanea
-
Post-istantanea
-
Pre-backup
-
Post-backup
-
Post-ripristino
Ordine di esecuzione
Quando viene eseguita un'operazione di protezione dei dati, gli eventi di hook di esecuzione si verificano nel seguente ordine:
-
Tutti gli hook di esecuzione pre-operazione personalizzati applicabili vengono eseguiti sui contenitori appropriati. È possibile creare più hook pre-operativi personalizzati, ma il loro ordine di esecuzione non è garantito né configurabile.
-
Se applicabile, si verificano blocchi del file system.
-
L'operazione di protezione dei dati è eseguita.
-
I file system congelati vengono sbloccati, se applicabile.
-
NetApp Backup and Recovery esegue tutti gli hook di esecuzione pre-operazione personalizzati applicabili sui contenitori appropriati. È possibile creare più hook post-operazione personalizzati, ma il loro ordine di esecuzione non è garantito né configurabile.
Se si creano più hook dello stesso tipo, il loro ordine di esecuzione non è garantito. I ganci di tipo diverso vengono sempre eseguiti nell'ordine specificato. Ad esempio, ecco l'ordine di esecuzione di una configurazione che presenta tutti i diversi tipi di hook:
-
Eseguiti i pre-snapshot hook
-
Eseguiti i ganci post-snapshot
-
Hook pre-backup eseguiti
-
Hook post-backup eseguiti
|
|
Testare gli script di hook di esecuzione prima di abilitarli in produzione. Utilizzare 'kubectl exec' per testare gli script, quindi verificare gli snapshot e i backup clonando l'app in uno spazio dei nomi temporaneo e ripristinandola. |
|
|
Se un hook di esecuzione pre-snapshot aggiunge, modifica o rimuove risorse Kubernetes, tali modifiche vengono incluse nello snapshot o nel backup e in qualsiasi successiva operazione di ripristino. |
Note importanti sui ganci di esecuzione personalizzati
Quando pianifichi gli hook di esecuzione per le tue app, tieni presente quanto segue.
-
Un hook di esecuzione deve utilizzare uno script per eseguire 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.
|
|
Gli hook di esecuzione possono ridurre o disabilitare la funzionalità dell'applicazione. Fai in modo che i tuoi hook personalizzati vengano eseguiti il più velocemente possibile. Se si avvia un'operazione di backup o snapshot con hook di esecuzione associati ma poi la si annulla, gli hook possono comunque essere eseguiti se l'operazione di backup o snapshot è già iniziata. Ciò significa che la logica utilizzata in un hook di esecuzione post-backup non può presumere che il backup sia stato completato. |
Filtri di hook di esecuzione
Quando aggiungi o modifichi un hook di esecuzione per un'applicazione, puoi aggiungere filtri all'hook di esecuzione per gestire i contenitori a cui l'hook corrisponderà. I filtri sono utili per le applicazioni che utilizzano la stessa immagine contenitore su tutti i contenitori, ma potrebbero utilizzare ciascuna immagine per uno scopo diverso (ad esempio Elasticsearch). I filtri consentono di creare scenari in cui gli hook di esecuzione vengono eseguiti su alcuni contenitori identici, ma non necessariamente su tutti. Se si creano più filtri per un singolo hook di esecuzione, questi vengono combinati con un operatore logico AND. È possibile avere fino a 10 filtri attivi per ogni hook di esecuzione.
Ogni filtro aggiunto a un hook di esecuzione utilizza un'espressione regolare per abbinare i contenitori nel cluster. Quando un hook corrisponde a un contenitore, eseguirà lo script associato su quel contenitore. Le espressioni regolari per i filtri utilizzano la sintassi Regular Expression 2 (RE2), che non supporta la creazione di un filtro che escluda i contenitori dall'elenco delle corrispondenze. Per informazioni sulla sintassi supportata da NetApp Backup and Recovery per le espressioni regolari nei filtri di hook di esecuzione, vedere "Supporto della sintassi Regular Expression 2 (RE2)" .
|
|
Se si aggiunge un filtro namespace a un hook di esecuzione eseguito dopo un'operazione di ripristino o clonazione e l'origine e la destinazione del ripristino o della clonazione si trovano in namespace diversi, il filtro namespace viene applicato solo al namespace di destinazione. |
Esempi di hook di esecuzione
Visita il "Progetto GitHub NetApp Verda" per scaricare veri e propri hook di esecuzione per app popolari come Apache Cassandra ed Elasticsearch. Puoi anche vedere esempi e trarre spunti 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.
-
Nella Console, vai a 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, immettere lo script shell eseguibile che si desidera eseguire come parte del modello di hook di esecuzione. Facoltativamente, puoi selezionare Carica script per caricare un file di script.
-
Seleziona Crea.
Dopo aver creato il modello, questo viene visualizzato nell'elenco dei modelli nella sezione Modello di hook di esecuzione.