本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
還原 Amazon EKS 叢集
您可以使用 AWS Backup 主控台或 CLI 還原 EKS 叢集備份。EKS 備份是包含 EKS 叢集狀態和持久性磁碟區備份的複合復原點。
AWS Backup 支援多個還原體驗,包括精細的命名空間層級還原。還原是非破壞性的,不會覆寫目標 EKS 叢集中的任何現有 Kubernetes 物件。還原也不會覆寫目標 EKS 叢集的 Kubernetes 版本。
EKS 備份必須還原至目標 EKS 叢集,這表示已預先佈建的 Amazon EKS 叢集。作為還原工作流程的一部分,您可以選擇建立新的 EKS 叢集,該叢集 AWS Backup 將代表您建立。
注意
AWS Backup 將提供一組有限的選項,以建立新的 EKS 叢集做為還原的一部分。對於所有 EKS 叢集建立功能,客戶可以使用 EKS 主控台或 API 建立新的 EKS
Amazon EKS 的還原功能
| 還原類型 | 還原目標 | 還原行為 |
|---|---|---|
| 現有叢集還原 | 還原至來源 EKS 叢集或現有的 EKS 叢集 | 將所有 Kubernetes 資源和持久性磁碟區還原至現有的 EKS 叢集。所有還原都是非破壞性的,且不會覆寫現有的物件。對於略過的物件,您可以訂閱 SNS 通知 |
| 新的叢集還原 | 建立新的 Amazon EKS 叢集做為 EKS 還原的一部分 | 還原會建立新的 EKS 叢集,並將所有 Kubernetes 資源和持久性磁碟區還原至新建立的 clsuter |
| 命名空間還原 | 現有的 Amazon EKS 叢集 | 僅還原指定的命名空間,其 Kubernetes 資源和對應的持久性儲存還原是非破壞性的,並且不會覆寫現有的物件。對於略過的物件,您可以訂閱 SNS 通知 |
| 持久性儲存還原 | 持久性儲存相依性 | 將個別持久性儲存還原為獨立還原。請參閱還原 Amazon EBS、Amazon S3、Amazon EFS 的行為。 |
許可
所需的許可取決於還原類型和目標目的地。
-
AWS Backup的受管政策 AWSBackupServiceRolePolicyForRestores 包含還原 Amazon EKS 叢集和 EBS 和 EFS 持久性儲存所需的許可。
-
如果您的 EKS 叢集包含 S3 儲存貯體,或者您單獨還原子 S3 復原點,則需要確保將 中的下列政策或許可指派給您的角色 AWSBackupServiceRolePolicyForS3Restore。
還原前的考量事項
在開始 EKS 還原任務之前,請檢閱以下內容。如果您要還原已跨帳戶或區域複製的 EKS 備份,請務必在還原之前檢查這些考量事項,以防止還原失敗。
-
IAM 角色:還原至不同的叢集時,來源叢集中使用的 IAM 角色 (例如 Pod 身分、IRSA。 OIDC 提供者組態等) 必須存在於帳戶/區域中,做為目的地叢集。
-
確保 EKS 版本和相容性:您要還原之物件的 API 版本應該是相同的版本 (或盡可能接近),並在新叢集中受支援。 AWS Backup 將在 EKS 版本之間執行盡最大努力還原,但在還原顯著不同的版本時可能會出現相容性問題。
-
符合儲存類別:對於還原至現有 EKS 叢集,請確保在還原之前已安裝適當的 CSI Storage Driver 附加元件
-
S3 儲存貯體:使用 S3 儲存貯體還原 EKS 叢集時,請確定您的 S3 儲存貯體已在目的地帳戶或區域中進行版本控制和存取。
-
映像儲存庫:還原 EKS 叢集時,請確保目的地 EKS 叢集的帳戶或區域可存取作為還原一部分所參考的映像。檢查您的登錄檔是否具有足夠的跨區域/帳戶政策許可。
-
安全群組:如果在還原過程中建立新的 EKS 叢集,則應針對目標帳戶和區域中的 ALB、Pod 身分、EKS 節點群組等預先建立安全群組
-
EBS 可用區域和節點:復原 EBS 磁碟區的可用區域應對應至現有 EKS 節點的可用區域
-
非破壞性還原:所有 EKS 還原都是非破壞性的,不會覆寫目標還原的 Kubernetes 物件。
-
啟用 EKS 稽核日誌:在還原之前啟用 EKS 稽核日誌以進行其他記錄和故障診斷。您也可以訂閱 SNS 通知,以在還原時通知略過或失敗的物件。
EKS 組態
當您還原複合 Amazon 時 AWS Backup,您可以選擇還原類型和目標目的地。您可以選擇還原至來源 EKS 叢集、現有的 EKS 叢集,或建立新的 EKS 叢集做為還原目標。對於新的 EKS 叢集,您可以選擇使用與備份叢集相同的現有基礎設施設定 (例如 VPC、子網路),或設定新的基礎設施設定。 AWS Backup 一律會執行不會覆寫現有資源的非破壞性還原。
對於命名空間還原,您最多可以指定 5 個命名空間來選擇性地還原。只會還原命名空間範圍的資源,而排除叢集範圍的資源,但相關的持久性磁碟區除外。
作為進階設定,您可以選擇變更 Kubernetes 物件的還原順序。根據預設, AWS Backup 會依下列順序還原所有 Kubernetes 物件:
叢集範圍的 Kubernetes 資源
-
自訂資源定義
-
命名空間 (命名空間本身,而非該命名空間內的資源)
-
StorageClasses
-
PersistentVolumes
命名空間範圍 Kubernetes 資源
-
PersistentVolumeClaims
-
機密
-
ConfigMaps
-
ServiceAccounts
-
LimitRanges
-
Pod
-
ReplicaSets
持久性儲存組態
作為複合 Amazon EKS 備份還原的一部分,第二個步驟是設定您的持久性儲存組態。這會根據作為 EKS 叢集的一部分備份的持久性儲存而有所不同。
對於 Amazon EBS 快照,您需要提供可用區域,其中將還原和建立 Amazon EBS 磁碟區。 接著 AWS Backup 會嘗試在所選相同可用區域中建立 EKS Pod,以便將磁碟區重新掛載到 EKS 叢集,作為還原的一部分。
在還原過程中, AWS Backup 會將 Amazon EBS 磁碟區和 Amazon S3 儲存貯體重新掛載到還原的 EKS 叢集。Amazon EFS 檔案系統會還原至隨機字首,並在還原至 EKS 叢集後需要手動建立存取點。 AWS Backup 不會代表您建立存取點或掛載目標,請參閱此處有關存取點和掛載目標的指引。
Amazon EKS 還原程序
請依照下列步驟,使用 AWS Backup 主控台或 還原 Amazon EKS 備份 AWS CLI:
您可以訂閱失敗和略過物件的通知事件進行還原。如需詳細資訊,請參閱使用 通知選項 AWS Backup。