在 Azure Kubernetes Service (AKS) 叢集中手動調整節點計數
如果應用程式的資源需求有所變更,叢集效能可能會因為 CPU、記憶體、PID 空間或磁碟大小容量不足而受到影響。 若要解決這些變更,您可以手動調整 AKS 叢集,以執行不同數目的節點。 當您相應縮小時,會小心 地封鎖和清空 節點,以將執行中應用程式的中斷降到最低。 向外延展時,AKS 會等到 Kubernetes 叢集標示 為 [就緒 ] 節點,再排程 Pod。
本文說明如何手動增加或減少 AKS 叢集中的節點數目。
開始之前
檢閱 AKS 服務配額和限制,以驗證您的叢集可以調整為所需的節點數目。
節點集區的名稱只能包含小寫英數字元,且開頭必須為小寫字母。
- 如果是 Linux 節點集區,長度必須介於 1 到 11 個字元之間。
- 如果是 Windows 節點集區,長度必須介於 1 到 6 個字元之間。
調整叢集節點
重要
不支援使用 kubectl 命令從節點集區移除節點。 這麼做可以建立 AKS 叢集的縮放比例問題。
使用
az aks show
命令取得節點集區的名稱。 下列範例會針對 myResourceGroup 資源群組中名稱為 myAKSCluster 的叢集取得節點集區名稱:az aks show --resource-group myResourceGroup --name myAKSCluster --query agentPoolProfiles
下列範例輸出顯示 name 是 nodepool1:
[ { "count": 1, "maxPods": 110, "name": "nodepool1", "osDiskSizeGb": 30, "osType": "Linux", "vmSize": "Standard_DS2_v2" } ]
使用
az aks scale
命令調整叢集節點。 下列範例會將名為 myAKSCluster 的叢集調整成單一節點。 從上一個命令中,提供您自己的--nodepool-name
,例如 nodepool1:az aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 1 --nodepool-name <your node pool name>
下列範例輸出顯示叢集成功調整為一個節點,如 agentPoolProfiles 區段中所示:
{ "aadProfile": null, "addonProfiles": null, "agentPoolProfiles": [ { "count": 1, "maxPods": 110, "name": "nodepool1", "osDiskSizeGb": 30, "osType": "Linux", "vmSize": "Standard_DS2_v2", "vnetSubnetId": null } ], [...] }
將節點集區調整 User
為 0
不同於一律需要執行節點的 System
系統節點集區,User
節點集區可讓您調整至 0。 若要深入了解系統與使用者節點集區之間的差異,請參閱系統與使用者節點集區。
重要
您無法將已啟用叢集自動調整程式的使用者節點集區調整為 0 個節點。 若要將使用者節點集區調整為 0 個節點,您必須先停用叢集自動調整程式。 如需詳細資訊,請參閱在節點集區上停用叢集自動調整程式。
若要將使用者集區調整為 0,您可以使用 az aks nodepool scale 替代上述的
az aks scale
命令,並將0
設定為節點計數。az aks nodepool scale --name <your node pool name> --cluster-name myAKSCluster --resource-group myResourceGroup --node-count 0
您也可以將叢集自動調整程式的
--min-count
參數設定為0
,將User
節點集區自動調整為 0 個節點。
下一步
在本文中,您會手動調整 AKS 叢集,以增加或減少節點數目。 您也可以使用叢集自動調整程式,以自動調整叢集。