備份K8S實踐

大雄45發表於2021-03-17
導讀 備份應用程式和資料是組織經常需要處理的事情。儘管Kubernetes可以確保應用程式服務的高可用性和可伸縮性,但這些好處並不能有效地保護資料。因此,必須對Kubernetes應用程式進行資料管理和備份,並應將其納入標準操作流程中。

備份K8S實踐備份K8S實踐

備份Kubernetes應用程式需要一種獨特的方法,該方法與傳統的備份解決方案大不相同。使用Kubernetes,經常會將應用程式部署在叢集中跨節點的多個容器中,要備份應用程式以及資料和儲存量,你需要考慮所有各種Kubernetes物件和配置資料,還必須適應應用程式快速的開發和部署週期,DevOps的“左移(shift-left)”理念,資料保護,安全要求等。

鑑於這些獨特的要求,備份Kubernetes似乎是一項艱鉅的任務,但是你可以採取一些步驟來簡化該過程。以下是五個最佳做法:

1. 考慮Kubernetes架構

一個典型的Kubernetes應用程式由數百個元件組成-Pod,服務(service),證照,金鑰(secret)等等。任何Kubernetes備份解決方案不僅要能夠備份和還原資料,而且還要能夠備份和還原所有這些元件。至關重要的是,備份解決方案要透過API自動與Kubernetes控制平面進行互動,以便不僅能夠發現叢集上執行的Kubernetes應用,而且還可以與基礎計算,網路和儲存基礎架構整合。

儲存也是一個重要的考慮因素,必須包含在備份計劃中。與應用程式配置資料一樣,Kubernetes儲存(用於應用程式容器的持久卷)包含需要保護的重要業務資料。

最後,確定要備份儲存的位置。你將其保留在本地s儲存還是在雲中?靈活性和易用性將成為任何資料備份儲存的重要特徵。

2. 制定恢復計劃

由於Kubernetes應用程式的分散式架構,還原資料需要很多步驟。例如,你需要驗證叢集依賴關係,建立新的Kubernetes檢視的替代資料,並確定在何處啟動恢復。然後,你需要標識備份資料來源並準備目標儲存。一旦計劃了這些,就必須更新所有元件以建立新的儲存資源。提前建立詳細計劃可以幫助你引導這個複雜的過程,幸運的是,有些Kubernetes備份解決方案可以自動為你執行此操作,你應該尋找一種支援此功能的解決方案。

但是可靠的執行計劃僅僅是開始。你還應該確保你的備份平臺可以將各個步驟轉換為相關的Kubernetes API呼叫。這樣可確保恢復功能所需的資源可用,並確保正確部署和配置了雲原生應用程式的所有元件。

3. 簡化操作

如果備份需要編碼,打包或部署,則開發人員可能會避免使用它們。他們的目標是快速開發和部署應用程式,而複雜的備份過程可能會阻礙其進展。

因此,備份應由API驅動,並且是無縫銜接的。確保你的解決方案具有針對應用程式而不是其單個元件的自動備份策略,並具有在部署新應用程式時檢測和備份新應用程式的能力。最後,確保你的備份解決方案提供了簡單的工作流程,並使你的運維團隊能夠順暢地遵守任何法規和監控要求。

4. 確保安全

與任何資料管理功能一樣,安全性至關重要。執行Kubernetes備份時,要實施身份和訪問管理以及基於角色的訪問管理(RBAC)的控制元件,以確保只有授權的使用者和組才能訪問備份平臺。這使你可以控制誰可以執行任務,例如監視和驗證備份,執行還原等,並使你可以向開發人員授予從快照還原應用程式的許可權。

你的解決方案應整合到雲提供商的身份驗證解決方案中,而無需任何其他工具或API。最後,請確保你的資料已加密-無論是在傳輸中還是在靜止狀態。

5. 利用Kubernetes的可移植性

要利用Kubernetes的可移植性功能,你的備份解決方案應該能夠相容幾種發行版和基礎架構配置執行還原,並自動轉換應用程式的備份版本以在新環境中執行。

備份解決方案要能夠轉換所有應用程式依賴項以與新環境相容,這一點很重要。

Kubernetes原生備份是你的最佳選擇

無論你的目標是保護Kubernetes應用程式免受資料丟失和損壞,為測試和開發目的備份資料,將應用程式遷移到新環境中,還是支援組織的災難恢復計劃,備份對於高效運維都是必不可少的。

使用傳統解決方案而不是專門為Kubernetes環境設計的解決方案會增加意外資料丟失和配置錯誤的風險,並且無法提供保護應用程式資料所需的細粒度,可感知的應用程式備份和恢復功能。為了遵守Kubernetes環境中的備份和恢復最佳實踐,Kubernetes原生備份解決方案是最佳方法。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2763446/,如需轉載,請註明出處,否則將追究法律責任。

相關文章