您可以使用 Azure 備份來協助保護 Azure Kubernetes Service (AKS)。 本文將摘要說明區域可用性、支援的案例與限制。
支援的區域
- 適用於 AKS 的 Azure 備份支援將備份資料儲存在下列 Azure 區域中的保存庫和作業層中:
澳大利亞中部、澳大利亞中部 2、澳大利亞東部、澳大利亞東南部、巴西南部、巴西東南部、加拿大中部、加拿大東部、印度中部、美國中部、美國中部、美國東部 2、法國中部、法國南部、德國北部、德國西部、義大利北部、日本東部、日本西部、日本西部、Jio 印度西部、韓國中部、韓國南部、美國中北部、北歐、挪威東部 挪威西部、南非北部、南非西部、美國中南部、印度南部、東南亞、瑞典中部、瑞士北部、瑞士西部、阿聯酋北部、英國南部、英國西部、美國中西部、西歐、美國西部 2、美國西部 3
- 下列區域僅支援 Operational (Snapshot) 層:
中國東部 2、中國東部 3、中國北部 2、中國北部 3、US GOV 亞利桑那州、US GOV 得克薩斯州、US GOV 維吉尼亞州、以色列中部、波蘭中部和西班牙中部
注意
如果您需要異地備援備份,且能夠視需要還原,請將備份儲存在保存庫層,並在備份保存庫上啟用跨區域還原。 這可確保您的備份也可在配對的 Azure 區域中使用,讓您執行還原,即使主要區域無法使用也一樣。 請參閱 Azure 配對區域清單。
支援的案例
適用於 AKS 的 Azure 備份僅支援執行支援的 Kubernetes 版本的叢集。 以下是支援的 Kubernetes 版本清單。 如果您的叢集處於不支援的版本,備份作業仍可能會執行,但備份或還原期間失敗並未涵蓋。 若要確保完整支援和可靠性,請升級至支援的版本、驗證您的備份,並在問題持續發生時連絡支援。
適用於 AKS 的 Azure 備份僅支援以 CSI 驅動程式為基礎的永續性磁碟區 (Azure 磁碟)。 不支援樹狀結構內磁碟區外掛程式。 請確定已為您的叢集啟用 CSI 驅動程式和快照集。 如果停用這些設定,請啟用這些設定。 此外,如果您的工作負載使用樹狀結構內磁碟區, 請將其移轉至以 CSI 為基礎的磁碟區,以啟用備份支援。
適用於 AKS 的 Azure 備份目前僅支援使用 CSI 驅動程式布建的 Azure 磁碟型永續性磁碟區。 支援的磁碟 SKU 包括標準 HDD、標準 SSD 和進階 SSD。
同時支援動態和靜態布建磁碟區;不過,對於靜態磁碟區, 記憶體類別 必須在 YAML 規格中明確定義,否則磁碟區將會在備份期間略過。
適用於 AKS 的 Azure 備份支援使用 系統指派 或 使用者指派受控識別的叢集。 不支援使用服務主體設定的叢集。 若要啟用備份,請更新叢集以使用系統指派的受控識別或使用者指派的受控識別。
適用於 AKS 的 Azure 備份同時提供作業層和保存庫層備份。 作業層備份包含支援的永續性磁碟區類型的快照集,以及儲存在備份擴充功能安裝期間所指定的 Blob 容器中的元數據。 另一方面,保存庫層備份會儲存在異地,安全且在您的租使用者外部。 使用備份原則,您可以選擇同時啟用作業和保存庫層備份,或只使用作業層。
作為作業層備份一部分的永續性磁碟區快照集本質上會當機一致。 雖然適用於 AKS 的 Azure 備份目前不支援以完全相同的毫秒擷取所有 PV 的快照集,以跨磁碟區達到一致的快照集。
AKS 的 Azure 備份中支援的最低備份頻率是每 4 小時,另外還有 6、8、12 和 24 小時間隔的其他選項。 備份應該會在排程開始時間的 2 小時內完成。 這些頻率適用於作業層備份,每天允許多個備份。 不過,在24小時內,只有第一個成功的備份才有資格轉移至保存庫層。 在作業層中建立備份之後,最多可能需要四個小時才能將備份移至保存庫層。
備份保存庫和 AKS 叢集應該位於相同的區域中。 不過,只要它們位於相同的租用戶內,就可以位於不同的訂用帳戶中。
適用於 AKS 的 Azure 備份支援使用作業和保存庫層備份,將備份還原至相同或不同的 AKS 叢集。 目標 AKS 叢集可以位於相同的訂用帳戶或不同的訂用帳戶中,稱為 「跨訂用帳戶還原」。
從作業層還原時,目標 AKS 叢集必須位於與備份相同的區域中。 不過,如果備份會儲存在保存庫層中,並在備份保存庫上啟用 異地備援記憶體設定 和 跨區域還原 ,您可以還原至 Azure 配對區域內的不同區域。
若要使用 Azure CLI 啟用 AKS 的 Azure 備份,請確定您使用的是 2.41.0 版或更新版本。 您可以執行 az upgrade 命令來升級 CLI。
若要使用 Terraform 啟用 AKS 的 Azure 備份,請使用 3.99.0 版或更新版本。
適用於 AKS 的 Azure 備份需要安裝備份擴充功能。 此擴充功能需要記憶體帳戶,最好是其中空的 Blob 容器,在安裝時做為輸入。 請勿搭配非備份相關檔案使用 Blob 容器。
在安裝備份擴充功能期間指定的記憶體帳戶必須與AKS 叢集位於相同的區域中。 僅支援一般用途 v2 儲存體帳戶;不支援進階記憶體帳戶。
如果 AKS 叢集部署在私人虛擬網路內,則必須將私人端點設定為啟用備份作業。
備份延伸模組只能安裝在使用 x86 型處理器的節點集區上,並執行 Ubuntu 或 Azure Linux 作為作系統。
AKS 叢集和備份擴充功能 Pod 都必須處於執行中且狀況良好的狀態,才能執行任何備份或還原作業,包括刪除過期的恢復點。
適用於 AKS 的 Azure 備份會透過 Azure 監視器提供警示,讓您在不同 Azure 服務之間擁有一致的警示管理體驗,包括傳統警示、內建的 Azure 監視器警示,以及備份失敗通知的自定義記錄警示。 這裡提供支持的備份警示
適用於 AKS 的 Azure 備份支援各種備份相關報告。 目前,備份數據只能藉由在報表篩選中選取工作負載類型的 [全部] 來檢視。 這裡提供支持的備份報告
適用於 AKS 的 Azure 備份針對儲存在保存庫層中的備份支援 增強式虛刪除 ,以提供防止意外或惡意刪除的保護。 對於儲存在作層中的備份,基礎快照集不會受到虛刪除的保護,而且可以永久刪除。
適用於 AKS 的 Azure 備份支援 多使用者授權 (MUA), 可讓您將額外的保護層新增至備份保存庫上設定備份的重要作業。
適用於 AKS 的 Azure 備份支援 不可變的保存庫,藉由防止可能導致恢復點遺失的作業,協助保護您的備份數據。 不過,目前不支援備份的 WORM(寫入一次、讀取許多)記憶體。
適用於 AKS 的 Azure 備份支援 Customer-Managed 金鑰 (CMK) 加密,但僅適用於儲存在保存庫層中的備份。
若要成功備份和還原作業,備份保存庫的受控識別需要角色指派。 如果您沒有必要的權限,在指派角色之後不久,備份組態或還原作業可能會發生權限問題,因為角色指派需要幾分鐘的時間才會生效。 了解角色定義。
不支援的案例和限制
適用於 AKS 的 Azure 備份不支援下列 Azure 磁碟 SKU:進階 SSD v2 和 Ultra 磁碟。
AKS 備份不支援 Azure 檔案共用、Azure Blob 記憶體和以 Azure 容器記憶體為基礎的永續性磁碟區。 如果您在 AKS 叢集中使用這些類型的永續性磁碟區,您可以使用專用的 Azure 備份解決方案個別備份它們。 如需詳細資訊,請參閱 Azure 檔案共用備份和 Azure Blob 圖存體備份。
在 AKS 叢集的備份程式期間,會自動略過任何不支援的永續性磁碟區類型。
備份延伸模組無法安裝在 Windows 型節點集區或 ARM64 型節點集區上。 使用這類節點的 AKS 叢集應該布建個別的以 Linux 為基礎的節點集區(最好是具有 x86 型處理器的系統節點集區),以支援備份延伸模組的安裝。
網路隔離 AKS 叢集目前不支援適用於 AKS 的 Azure 備份。
請勿與 Velero 或任何以 Velero 為基礎的備份解決方案一起安裝 AKS 備份擴充功能,因為這可能會在備份和還原作業期間造成衝突。 此外,請確定您的 Kubernetes 資源不會使用包含前置
velero.io詞的標籤或批註,除非支援的案例明確要求。 這類元數據的存在可能會導致非預期的行為。不支援在 AKS 叢集備份設定期間修改指派給備份實例的備份組態或快照集資源群組。
從備份組態略過下列命名空間,且無法針對備份進行設定:
kube-system、、kube-node-leasekube-public。Azure 備份不會自動相應放大 AKS 節點,只會還原數據和相關聯的資源。 自動調整是由 AKS 本身管理,使用叢集自動調整程式等功能。 如果目標叢集上已啟用自動調整,它應該會自動處理資源調整。 在還原之前,請確定目標叢集有足夠的資源,以避免還原失敗或效能問題。
以下是 AKS 備份限制:
設定 限制 每個備份保存庫的備份原則數目 5,000 每個備份保存庫的備份執行個體數目 5,000 每個備份執行個體每天允許的隨選備份數目 10 每個備份實例的命名空間數目 800 一天內每個備份執行個體允許的還原數目 10
保存庫備份和跨區域還原的特定限制
目前,具有永續性磁碟 <區 = 1 TB 的 Azure 磁碟有資格移至保存庫層;在備份數據移至保存庫層時會略過大小較高的磁碟。
目前,支持連結為永續性磁碟的備份實例 <= 100 個。 如果磁碟數目高於限制,備份和還原作業可能會失敗。
只有從所有網路啟用公用存取權的 Azure 磁碟才有資格移至保存庫層;如果除了公用存取之外,還有具有網路存取權的磁碟,階層處理作業就會失敗。
災害復原 功能只能在 Azure 配對區域之間使用(如果在已啟用跨區域還原的異地備援備份保存庫中設定備份)。 備份資料僅適用於 Azure 配對區域。 例如,如果您在美國東部有一個 AKS 叢集,該叢集已備份在已啟用跨區域還原的異地備援備份保存庫中,備份數據也會在美國西部提供還原。
在保存庫層中,每天只會建立一個排程恢復點,在主要區域中提供 24 小時的恢復點目標 (RPO)。 在次要區域中,此恢復點的復寫最多可能需要 12 小時的時間,因而產生最多 36 小時的有效 RPO。
在作業層中建立備份並成為保存庫層的資格時,可能需要最多四個小時才能開始階層處理。
將備份從作業層移至保存庫層時,剪除邏輯會保留必要的快照集,以確保成功的分層作業和數據完整性。 具體而言,在來源存放區中最新的恢復點 (RP) 階層處理期間,需要下列兩者中的快照集:
- 作業層中最新的 RP(來源存放區)。
- 保存庫層中先前的強化 RP(目標存放區)。
因此,作業層中的兩個恢復點會刻意保留,而不會剪除:
- 作業層中最新的 RP。
- 連結至最新保存庫層 RP 之作業層中的 RP。
此行為可防止意外遺失數據,並確保一致的備份。 因此,您可能會注意到,由於這些階層處理相依性,某些作業備份會持續超過設定的每日保留原則。
將備份從作業層移至保存庫層時,提供給備份延伸模組的記憶體帳戶最好啟用公用網路存取。 如果記憶體帳戶位於防火牆後方或已啟用私人存取權,請確定備份保存庫已新增為記憶體帳戶網路設定中的受信任服務,以允許順暢的數據傳輸。
從保存庫層還原期間,暫存位置包含記憶體帳戶和資源群組的凍結資源在還原之後不會清除。 必須手動刪除它們。
在還原期間,預備記憶體帳戶必須啟用公用網路存取權,才能允許備份服務存取和傳輸數據。 如果沒有公用存取,還原作業可能會因為連線限制而失敗。
在還原期間,如果目標 AKS 叢集部署在私人虛擬網路內,您必須在叢集與預備記憶體帳戶之間啟用私人端點,以確保安全且成功的數據傳輸。
如果目標 AKS 叢集版本與備份期間所使用的版本不同,還原作業可能會失敗或完成,並出現各種案例的警告,例如較新的叢集版本中已被取代的資源。 如果從保存庫層還原,您可以使用預備位置中的凍結資源,將應用程式資源還原至目標叢集。
Terraform 部署目前不支援保存庫層式備份。
下一步
- 關於 Azure Kubernetes Service 叢集備份。
- 使用 Azure 入口網站、 Azure CLI、 Azure PowerShell、 Azure Resource Manager、 Bicep、 Terraform 備份 Azure Kubernetes Service 叢集。
- 使用 Azure 入口網站、 Azure CLI、 Azure PowerShell 還原 Azure Kubernetes Service 叢集。
- 使用 Azure 備份管理 Azure Kubernetes Service 備份。