Azure Kubernetes Service (AKS) 中的可用性區域概觀
本文概述如何在 Azure Kubernetes Service (AKS) 中使用可用性區域,以提高應用程式的可用性。
AKS 叢集會在基本 Azure 基礎結構的邏輯區段間散發資源,例如節點和儲存體。 使用可用性區域可將節點與部署到不同可用性區域的其他節點實際分開。 若 AKS 叢集部署了多個可用性區域,且可用性區域的設定是針對整個叢集,就能達到更高一層的可用性,在硬體失敗或計劃性維護時提供防護。
什麼是可用性區域?
可用性區域可協助保護您的應用程式和資料不因資料中心失敗而受影響。 區域是在 Azure 區域內獨特的實體位置。 每個區域皆包含一或多個配備獨立電力、冷卻系統及網路的資料中心。 為了確保復原能力,在全部已啟用區域的區域中一律會有一個以上的區域。 區域內可用性區域的實體區隔可保護應用程式和資料不受資料中心失敗影響。
使用可用性區域部署的 AKS 叢集,可在單一地區內的多個區域間散發節點。 例如,美國東部 2 區域中的叢集,可以在美國東部 2 的全部三個可用性區域中建立節點。 AKS 叢集資源此種散發方式,可在特定區域故障時復原,而能改善叢集可用性。
如果叢集設定為散佈在多個區域,當單一區域變得無法使用時,您的應用程式仍會繼續執行。
如需詳細資訊,請參閱使用 Azure 可用性區域。
注意
使用叢集自動調整程式實作可用性區域時,建議針對每個區域使用單一節點集區。 您可以將 --balance-similar-node-groups
參數設定為 true
,在擴大作業期間為工作負載維持跨區域的節點平衡分佈。 如果未實作此方法,縮小作業可能會中斷跨區域的節點平衡。 此組態不保證類似節點群組會有相同數目的節點:
- 目前,平衡只會在擴大作業期間發生。 不論節點群組的相對大小為何,叢集自動調整程式都會縮小使用量過低的節點。
- 叢集自動調整程式只會視需要新增節點數量,以執行所有現有的 Pod。 如果已排程更多 Pod,某些群組的節點數目可能會比其他群組多。
- 叢集自動調整程式只會平衡可支援相同擱置 Pod 集合的節點群組。
您也可以使用 Azure 區域備援儲存體 (ZRS) 磁碟,在您選取的三個可用性區域之間複寫儲存體。 ZRS 磁碟可讓您從可用性區域失敗復原,沒有資料遺失。 如需詳細資訊,請參閱適用於受控磁碟的 ZRS。
限制
使用可用性區域建立 AKS 叢集時,會受到以下限制:
- 您只能在建立叢集或節點集區期間定義可用性區域。
- 建立叢集之後,無法將現有的非可用性區域叢集更新為使用可用性區域。
- 所選的可用性區域必須均能使用所選的節點大小 (VM SKU)。
- 若叢集具有已啟用的可用性區域,則需要使用 Azure Standard Load Balancer 才能跨區域散發。 您只能在建立叢集時定義此負載平衡器類型。 如需標準負載平衡器的詳細資訊和限制,請參閱 Azure 負載平衡器標準 SKU 限制。
Azure 磁碟可用性區域支援
使用 Azure 受控 LRS 磁碟的磁碟區不是區域備援資源,而且不支援跨區域連結。 您必須在與裝載目標 Pod 的指定節點相同的區域中共置磁碟區。 使用 Azure 受控 ZRS 磁碟的磁碟區是區域備援資源。 您可以在所有區域和非區域代理程式節點上排程這些磁碟區。 下列範例示範如何使用 StandardSSD_ZRS 磁碟建立儲存體類別:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: managed-csi-zrs
provisioner: disk.csi.azure.com
parameters:
skuName: StandardSSD_ZRS # or Premium_ZRS
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
Kubernetes 1.12 版和更新版本會注意到 Azure 可用性區域。 您可以在多區域 AKS 叢集中部署參考 Azure 受控磁碟的 PersistentVolumeClaim 物件,Kubernetes 會負責排程 (英文) 在正確可用性區域中宣告此 PVC 的任何 Pod。
自 Kubernetes 1.29 版開始,在跨多個可用性區域部署 Azure Kubernetes Service (AKS) 叢集時,AKS 現在會利用區域備援儲存體 (ZRS) 在內建儲存類別中建立受控磁碟。 ZRS 可確保在所選區域中,跨 Azure 可用性區域同步複寫 Azure 受控磁碟。 此備援策略可強化應用程式的復原能力,並保護您的資料不受資料中心故障影響。
不過,請務必注意,相較於本地備援儲存體 (LRS),區域備援儲存體 (ZRS) 的成本較高。 若成本最佳化為優先考量,則可以將 skuname
參數設定為 LRS,建立新的儲存類別。 接著,便可以在持續性磁碟區宣告 (PVC) 中使用新的儲存類別。