Uso del escalador automático de clústeres en un clúster de AKS Arc
Se aplica a: Azure Local, versión 23H2
Para mantenerse al día con las demandas de aplicaciones en Kubernetes, es posible que tenga que ajustar el número de nodos que ejecutan las cargas de trabajo. El componente de escalado automático de clústeres supervisa los pods del clúster que no pueden programarse debido a las restricciones de los recursos. Cuando la escalabilidad automática de clústeres detecta problemas, escala verticalmente el número de nodos del grupo de nodos para satisfacer las necesidades de la aplicación. Además, comprueba periódicamente los nodos por si faltan pods en ejecución y reduce verticalmente la cantidad de nodos según sea necesario. En este artículo se muestra cómo habilitar y administrar el escalador automático del clúster en AKS Arc.
Habilitación del escalador automático de clústeres en un nuevo clúster
Cree un clúster de AKS Arc mediante el az aksarc create
comando y habilite y configure el escalador automático del clúster en el grupo de nodos para el clúster mediante el --enable-cluster-autoscaler
parámetro y especificando --min-count
y --max-count
para un nodo. El siguiente comando de ejemplo crea un clúster con un solo nodo, habilita el escalador automático del clúster y establece un mínimo de uno y un máximo de tres nodos:
az aksarc create \
--resource-group myResourceGroup \
--name my-aks-arc-cluster \
--custom-location $customLocationId
--vnet-ids $vnetId
--generate-ssh-keys
--aad-admin-group-object-ids $entraIds
--node-count 1 \
--enable-cluster-autoscaler \
--min-count 1 \
--max-count 3
Tardará unos minutos en crear el clúster y configurar las opciones del escalado automático de clústeres.
Habilitación del escalador automático de clústeres en los tres grupos de nodos
Actualice un clúster existente mediante el az aksarc update
comando y habilite y configure el escalador automático del clúster mediante el --enable-cluster-autoscaler
parámetro y especificando --min-count
y --max-count
para un nodo. El siguiente comando de ejemplo actualiza un clúster de AKS Arc existente para habilitar el escalador automático del clúster en el clúster y establece un mínimo de uno y un máximo de tres nodos:
az aksarc update \
--resource-group myResourceGroup \
--name my-aks-arc-cluster \
--enable-cluster-autoscaler \
--min-count 1 \
--max-count 3
Tardará unos minutos en actualizar el clúster y configurar las opciones del escalador automático de clústeres.
Deshabilitación del escalador automático de clústeres en un clúster
Deshabilite el escalador automático del clúster mediante el az aksarc update
comando y el --disable-cluster-autoscaler
parámetro :
az aksarc update \
--resource-group myResourceGroup \
--name my-aks-arc-cluster \
--disable-cluster-autoscaler
Los nodos no se quitan cuando se deshabilita el escalado automático de clústeres.
Actualización de la configuración del escalador automático de clústeres
A medida que las necesidades de la aplicación van cambiando, es posible que deba ajustar el número de nodos del escalado automático de clústeres de forma eficiente. Cambie el número de nodos mediante el az aksarc update
comando y actualice el escalador automático del clúster mediante el parámetro y especifique los --update-cluster-autoscaler
valores actualizados --min-count
y --max-count
para el nodo.
az aksarc update \
--resource-group myResourceGroup \
--name myAKSCluster \
--update-cluster-autoscaler \
--min-count 1 \
--max-count 5
Uso del perfil del escalador automático de clústeres
Puede configurar detalles más pormenorizados del escalador automático de clúster si cambia los valores predeterminados en el perfil del escalador automático para todo el clúster. Por ejemplo, se produce un evento de reducción vertical una vez que los nodos se infrautilizan después de 10 minutos. Si tiene cargas de trabajo que se ejecutan cada 15 minutos, puede que quiera cambiar el perfil del escalador automático para reducir verticalmente los nodos infrautilizados después de 15 o 20 minutos. Cuando se habilita el escalador automático del clúster, se usa un perfil predeterminado a menos que se especifiquen otros valores.
Configuración del perfil del escalador automático de clústeres
En la tabla siguiente se enumeran las opciones de configuración disponibles para el perfil del escalador automático de clústeres:
Configuración | Descripción | Default value |
---|---|---|
scan-interval |
La frecuencia con la que se vuelve a evaluar el clúster para escalar o reducir verticalmente. | 10 segundos |
scale-down-delay-after-add |
Cuánto tiempo después del escalado vertical se reanuda la evaluación de la reducción horizontal. | 10 minutos |
scale-down-delay-after-delete |
Cuánto tiempo después de la eliminación del nodo se reanuda la evaluación de la reducción horizontal. | scan-interval |
scale-down-delay-after-failure |
Cuánto tiempo después de la reducción vertical se reanuda la evaluación de la reducción horizontal. | 3 minutos |
scale-down-unneeded-time |
Cuánto tiempo debe ser innecesario un nodo antes de que sea válido para la reducción vertical. | 10 minutos |
scale-down-unready-time |
Cuánto tiempo debe ser innecesario un nodo no listo antes de que sea válido para la reducción vertical. | 20 minutos |
scale-down-utilization-threshold |
El nivel de uso del nodo, definido como la suma de los recursos solicitados dividida por la capacidad, por debajo del cual se puede considerar un nodo para la reducción vertical. | 0.5 |
max-graceful-termination-sec |
Número máximo de segundos que el escalador automático del clúster espera la terminación del pod al intentar reducir verticalmente un nodo. | 600 segundos |
balance-similar-node-groups |
Detecta grupos de nodos similares y equilibra el número de nodos entre ellos. | false |
expander |
Tipo de grupo de nodos que usa el expansador en el escalado vertical. Los valores posibles incluyen most-pods , random , least-waste y priority . |
|
skip-nodes-with-local-storage |
Si true es , el escalador automático del clúster no elimina nodos con pods con almacenamiento local; por ejemplo, EmptyDir o HostPath. |
true |
skip-nodes-with-system-pods |
Si es true , el escalador automático de clústeres no elimina los nodos con pods de kube-system (excepto para DaemonSet o mirror). |
true |
max-empty-bulk-delete |
Número máximo de nodos vacíos que se pueden eliminar al mismo tiempo. | 10 nodos |
new-pod-scale-up-delay |
En escenarios como la escala de ráfagas y lotes en los que no quiere que la CA actúe antes de que el programador de Kubernetes programe todos los pods, puede indicarle a la CA que ignore los pods no programados antes de que tengan una antigüedad concreta. | 0 segundos |
max-total-unready-percentage |
Porcentaje máximo de nodos no leídos en el clúster. Una vez que se haya superado este porcentaje, la CA detiene las operaciones. | 45 % |
max-node-provision-time |
Tiempo máximo que la escalabilidad automática espera a que se aprovisione un nodo. | 15 minutos |
Establecimiento del perfil del escalador automático de clústeres en un nuevo clúster
Cree un clúster de AKS Arc mediante el az aksarc create
comando y establezca el perfil del escalador automático del clúster mediante el cluster-autoscaler-profile
parámetro :
az aksarc create \
--resource-group myResourceGroup \
--name my-aks-arc-cluster \
--node-count 1 \
--enable-cluster-autoscaler \
--min-count 1 \
--max-count 3 \
--cluster-autoscaler-profile scan-interval=30s
Establecimiento del perfil del escalador automático de clústeres en un clúster existente
Establezca el escalador automático de clústeres en un clúster existente mediante el comando az aksarc update
y el parámetro cluster-autoscaler-profile
. En el ejemplo siguiente, se configura el valor de intervalo de detección como 30 s:
az aksarc update \
--resource-group myResourceGroup \
--name my-aks-arc-cluster \
--cluster-autoscaler-profile scan-interval=30s
Restablecimiento del perfil de escalador automático del clúster a los valores predeterminados
Restablezca el perfil del escalador automático del clúster mediante el az aksarc update
comando :
az aksarc update \
--resource-group myResourceGroup \
--name my-aks-arc-cluster \
--cluster-autoscaler-profile ""
Pasos siguientes
En este artículo se muestra cómo escalar automáticamente el número de nodos de AKS Arc. Para escalar los grupos de nodos manualmente, consulte Administración de grupos de nodos en clústeres de AKS Arc.