Azure Arc 所啟用 AKS 中的叢集自動調整
適用於:Azure Stack HCI 22H2 上的 AKS、Windows Server 上的 AKS
您可以使用 Azure Kubernetes Service (AKS) 來調整在 AKS Arc 中執行應用程式工作負載的節點數目,以跟上需求。 您可以使用PowerShell來啟用自動調整程式,以及管理目標叢集中節點集區的自動調整。
本文說明 Arc 啟用的 AKS 中自動調整程式的內容,以及自動調整程式的運作方式。 若要讓叢集自動調整有效運作,您也可以使用 Kubernetes 水準 Pod 自動調整程式,這是標準的 Kubernetes 元件。 如需 Kubernetes 水準 Pod 自動調整程式的詳細資訊,請參閱 水準 Pod 自動調整。
叢集自動調整
在 AKS 中,叢集自動調整程式會監看叢集中因資源限制而無法排程的 Pod。 偵測到問題時,節點集區中的節點數目會增加以符合應用程式需求。 節點也會定期檢查是否有執行中的 Pod 不足,然後視需要減少節點數目。 自動相應增加或相應減少 AKS 叢集中節點數目的功能,可讓您執行有效率且符合成本效益的叢集。 自動調整 是系統透過自動化和設定自動調整工作負載的能力,其中包含根據輸入、量值和規則的特定參數。
若要啟用叢集自動調整程式,AKS 必須實作基本資源管理。 AKS 會估計會在某個時間點觸發自動調整事件的資源需求。 AKS 不會考慮來自 AKS Arc 外部的資源耗用量。例如,當您在啟用自動調整程序之後新增 VM 時,此事件會在自動調整程式的內容之外發生。
叢集自動調整的目的
自動調整程式會自動將節點集區的大小從最小值增加到指定的節點數目上限。 當您啟用自動調整時,自動調整程式會判斷節點數目上限是否可行,並警告您過度布建可用的硬體資源。
自動調整程式會追蹤所有已部署目標叢集和節點集區的可用和承諾資源。 調整器會使用此數據來做出明智的決策。 當自動調整程式增加節點集區時,自動調整程式會檢查資源的可用性。
AKS Arc 使用內建 Kubernetes 自動調整功能來支援類似 Azure 自動調整程式的作業。
叢集自動調整的運作方式
自動調整程式會調整為變更應用程式需求。 隨著工作日和晚上負載之間的需求變更,自動調整程式會轉移您的叢集資源。 Kubernetes 叢集會以兩種方式進行調整:
- 以節點使用率為基礎的觸發程式。 叢集自動調整器會監看由於資源限制式而無法在節點上進行排程的 Pod。 叢集自動調整程式會在有一段時間未使用的容量時減少節點數目。
- 自動調整程式設定檔中定義的觸發程式。 叢集自動調整程式會針對觸發程式使用啟動參數,例如調整事件與資源閾值之間的時間間隔。 請參閱 自動調整程式設定檔。
當您在節點集區上啟用自動調整時,除非您使用 上的 Set-AksHciCluster
參數覆寫一或多個設定,否則會套用-ClusterAutoScalingProfile
預設配置檔。 除非您啟用它們,否則叢集和節點集區建立時間都會停用節點自動調整程式的默認狀態。
當您為叢集啟用自動調整程式,且未提供 自動調整程式設定 物件時,預設的自動調整程式設定檔會新增至叢集。 接著,您可以使用 命令,並使用更新的值傳遞 autoscalerconfig 物件,以微調配置檔Set-AksHciCluster
中的參數。 您不需要在物件中提供所有參數,只要在物件中提供更新的參數即可。
使用自動調整程式
您可以在自動調整程式設定檔中設定參數,以設定自動調整程式。 如需詳細資訊,請參閱 如何使用自動調整程式配置檔。
您可以使用 PowerShell 來啟用、設定和停用自動調整程式。 如需詳細資訊,請參閱 使用PowerShell進行叢集自動調整。
叢集升級期間的叢集自動調整
在叢集升級和更新期間,自動調整程式會暫停,而且在叢集中的叢集和所有節點集區完成更新作業之前,不會發生任何調整作業。 如果叢集中的特定節點集區更新為較新的 Kubernetes 版本,該節點集區的自動調整程式會暫停。 自動調整作業會在所有其他節點集區上繼續執行。