備份還原使用指南
Rancher Backups chart 是我們用於災難復原和遷移的解決方案。此 chart 允許你備份 Kubernetes 資源,並將它們儲存到各種持久儲存位置。
此 chart 是一個非常簡單的工具,涉及 Rancher 生態系統的許多不同領域。因此,出現了一些邊界情況,導致某些功能未記錄。本文件的目的是強調 Rancher Backups 的正確和明確使用方式,並討論我們遇到的一些邊界情況。
功能概述
備份
operator 會將 chart 中的 resourceSet 捕獲的所有資源收集為記憶體中的非結構化物件。收集資源後,資源的壓縮 tar 檔案會以 JSON 格式儲存為清單集合,然後上傳到使用者定義的物件儲存。此備份可以設定為循環排程,也可以加密。此加密選項很重要,因為某些資源是敏感的,如果不加密,其值會以純文字儲存。
有關設定備份的選項(包括加密)的更多資訊,請參閱備份設定文件。
如備份 Rancher 文件中所述,你必須手動儲存加密設定檔案內容,因為 operator 不會備份它。
還原
有兩種主要的還原場景:還原到正在執行 Rancher 的叢集,以及還原到全新的叢集。只有當備份是從同一個叢集進行的,並且在還原期間啟用了 prune 選項時,你才能還原到正在執行 Rancher 的叢集。還原具有與備份類似的輸入。它需要備份檔案名稱、encryptionConfigSecret 名稱和儲存位置。
資源按以下順序還原:
- 自訂資源定義 (CRDs)
- 叢集範圍的資源
- 命名空間資源
有關設定還原的選項的更多資訊,請參閱還原設定文件。
資源集
resourceSet 決定 backup-restore-operator 在備份中收集哪些資源。它是一組 ResourceSelectors,使用鍵/值比對、正規表達式比對或 Kubernetes 用戶端 labelSelector 來定義選擇要求。
resourceSelector 可用的不同欄位包括:
- apiVersion
- excludeKinds
- excludeResourceNameRegexp
- kinds
- kindsRegexp
- labelSelectors
- namespaceRegexp
- namespaces
- resourceNameRegexp
- resourceNames
Rancher Backups chart 包含一個預設 resourceSet,它是在安裝 chart 時附加到一個大型 resourceSet 的 YAML 檔案組合。檔案順序並不重要。不同版本的 resourceSets 可能有所不同。
如果你希望編輯 resourceSet,請在安裝 chart 之前進行編輯。