管理適用於 Kubernetes 工作負載的NetApp備份與復原執行掛鉤模板
執行掛鉤是一種自訂操作,您可以將其配置為與託管 Kubernetes 應用程式的資料保護操作一起執行。例如,如果您有一個資料庫應用程序,則可以使用執行掛鉤在快照之前暫停所有資料庫事務,並在快照完成後恢復事務。這確保了應用程式一致的快照。建立執行鉤子模板時,您可以指定鉤子的類型、要執行的腳本以及確定鉤子適用於哪些容器的任何過濾器。然後,您可以使用模板將執行掛鉤與您的應用程式關聯起來。
|
預設情況下, NetApp Backup and Recovery 會在資料保護作業期間自動凍結和解凍某些應用程式(例如 KubeVirt)的檔案系統。您可以選擇根據Trident保護文件中的說明全域或針對特定應用程式停用此行為:
|
組織管理員或SnapCenter管理員。"了解NetApp備份與還原存取角色" 。 "了解所有服務的NetApp控制台存取角色" 。
執行鉤子的類型
NetApp Backup and Recovery 根據運行時間支援以下類型的執行掛鉤:
-
預快照
-
快照後
-
預備份
-
備份後
-
恢復後
執行順序
當執行資料保護操作時,執行掛鉤事件會依照下列順序發生:
-
任何適用的自訂預操作執行掛鉤都在適當的容器上運行。您可以根據需要建立和運行任意數量的自訂預操作掛鉤,但這些掛鉤在操作之前的執行順序既無法保證也無法配置。
-
如果適用,則會發生檔案系統凍結。
-
執行資料保護操作。
-
如果適用,凍結的檔案系統將被解凍。
-
任何適用的自訂後操作執行掛鉤都在適當的容器上運行。您可以根據需要建立和運行任意數量的自訂後操作掛鉤,但操作後這些掛鉤的執行順序既無法保證也無法配置。
如果您建立多個相同類型的執行掛鉤(例如,預快照),則無法保證這些掛鉤的執行順序。但是,不同類型的鉤子的執行順序是有保證的。例如,以下是具有所有不同類型鉤子的配置的執行順序:
-
快照前鉤子執行
-
快照後鉤子執行
-
執行備份前掛鉤
-
執行備份後鉤子
|
在生產環境中啟用執行掛鉤腳本之前,您應該始終對其進行測試。您可以使用“kubectl exec”命令方便地測試腳本。在生產環境中啟用執行掛鉤後,測試產生的快照和備份以確保它們一致。您可以透過將應用程式複製到臨時命名空間、還原快照或備份,然後測試應用程式來執行此操作。 |
|
如果快照前執行鉤子新增、變更或刪除 Kubernetes 資源,則這些變更將包含在快照或備份以及任何後續復原作業中。 |
關於自訂執行鉤子的重要說明
在為您的應用程式規劃執行掛鉤時,請考慮以下事項。
-
執行鉤子必須使用腳本來執行操作。許多執行鉤子可以引用同一個腳本。
-
執行鉤子需要以可執行shell腳本的格式編寫。
-
腳本大小限制為 96KB。
-
執行掛鉤設定和任何匹配標準用於確定哪些掛鉤適用於快照、備份或還原操作。
|
由於執行鉤子通常會減少或完全停用其所針對的應用程式的功能,因此您應該始終嘗試盡量減少自訂執行鉤子的運行時間。如果您啟動具有相關執行掛鉤的備份或快照操作,但隨後取消它,則如果備份或快照操作已經開始,則仍允許掛鉤運行。這意味著備份後執行掛鉤中使用的邏輯不能假定備份已完成。 |
執行鉤子過濾器
當您為應用程式新增或編輯執行掛鉤時,您可以向執行掛鉤添加過濾器來管理該掛鉤將匹配哪些容器。過濾器對於在所有容器上使用相同容器鏡像但可能將每個鏡像用於不同目的的應用程式(例如 Elasticsearch)很有用。過濾器可讓您建立執行掛鉤在某些(但不一定是所有)相同的容器上運行的場景。如果為單一執行掛鉤建立多個篩選器,它們將透過邏輯 AND 運算子組合在一起。每個執行掛鉤最多可以有 10 個活動過濾器。
新增到執行掛鉤的每個過濾器都使用正規表示式來匹配叢集中的容器。當鉤子與容器匹配時,鉤子將在該容器上運行其關聯的腳本。過濾器的正規表示式使用正規表示式 2 (RE2) 語法,該語法不支援建立從符合清單中排除容器的過濾器。有關NetApp Backup and Recovery 在執行鉤子過濾器中支援的正規表示式的語法的信息,請參見 "正規表示式 2 (RE2) 語法支持"。
|
如果將命名空間過濾器新增至在復原或複製作業後執行的執行掛鉤,且復原或複製來源和目標位於不同的命名空間中,則命名空間篩選器僅適用於目標命名空間。 |
執行鉤子範例
訪問 "NetApp Verda GitHub 項目"下載流行應用程式(如 Apache Cassandra 和 Elasticsearch)的真實執行掛鉤。您還可以查看範例並獲得建立自己的自訂執行掛鉤的想法。
建立執行鉤子模板
您可以建立自訂執行掛鉤模板,用於在應用程式上執行資料保護操作之前或之後執行操作。
-
在控制台中,前往*保護*>*備份和還原*。
-
選擇“設定”標籤。
-
展開*執行鉤子模板*部分。
-
選擇*建立執行鉤子模板*。
-
輸入執行掛鉤的名稱。
-
(可選)選擇一種鉤子類型。例如,還原後鉤子會在還原作業完成後執行。
-
在 Script 文字方塊中,輸入要作為執行掛鉤範本的一部分執行的可執行 shell 腳本。或者,您可以選擇*上傳腳本*來上傳腳本檔案。
-
選擇“創建”。
模板已建立並出現在*執行掛鉤模板*部分的模板清單中。