Kubernetes 是什麼?
- Kubernetes 是一個工具,幫助你管理和運行應用程式。
- Amazon EKS 是什麼?
- Amazon EKS 是 AWS 提供的一個服務,讓你更容易在雲端上使用 Kubernetes。
- 為什麼使用 Amazon EKS?
- 簡單:EKS 幫你做很多複雜的管理工作。
- 穩定:EKS 確保你的應用程式穩定運行。
- 安全:EKS 提供強大的安全功能。
- 如何使用 Amazon EKS?
- 你可以用 AWS 的工具來創建和管理 EKS 集群,然後在裡面運行你的應用程式。
總結:Amazon EKS 幫你更輕鬆地在 AWS 上運行和管理應用程式。
使用 Velero 進行 Amazon EKS 集群資源的備份與還原
隨著越來越多的公司採用容器技術來封裝微服務,Kubernetes 成為自動化部署、擴展和管理容器化應用程式的首選工具。隨著這些微服務數量的增加,擁有一個集中的備份機制變得越來越重要,以保護應用程式、執行 Kubernetes 集群之間的遷移,以及將生產環境複製到開發和測試環境。
Velero 是一個受歡迎的開源工具,可以提供 Kubernetes 集群的災難恢復、數據遷移和數據保護。本文介紹了如何使用 Velero 來備份、還原和遷移 Amazon EKS 集群資源。
Velero 與 Amazon EKS 的整合
在 Amazon EKS 中,應用層級的備份針對兩個部分:
- Kubernetes 對象和配置儲存在 etcd 鍵值存儲中。
- 儲存在持久性卷中的應用數據。
Velero 使用 Kubernetes API 從 etcd 鍵值存儲中檢索數據,並對集群的持久性卷進行快照,然後將其與集群的對象一起還原。備份和還原操作被聲明為 Kubernetes 自定義資源定義(CRD)對象,由控制器管理這些 CRD 對象以執行相關操作。
備份與還原工作流程
Velero 包含兩個組件:
- 在 Amazon EKS 集群中運行的 Velero 服務器 Pod。
- 本地運行的命令行客戶端(Velero CLI)。
當我們對 Amazon EKS 集群進行備份時,Velero 會執行以下步驟:
- Velero CLI 向 Kubernetes API 服務器發出創建備份 CRD 對象的請求。
- 備份控制器檢查備份 CRD 對象的範圍,查詢 API 服務器以獲取需要備份的資源,並將檢索到的 Kubernetes 對象壓縮成 .tar 文件並保存在 Amazon S3 中。
類似地,當我們進行還原操作時:
- Velero CLI 向 Kubernetes API 服務器發出創建還原 CRD 的請求。
- 還原控制器驗證還原 CRD 對象,從 Amazon S3 檢索備份文件,並啟動還原操作。
實際操作範例
以下是使用 Velero 備份和還原應用程式的步驟:
- 安裝 Velero
- 創建一個 S3 存儲桶來存儲備份。
- 創建 IAM 策略並分配給 Velero 服務帳戶。
- 使用 Helm 安裝 Velero 服務器和 CLI。
- 安裝範例應用 Ghost
- 在主要集群中安裝 Ghost 應用,並創建一個博客文章來測試備份和還原功能。
- 創建備份
- 使用 Velero CLI 創建備份並檢查備份狀態。
- 還原應用程式
- 切換到恢復集群的上下文,使用 Velero CLI 還原 Ghost 應用程式,並驗證還原是否成功。
- 清理資源
- 刪除 EKS 集群、S3 存儲桶和 IAM 策略以避免產生不必要的費用。
結論
Velero 提供了一種有效的方法來確保應用程式和集群資源的快速恢復和無縫遷移。無論是自我管理的 Kubernetes 集群還是 Amazon EKS,Velero 都能幫助你集中管理災難恢復和遷移事件。
沒有留言:
張貼留言