本文概述一個解決方案,可用來管理和執行具狀態容器化應用程式的應用程式數據管理、其資源及其數據。
架構
下載此架構的 Visio 檔案。
資料流程
Azure 訂用帳戶上會建立 Azure NetApp Files 帳戶,並定義容量集區。 這些集區會對應至實作所需的服務層級,例如標準、進階和 Ultra。
部署了一或多個 AKS 叢集。 叢集必須是:
- 在 AKS 和 Azure NetApp Files 可供使用的區域。 如需這些產品可供使用的區域,請參閱 依區域提供的產品。
- 在虛擬網路中,可直接存取針對 Azure NetApp Files 委派的子網。 如需詳細資訊,請參閱 Azure NetApp Files 網路規劃的指導方針。
用戶註冊 Astra Control Service 帳戶。 Astra Control Service 使用具有參與者存取權的 Azure 服務主體認證,以找出要管理的 AKS 叢集。 Astra Control Service 會安裝 Astra Trident,並在將叢集新增至 Astra Control Service 時,建立對應至每一層服務的 StorageClasses。 Astra Trident 會使用對應至 Azure NetApp Files 容量集區的自動部署 StorageClass (SC) 物件,從應用程式 PersistentVolumeClaims (PVC) 建立 Kubernetes PersistentVolumes (PVs) 。 對應會考慮容量集區的服務等級。
使用者會在 AKS 叢集上安裝應用程式。 可能的部署方法包括 Helm 圖表、運算子和 YAML 指令清單。 應用程式可以依標籤或命名空間分組。 Astra Trident 會使用
StorageClass
對象,根據PersistentVolumeClaims 布建永續性磁碟區。Astra Control Service 會管理應用程式和其相關聯的資源,例如 Pod、服務、部署和
PersistentVolumeClaim
(PV) 物件。 它也會管理系結至PVC的PersistentVolume (PV)。 使用者會使用下列其中一種方法來定義應用程式:- 將它們限制在命名空間
- 使用自定義 Kubernetes 標籤將資源分組
使用者也可以將叢集範圍的物件分組,例如 storageclasses,並搭配 (a) 特定的應用程式一起管理它們。
Astra Control Service 會 協調時間點快照 集和備份、 備份原則和 立即作用中複製 ,以協助保護應用程式工作負載。 Astra Control Service 可透過下列方式達成此保護:
建立 Astra Control Service 保護原則。 這些可以針對快照集和/或備份進行,並指定排程和備份目標。 這些原則可讓您根據預先決定的排程自動保護應用程式。
視需要擷取個別或應用程式群組的快照集。
為個別或一組應用程式建立即時備份或複製。
發生災害或應用程式失敗時,備份和快照集會還原應用程式的狀態。 用戶可以跨命名空間和 AKS 叢集複製和移轉應用程式。 叢集可以位於相同或不同的區域中。
元件
- AKS 是一項完全受控 Kubernetes 服務,可讓您輕鬆部署及管理容器化應用程式。 AKS 提供無伺服器 Kubernetes 技術、整合的持續整合與持續傳遞 (CI/CD) 體驗,以及企業級的安全性與治理。
- Azure NetApp Files 是 Azure 記憶體服務。 此服務提供企業級網路文件系統 (NFS) 和伺服器消息塊 (SMB) 檔案共用。 Azure NetApp Files 可讓您輕鬆地移轉及執行複雜的檔案型應用程式,而不需要變更程序代碼。 此服務非常適合在 Kubernetes 環境中具有永續性磁碟區的使用者。
- Azure 虛擬網路是私人網路在 Azure 中的基本建置組塊。 透過 虛擬網絡,虛擬機等 Azure 資源可以安全地彼此通訊、因特網和內部部署網路。
- Astra Control Service 是完全受控的應用程式感知數據管理服務。 Astra Control Service 可協助您在公用雲端和內部部署環境中管理、保護及移動數據豐富的 Kubernetes 工作負載。 此服務提供 Kubernetes 工作負載的數據保護、災害復原和移轉。 Astra Control Service 會針對快照集、備份、跨區域復寫和複製使用 Azure NetApp Files 業界領先的數據管理技術。
替代項目
您可以使用自定義的多管齊下方法來個別備份或復寫永續性磁碟區、Kubernetes 資源,以及還原應用程式時所需的其他設定狀態資源。 但這種方法可以是:
- 笨重。
- 難以與所有應用程式相容。
- 難以跨一般企業擁有的多個應用程式和環境進行調整。
在特定環境中,您可以藉由避免跨對等互連的虛擬網路流量來降低成本。 若要消除此流量,請簡化解決方案。 具體而言,請將您為 Azure NetApp Files 委派的 AKS 叢集和子網帶入相同的虛擬網路,如下圖所示:
下載此架構的 Visio 檔案。
案例詳細資料
使用容器化應用程式時,執行應用程式數據保護可能會很困難。 應用程式是由多個微服務所組成,必須以一個實體的形式進行管理。 當您在 Kubernetes 上部署業務關鍵工作負載時,應用程式資料管理應該是:
- 簡單。 建立數據保護原則和隨選快照集和備份應該直覺。 這些原則不應相依於基礎結構的詳細數據。
- 可攜式。 若要讓跨區域行動性可供應用程式使用,多個 Kubernetes 叢集應該能夠取用備份。
- 應用程式感知。 您的解決方案應該保護整個應用程式,包括標準 Kubernetes 資源,例如秘密、
ConfigMap
物件和永續性磁碟區。 您也需要保護自定義 Kubernetes 資源。 可能的話,程式應該在快照集和備份之前停止應用程式。 這種做法可防止在備份期間遺失實時數據。
NetApp Astra Control Service 是執行具狀態應用程式數據管理的解決方案,可協助您達成這些目標。 Astra Control Service 提供數據保護、災害復原和應用程式行動功能。 它提供具狀態的AKS工作負載,其中包含一組豐富的記憶體和應用程式感知數據管理服務。 Azure NetApp Files 的數據保護技術會讓這些服務運作。
潛在使用案例
此解決方案適用於執行具狀態應用程式的系統:
- 持續整合 (CI) 系統,例如 Jenkins
- MySQL、MongoDB 和 PostgreSQL 等資料庫工作負載
- AI 和機器學習元件,例如 TensorFlow 和 PyTorch
- Elasticsearch 部署
- Kafka 應用程式
- 如 GitLab 的原始程式碼管理平臺
考量
這些考量能實作 Azure Well-Architected Framework 的支柱,其為一組指導原則,可以用來改善工作負載的品質。 如需更多資訊,請參閱 Microsoft Azure 結構完善的架構。
可靠性
可靠性可確保您的應用程式符合您對客戶的承諾。 如需詳細資訊,請參閱可靠性支柱的概觀 (部分機器翻譯)。
當您部署 AKS 叢集時,您會將其部署在單一區域中。 為了保護應用程式工作負載,最好跨多個區域跨多個 AKS 叢集部署工作負載。 影響部署的因素包括 AKS 區域可用性 和 Azure 配對區域。 當您跨多個可用性區域部署叢集時,您會將節點分散到單一區域內的多個區域。 AKS 叢集資源的此散發可改善叢集可用性,因為叢集能夠復原特定區域的失敗。
Azure NetApp Files 依設計具有高可用性。 它是建立在所有快閃儲存系統的高可用性裸機車隊之上。 如需此服務的可用性保證,請參閱 Azure NetApp Files 的 SLA。
Azure NetApp Files 支援跨區域複寫以進行災害復原。 您可以連續復寫 Azure 區域配對之間的磁碟區。 如需跨區域複寫的詳細資訊,請參閱下列資源:
- 如需一般資訊,請參閱 Azure NetApp Files 磁碟區的跨區域複寫。
- 如需跨區域復寫的需求,請參閱 使用跨區域複寫管理災害復原。
- 如需設定跨區域復寫的相關信息,請參閱 建立 Azure NetApp Files 的磁碟區複寫。
成本最佳化
成本最佳化是關於考慮如何減少不必要的費用,並提升營運效率。 如需詳細資訊,請參閱成本最佳化支柱的概觀。
使用 Azure 定價計算器來估計下列元件的成本:
- AKS
- Azure NetApp Files
- 虛擬網路
如需 Astra Control Service 定價方案,請參閱 定價。 藉由採用 Astra 控制服務,您可以專注於您的應用程式,而不是花費時間和資源來建置不調整的自定義解決方案。 Astra Control Service 可在 Azure Marketplace 上使用。
若要執行詳細的頻寬和定價計算,請使用 Azure NetApp Files 效能計算機。 基本和進階計算機可供使用。
卓越營運
卓越營運涵蓋部署應用程式並使其持續在生產環境中執行的作業流程。 如需詳細資訊,請參閱卓越營運支柱的概觀 (部分機器翻譯)。
當您使用 Kubernetes 控制平面時,請務必監視基礎結構和平台層。 Astra Control Service 提供統一的控制平面,可用來定義和管理多個 AKS 叢集的應用程式保護原則。 儀錶板可讓您持續處理跨區域的工作負載。 Astra Trident 也提供一組 豐富的 Prometheus 計量 ,可讓您用來監視布建的記憶體。
效能效益
效能效率可讓您的工作負載進行調整,以有效率的方式符合使用者對其放置的需求。 如需詳細資訊,請參閱效能效率支柱概觀。
AKS 叢集可以新增額外的背景工作節點,以增加延展性。 若要調整您的解決方案,您可以新增節點集區或調整現有的節點集區。 這些步驟會增加叢集中的節點數目、核心總數,以及容器化應用程式可用的記憶體。
在每個虛擬網路中,您只能委派一個 Azure NetApp Files 的子網。
當您針對 Azure NetApp Files 網路功能使用基本設定時,每個虛擬網路的限制為 1,000 個 IP 位址。 標準網路功能設定不會限制IP位址數目。 如需詳細資訊,請參閱 可設定的網路功能。 如需 Azure NetApp Files 資源限制的完整清單,請參閱 Azure NetApp Files 的資源限制。
Azure NetApp Files 提供多個效能層級。 當您使用 Astra Control Service 來探索 AKS 叢集時,上線程式會建立對應至標準、進階和 Ultra 服務層級的策劃 StorageClass
物件。 當使用者部署應用程式時,他們會選擇符合其需求的儲存層。 多個容量集區可以共存。 布建的磁碟區具有對應至服務層級的效能保證。 如需 Azure NetApp Files 支援的服務等級清單,請參閱 Azure NetApp Files 的服務等級。
部署此案例
若要實作此解決方案,您需要 Azure 帳戶。 免費建立帳戶。
若要部署此案例,請遵循下列步驟:
- 註冊資源提供者 ,讓其能夠使用 Azure NetApp Files。
- 檢閱 搭配 AKS 使用 Astra Control Service 的需求。
- 使用 Azure 入口網站 建立 NetApp 帳戶。
- 在 Azure NetApp Files 帳戶上設定容量集 區。
- 委派 Azure NetApp Files 的子網 。
- 建立 Astra Control Service 的服務主體 ,以用來探索 AKS 叢集並執行備份、還原和數據管理作業。
- 建立 NetApp Cloud Central 帳戶以註冊 Astra Control Service 。
- 將 AKS 叢集新增至 Astra Control Service 以開始管理應用程式。
- 偵測 Astra Control Service 中的應用程式 。 探索和管理應用程式的方式取決於您部署及識別應用程式的方式。 一般識別策略包括將應用程式物件分組在專用命名空間中、將標籤指派給組成應用程式的物件,以及使用 Helm 圖表。 Astra Control Service 支援這三種策略。
- 建立用來備份和還原應用程式的保護原則 。 定義保護原則之前,請先清楚識別您的工作負載。 必要條件是 Astra Control Service 可以唯一偵測每個應用程式。 如需詳細資訊,請參閱 開始管理應用程式。
如需可協助保護應用程式的步驟,請參閱 AKS 工作負載與 Astra Control Service 和 Azure NetApp Files 的災害復原。
如需 Astra Control Service 的詳細資訊,請參閱 Astra Control Service 檔。
參與者
本文由 Microsoft 維護。 原始投稿人如下。
主要作者:
- Arnt de Gier |技術營銷工程師
其他投稿人:
- Paolo Salvatori |首席客戶工程師
下一步
如需使用 AKS 部署叢集的詳細資訊,請參閱 教學課程:部署 Azure Kubernetes Service (AKS) 叢集。
若要開始使用 Azure NetApp Files,請參閱 快速入門:設定 Azure NetApp Files 並建立 NFS 磁碟區。
若要深入瞭解 Astra Control Service,請參閱 Astra Control Service 檔。
如需使用 Astra Control Service 進行災害復原的深入說明,請參閱 使用 Astra Control Service 和 Azure NetApp Files 進行 AKS 工作負載的災害復原。
如需跨多個區域執行 AKS 叢集多個實例的相關信息,請參閱 多重區域叢集的 AKS 基準。
如需解決方案元件的一般資訊,請參閱下列資源: