Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
如果应用程序的资源需求发生变化,群集性能可能会因 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以下示例输出表明名称为 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
后续步骤
在本文中,你手动缩放了 AKS 群集以增加或减少节点数量。 还可以使用群集自动缩放程序自动缩放群集。