Escalado manual del número de nodos en un clúster de Azure Kubernetes Service (AKS)
Si cambian las necesidades de recursos de las aplicaciones, el rendimiento del clúster puede verse afectado debido a una capacidad baja en CPU, memoria, espacio en PID o tamaños de disco. Para solucionar estos cambios, puede escalar manualmente el clúster de AKS para ejecutar un número diferente de nodos. Durante la reducción horizontal, los nodos se acordonarán y vaciarán minuciosamente para minimizar las interrupciones en las aplicaciones en ejecución. Durante el escalado horizontal, AKS espera hasta que el clúster de Kubernetes marca los nodos en estado Listo antes de que se programen pods en ellos.
En este artículo se describe cómo aumentar o disminuir manualmente el número de nodos de un clúster de AKS.
Antes de empezar
Revise las cuotas y los límites del servicio de AKS para comprobar que el clúster se puede escalar al número deseado de nodos.
El nombre de un grupo de nodos solo puede contener caracteres alfanuméricos en minúsculas y debe comenzar con una letra minúscula.
- En el caso de los grupos de nodos de Linux, la longitud debe estar comprendida entre 1 y 11 caracteres.
- En el caso de los grupos de nodos de Windows, la longitud debe estar comprendida entre 1-6 y 6 caracteres.
Escalado de los nodos de clúster
Importante
No se admite la eliminación de nodos de un grupo de nodos mediante el comando kubectl. Si lo hace, puede crear problemas de escalado con el clúster de AKS.
Obtenga el nombre del grupo de nodos con el comando
az aks show
. En el ejemplo siguiente se obtiene el nombre del grupo de nodos del clúster denominado myAKSCluster en el grupo de recursos myResourceGroup:az aks show --resource-group myResourceGroup --name myAKSCluster --query agentPoolProfiles
La salida de ejemplo siguiente muestra que el nombre es nodepool1:
[ { "count": 1, "maxPods": 110, "name": "nodepool1", "osDiskSizeGb": 30, "osType": "Linux", "vmSize": "Standard_DS2_v2" } ]
Escale los nodos del clúster usando el comando
az aks scale
. En el siguiente ejemplo, se escala un clúster denominado myAKSCluster en un único nodo. Proporcione su propio valor para--nodepool-name
del comando anterior, como nodepool1:az aks scale --resource-group myResourceGroup --name myAKSCluster --node-count 1 --nodepool-name <your node pool name>
La siguiente salida de ejemplo muestra que el clúster se ha escalado correctamente a un nodo, como se ilustra en la sección agentPoolProfiles:
{ "aadProfile": null, "addonProfiles": null, "agentPoolProfiles": [ { "count": 1, "maxPods": 110, "name": "nodepool1", "osDiskSizeGb": 30, "osType": "Linux", "vmSize": "Standard_DS2_v2", "vnetSubnetId": null } ], [...] }
Escalado de grupos de nodos de User
a 0
A diferencia de los grupos de nodos de System
que siempre requieren nodos en ejecución, los grupos de nodos de User
permiten escalar a 0. Para obtener más información sobre las diferencias entre los grupos de nodos de sistema y de usuario, consulte Grupos de nodos del sistema y del usuario.
Importante
No se puede escalar un grupo de nodos de usuario con el escalador automático del clúster habilitado para 0 nodos. Para escalar un grupo de nodos de usuario a 0 nodos, primero debe deshabilitar el escalador automático del clúster. Para más información, consulte Deshabilitar el escalador automático de clústeres en un grupo de nodos.
Para escalar un grupo de usuarios a 0, puede usar az aks nodepool scale como alternativa al comando
az aks scale
anterior y establecer0
como el número de nodos.az aks nodepool scale --name <your node pool name> --cluster-name myAKSCluster --resource-group myResourceGroup --node-count 0
También puede escalar automáticamente grupos de nodos de
User
a 0 nodos; para ello, establezca el parámetro--min-count
del escalador automático del clúster en0
.
Pasos siguientes
En este artículo, escaló manualmente un clúster de AKS para aumentar o disminuir el número de nodos. También puede usar el escalador automático del clúster para escalar automáticamente el clúster.
Azure Kubernetes Service