Verwaltung von Kubernetes Execution Hook-Vorlagen in NetApp Backup and Recovery
Ausführungshook-Vorlagen ermöglichen das Ausführen benutzerdefinierter Skripte vor oder nach Schutzvorgängen für verwaltete Kubernetes-Anwendungen.
|
|
NetApp Backup and Recovery friert Dateisysteme für Anwendungen wie KubeVirt während der Datensicherung ein und taut sie wieder auf. Sie können dieses Verhalten global oder für bestimmte Anwendungen mithilfe der Trident Protect Dokumentation deaktivieren:
|
Erforderliche NetApp Console-Rolle
Backup and Recovery Superadministrator, Backup and Recovery Backup-Administrator oder Backup and Recovery Restore-Administrator. "Erfahren Sie mehr über die Zugriffsrollen für NetApp Backup and Recovery". "Erfahren Sie mehr über die Zugriffsrollen der NetApp Console für alle Dienste".
Arten von Ausführungs-Hooks
NetApp Backup und Recovery unterstützt die folgenden Arten von Ausführungs-Hooks, je nachdem, wann sie ausgeführt werden:
-
Vorab-Schnappschuss
-
Nach dem Snapshot
-
Vorsicherung
-
Nach der Sicherung
-
Nach der Wiederherstellung
Reihenfolge der Ausführung
Wenn ein Datenschutzvorgang ausgeführt wird, treten die Ausführungs-Hook-Ereignisse in der folgenden Reihenfolge auf:
-
Alle anwendbaren benutzerdefinierten Ausführungs-Hooks vor der Operation werden auf den entsprechenden Containern ausgeführt. Sie können mehrere benutzerdefinierte Pre-Operation-Hooks erstellen, deren Ausführungsreihenfolge ist jedoch nicht garantiert oder konfigurierbar.
-
Gegebenenfalls kommt es zum Einfrieren des Dateisystems.
-
Der Datenschutzvorgang wird durchgeführt.
-
Eingefrorene Dateisysteme werden gegebenenfalls wieder freigegeben.
-
NetApp Backup und Recovery führt alle anwendbaren benutzerdefinierten Nachbearbeitungs-Hooks auf den entsprechenden Containern aus. Es können mehrere benutzerdefinierte Nachbearbeitungs-Hooks erstellt werden, deren Ausführungsreihenfolge jedoch weder garantiert noch konfigurierbar ist.
Wenn Sie mehrere Hooks desselben Typs erstellen, ist deren Ausführungsreihenfolge nicht garantiert. Hooks unterschiedlicher Typen werden immer in der angegebenen Reihenfolge ausgeführt. Beispielsweise werden Hooks in dieser Reihenfolge ausgeführt, wenn eine Konfiguration alle unterstützten Hook-Typen enthält:
-
Pre-Snapshot-Hooks werden ausgeführt
-
Post-Snapshot-Hooks werden ausgeführt
-
Pre-Backup-Hooks werden ausgeführt
-
Post-Backup-Hooks werden ausgeführt
|
|
Testen Sie Ausführungs-Hook-Skripte, bevor Sie sie in der Produktion aktivieren. Verwenden Sie „kubectl exec“, um Skripte zu testen, und überprüfen Sie dann Snapshots und Backups, indem Sie die App in einen temporären Namespace klonen und wiederherstellen. |
|
|
Wenn ein Pre-Snapshot-Ausführungs-Hook Kubernetes-Ressourcen hinzufügt, ändert oder entfernt, werden diese Änderungen in den Snapshot oder die Sicherung und in alle nachfolgenden Wiederherstellungsvorgänge einbezogen. |
Wichtige Hinweise zu benutzerdefinierten Ausführungs-Hooks
Folgendes ist bei der Planung von Execution Hooks für Ihre Anwendungen zu berücksichtigen.
-
Ein Ausführungs-Hook muss ein Skript verwenden, um Aktionen auszuführen. Viele Ausführungs-Hooks können auf dasselbe Skript verweisen.
-
Ausführungshooks müssen ausführbare Shell-Skripte sein.
-
Die Skriptgröße ist auf 96 KB begrenzt.
-
Anhand der Ausführungs-Hook-Einstellungen und aller Übereinstimmungskriterien wird ermittelt, welche Hooks für einen Snapshot-, Sicherungs- oder Wiederherstellungsvorgang anwendbar sind.
|
|
Ausführungshooks können die Funktionalität einer Anwendung einschränken oder deaktivieren. Benutzerdefinierte Hooks sollten so schnell wie möglich ausgeführt werden. Wenn ein Sicherungs- oder Snapshot-Vorgang mit zugehörigen Ausführungshooks abgebrochen wird, werden diese Hooks dennoch ausgeführt, sofern der Vorgang bereits begonnen hat. Die Logik eines Ausführungshooks nach der Sicherung kann nicht davon ausgehen, dass die Sicherung abgeschlossen wurde. |
Ausführungs-Hook-Filter
Beim Hinzufügen oder Bearbeiten eines Ausführungshooks für eine Anwendung können Filter hinzugefügt werden, um festzulegen, auf welche Container der Hook zutrifft. Filter sind nützlich für Anwendungen, die auf allen Containern dasselbe Container-Image verwenden, aber jedes Image für einen anderen Zweck nutzen (wie beispielsweise Elasticsearch). Filter ermöglichen die Erstellung von Szenarien, in denen Ausführungshooks auf einigen, aber nicht unbedingt allen identischen Containern ausgeführt werden. Wenn mehrere Filter für einen einzelnen Ausführungshook erstellt werden, werden sie mit einem logischen UND-Operator kombiniert. Pro Ausführungshook können bis zu 10 Filter aktiv sein.
Jeder Filter, den Sie einem Ausführungshook hinzufügen, verwendet einen regulären Ausdruck, um Container in Ihrem Cluster zu finden. Wenn ein Hook mit einem Container übereinstimmt, führt der Hook das zugehörige Skript auf diesem Container aus. Reguläre Ausdrücke für Filter verwenden die Regular Expression 2 (RE2) Syntax, die das Erstellen eines Filters, der Container von der Liste der Treffer ausschließt, nicht unterstützt. Informationen zur Syntax, die NetApp Backup and Recovery für reguläre Ausdrücke in Ausführungshook-Filtern unterstützt, siehe "Unterstützung der Syntax „Regulärer Ausdruck 2“ (RE2)".
|
|
Wenn Sie einem Ausführungs-Hook, der nach einem Wiederherstellungs- oder Klonvorgang ausgeführt wird, einen Namespace-Filter hinzufügen und sich die Wiederherstellungs- oder Klonquelle und das Ziel in unterschiedlichen Namespaces befinden, wird der Namespace-Filter nur auf den Ziel-Namespace angewendet. |
Beispiele für Ausführungs-Hooks
Besuchen Sie die "NetApp Verda GitHub-Projekt" um echte Ausführungs-Hooks für beliebte Apps wie Apache Cassandra und Elasticsearch herunterzuladen. Sie können sich auch Beispiele ansehen und Ideen für die Strukturierung Ihrer eigenen benutzerdefinierten Ausführungs-Hooks holen.
|
|
Die Skripte im Verda GitHub Repository werden wie bereitgestellt und sind nicht offiziell von NetApp unterstützt. Nur das Execution Hooks Framework innerhalb von Trident Protect und Backup and Recovery wird offiziell von NetApp unterstützt. |
Erstellen einer Ausführungs-Hook-Vorlage
Sie können eine benutzerdefinierte Ausführungs-Hook-Vorlage erstellen, mit der Sie Aktionen vor oder nach einem Datenschutzvorgang für eine Anwendung ausführen können.
|
|
Vorlagen, die Sie hier erstellen, sind nur beim Schutz von Kubernetes-Workloads verwendbar. |
-
Gehen Sie in der Konsole zu Schutz > Sicherung und Wiederherstellung.
-
Wählen Sie die Registerkarte Einstellungen.
-
Erweitern Sie den Abschnitt Ausführungs-Hook-Vorlage.
-
Wählen Sie Ausführungs-Hook-Vorlage erstellen.
-
Geben Sie einen Namen für den Ausführungs-Hook ein.
-
Wählen Sie optional einen Hook-Typ aus. Beispielsweise wird ein Post-Restore-Hook ausgeführt, nachdem der Wiederherstellungsvorgang abgeschlossen ist.
-
Geben Sie im Textfeld Skript das ausführbare Shell-Skript ein, das Sie als Teil der Ausführungs-Hook-Vorlage ausführen möchten. Optional können Sie Skript hochladen auswählen, um stattdessen eine Skriptdatei hochzuladen.
-
Wählen Sie Erstellen.
Nachdem Sie die Vorlage erstellt haben, wird sie in der Vorlagenliste im Abschnitt Ausführungs-Hook-Vorlage angezeigt.