Gestisci i modelli di hook di esecuzione di Kubernetes in NetApp Backup and Recovery
Crea modelli di hook di esecuzione per eseguire script personalizzati prima o dopo le operazioni di protezione per le applicazioni Kubernetes gestite.
|
|
NetApp Backup and Recovery blocca e sblocca i filesystem per applicazioni come KubeVirt durante la protezione dei dati. Puoi disabilitare questo comportamento a livello globale o per applicazioni specifiche utilizzando la documentazione di Trident Protect:
|
Ruolo richiesto NetApp Console
Super admin di NetApp Backup and Recovery, backup admin di NetApp Backup and Recovery o restore admin di NetApp Backup and Recovery. "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 e ripristino supporta i seguenti tipi di hook di esecuzione, a seconda del momento in cui vengono eseguiti:
-
Pre-istantanea
-
Post-istantanea
-
Pre-backup
-
Post-backup
-
Post-ripristino
Ordine di esecuzione
Quando esegui 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 e ripristino esegue tutti gli hook di post-operazione personalizzati applicabili sui contenitori appropriati. Puoi creare più hook di post-operazione personalizzati, ma il loro ordine di esecuzione non è garantito né configurabile.
Se crei più hook dello stesso tipo, il loro ordine di esecuzione non è garantito. Gli hook di tipi diversi vengono sempre eseguiti nell'ordine specificato. Ad esempio, gli hook vengono eseguiti in questo ordine quando una configurazione include tutti i tipi di hook supportati:
-
I hook pre-snapshot vengono eseguiti
-
Esecuzione degli hook post-snapshot
-
I hook di pre-backup vengono eseguiti
-
I hook post-backup vengono 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
Considera quanto segue quando pianifichi gli hook di esecuzione per le tue applicazioni.
-
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 script di 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ù rapidamente possibile. Se annulli un'operazione di backup o snapshot a cui sono associati degli hook di esecuzione, questi hook vengono comunque eseguiti se l'operazione è già iniziata. La logica di 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 controllare a quali container corrisponde l'hook. I filtri sono utili per le applicazioni che utilizzano la stessa immagine container su tutti i container, ma potrebbero usare ciascuna immagine per uno scopo diverso (come Elasticsearch). I filtri ti permettono di creare scenari in cui gli hook di esecuzione vengono eseguiti su alcuni, ma non necessariamente su tutti, i container identici. Se crei più filtri per un singolo hook di esecuzione, vengono combinati con un operatore logico AND. Puoi avere fino a 10 filtri attivi per ogni hook di esecuzione.
Ogni filtro che aggiungi a un hook di esecuzione utilizza un'espressione regolare per individuare i container nel tuo cluster. Quando un hook trova una corrispondenza con un container, esegue lo script associato su quel container. Le espressioni regolari per i filtri utilizzano la sintassi Regular Expression 2 (RE2), che non supporta la creazione di un filtro che esclude i container dall'elenco delle corrispondenze. Per informazioni sulla sintassi che NetApp Backup and Recovery supporta per le espressioni regolari nei filtri degli hook di esecuzione, vedi "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.
|
|
Gli script presenti nel GitHub repository vengono forniti così come sono e non sono ufficialmente supportati da NetApp. Solo il framework degli execution hook all'interno di Trident Protect e Backup and Recovery è ufficialmente supportato da NetApp. |
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.
|
|
I modelli che crei qui sono utilizzabili solo quando proteggi i carichi di lavoro Kubernetes. |
-
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.