Acerca del escalador automático del clúster

En este tema, se describe el escalador automático del clúster, que controla automáticamente el tamaño de tus grupos de nodos.

Realiza un ajuste de escala automático en un grupo de nodos

El escalador automático del clúster cambia el tamaño de la cantidad de nodos en un grupo de nodos de forma automática según las exigencias de tus cargas de trabajo. No es necesario que agregues o quites nodos de forma manual ni que sobreaprovisiones tus grupos de nodos. Solo debes especificar un tamaño mínimo y máximo para el grupo de nodos y dejar que los cambios necesarios se hagan de manera automática.

Si es necesario borrar o mover recursos mientras se realiza el ajuste de escala automático del clúster, es posible que las cargas de trabajo sufran interrupciones transitorias. Por ejemplo, si tu carga de trabajo consta de un controlador con una sola réplica, es posible que el Pod de esa réplica se reprograme en otro nodo si se borra el actual. Debido a esto, debes diseñar tus cargas de trabajo para tolerar posibles interrupciones o asegurarte de que no se interrumpan los Pods críticos.

Cómo funciona el escalador automático del clúster

El escalador automático del clúster funciona por grupo de nodos. Cuando usas el escalador automático del clúster a fin de configurar un grupo de nodos, especificas un tamaño mínimo y máximo para el grupo de nodos. Puedes cambiar el tamaño mínimo y máximo cuando creas un grupo de nodos o actualizas un grupo de nodos.

El escalador automático del clúster aumenta o disminuye el tamaño del grupo de nodos automáticamente según las solicitudes de recursos (no el uso real) en ese grupo de nodos. El escalador automático del clúster agrega nodos si los objetos del Pod no son programables y no hay suficiente capacidad en el grupo de nodos para cumplir con las solicitudes.

El escalador automático de clústeres también quita los nodos si tienen poco uso y todos los objetos del Pod podrían programarse en una menor cantidad de nodos. Si un nodo no se puede desviar de forma correcta después de 10 minutos, se forzará su finalización. Este período no se puede configurar.

Si un Pod solicita muy pocos recursos (por ejemplo, si los valores predeterminados son insuficientes), el escalador automático del clúster no corrige la situación. Para ayudar a garantizar que el escalador automático del clúster funcione de la manera más precisa posible, debes crear solicitudes de recursos adecuadas para todas las cargas de trabajo. Si deseas obtener más información, consulta Administra recursos para contenedores.

Criterios operativos

El escalador automático del clúster actúa según las siguientes suposiciones cuando cambia el tamaño de un grupo de nodos:

  • Todos los objetos del Pod replicados se pueden reiniciar en otro nodo, aunque es posible que esto provoque una interrupción breve. Si tu carga de trabajo no tolera la interrupción, configura la carga de trabajo para que se ejecute en un grupo de nodos con el ajuste de escala automático inhabilitado. Para obtener más información, consulta Controla la programación con taints de nodo.
  • El escalador automático del clúster puede anular cualquier operación manual de administración de nodos que realices.
  • Todos los nodos de un grupo tienen el mismo conjunto de etiquetas.
  • El escalador automático del clúster selecciona un grupo de nodos que tiene la menor cantidad de CPU inactiva o memoria sin usar después del escalamiento vertical. Este comportamiento afecta a qué grupos de nodos se escalan verticalmente si tienes tamaños de nodos diferentes (por ejemplo, CPU alta o nodos de memoria alta) en el mismo clúster.

Tamaño mínimo y máximo del grupo de nodos

Puedes especificar el tamaño mínimo y máximo de cada grupo de nodos del clúster con las marcas min-nodes y max-nodes. Para inhabilitar el ajuste de escala automático, configura min-nodes y max-nodes con el mismo número. El escalador automático del clúster toma decisiones de escalamiento dentro de estos límites de tamaño.

Cuando establezcas el tamaño máximo de tus grupos de nodos, asegúrate de que sea lo bastante grande como para ejecutar todas tus cargas de trabajo. Si los grupos de nodos de tu clúster no tienen suficiente memoria y CPU disponibles para ejecutar todas tus cargas de trabajo, pueden ocurrir interrupciones.

Usa PodDisruptionBudget para proteger las cargas de trabajo

Puedes configurar GKE en Azure para protegerte contra las interrupciones de las cargas de trabajo con un PodDisruptionBudget. Cuando creas un PodDisruptionBudget, especificas la cantidad mínima de réplicas de Pods que deben estar disponibles o la cantidad máxima de ellas que pueden no estar disponibles en un momento determinado. A fin de obtener más información, consulta Especificando un presupuesto de disrupción para tu aplicación.

¿Qué sigue?