Escalado automático de clústeres en AKS habilitado por Azure Arc
Se aplica a: AKS en Azure Stack HCI 22H2, AKS en Windows Server
Puede ajustar el número de nodos que ejecutan cargas de trabajo de aplicación en AKS Arc mediante Azure Kubernetes Service (AKS) para mantenerse al día de la demanda. Puede usar PowerShell para habilitar la escalabilidad automática y administrar el escalado automático de grupos de nodos en los clústeres de destino.
En este artículo se describe el contexto del escalador automático en AKS habilitado por Arc y cómo funciona el escalador automático. Para que el escalado automático del clúster funcione de forma eficaz, también puede usar el escalador automático de pod horizontal de Kubernetes, que es un componente estándar de Kubernetes. Para más información sobre el escalador automático de pods horizontal de Kubernetes, consulte Escalado automático horizontal de pods.
Escalado automático del clúster
En AKS, el escalador automático de clústeres supervisar los pods del clúster que no pueden programarse debido a las restricciones de los recursos. Cuando se detectan problemas, el número de nodos de un grupo aumenta para satisfacer las necesidades de la aplicación. En los nodos también se comprueba regularmente si faltan nodos en ejecución y, en consecuencia, la cantidad de nodos se reduce según sea necesario. Esta capacidad de escalado o reducción vertical de manera automática del número de nodos en su clúster de AKS le permite ejecutar los clústeres de forma eficaz y rentable. El escalado automático es la capacidad del sistema para ajustar automáticamente las cargas de trabajo a través de la automatización y la configuración que contienen parámetros específicos basados en la entrada, las medidas y las reglas.
Para habilitar el escalador automático del clúster, AKS debe implementar la administración básica de recursos. AKS calcula los requisitos de recursos que desencadenarán eventos de escalado automático en un momento dado. AKS no tendrá en cuenta el consumo de recursos desde fuera de AKS Arc. Por ejemplo, al agregar máquinas virtuales después de habilitar el escalador automático, este evento se produce fuera del contexto del escalador automático.
Propósito del escalado automático del clúster
El escalador automático aumenta automáticamente el tamaño de un grupo de nodos del mínimo al número máximo de nodos especificado. Al habilitar el escalado automático, el escalador automático determina si el número máximo de nodos es factible y le advierte sobre el aprovisionamiento excesivo de los recursos de hardware disponibles.
El escalador automático realiza un seguimiento de los recursos disponibles y prometidos en todos los clústeres de destino y grupos de nodos implementados. El escalador usa estos datos para tomar una decisión informada. A medida que el escalador automático aumenta el grupo de nodos, el escalador automático comprueba la disponibilidad de los recursos.
AKS Arc usa la característica de escalado automático de Kubernetes integrada para admitir operaciones similares al escalador automático de Azure.
Funcionamiento del escalado automático de clústeres
El escalador automático se ajusta a las cambiantes demandas de las aplicaciones. A medida que las demandas cambian entre las cargas diurnas y las nocturnas, el escalador automático desplaza los recursos de los clústeres. Los clústeres de Kubernetes se escalan de dos maneras:
- Desencadenadores basados en el uso de nodos. El escalador automático de clúster busca pods que no se pueden programar debido a restricciones de los nodos. El escalador automático de clústeres reduce el número de nodos cuando no se ha usado toda la capacidad durante un tiempo.
- Desencadenadores definidos en los perfiles del escalador automático. El escalado automático de clústeres usa parámetros de inicio para desencadenadores como intervalos de tiempo entre eventos de escalado y umbrales de recursos. Consulte Perfiles del escalador automático.
Cuando se habilita el escalado automático en un grupo de nodos, se aplica el perfil predeterminado, a menos se invaliden uno o varios de los valores mediante el parámetro -ClusterAutoScalingProfile
en Set-AksHciCluster
. A menos que lo habilite, el estado predeterminado del escalador automático de nodos es deshabilitado en el momento de la creación tanto del clúster como del grupo de nodos.
Si se habilita el escalador automático para un clúster, pero no se proporciona un objeto autoscalerconfig, el perfil de escalador automático predeterminado se agrega al clúster. A continuación, puede ajustar los parámetros del perfil mediante el Set-AksHciCluster
comando y pasar un objeto autoscalerconfig con los valores actualizados. No es necesario que incluya todos los parámetros en el objeto, solo los parámetros actualizados.
Uso del escalador automático
Para configurar el escalador automático, puede establecer los parámetros en su perfil. Para más información, consulte Uso de los perfiles del escalador automático.
Puede usar PowerShell para habilitar, configurar y deshabilitar el escalador automático. Para más información, consulte Uso de PowerShell para el escalado automático de clústeres.
Escalabilidad automática de clústeres durante una actualización de clústeres
Durante una actualización y actualización del clúster, el escalador automático se pausa y no se produce ninguna operación de escalado hasta que el clúster y todos los grupos de nodos del clúster completen la operación de actualización. Si un grupo de nodos específico de un clúster se actualiza a una versión más reciente de Kubernetes, el escalador automático de ese grupo de nodos se pausa. La operación de escalado automático continúa en todos los demás grupos de nodos.