Versión 2.2

Ajuste de escala automático

Kf aprovecha el escalador automático de Pod horizontal de Kubernetes (HPA) para escalar automáticamente la cantidad de pods en una app. Cuando se habilita el ajuste de escala automático para una app, se crea un objeto HPA y se vincula al objeto de la app. Luego, calcula la escala objetivo de forma dinámica y la establece para la app.

Cómo funciona el escalamiento de Kf

La cantidad de pods que se implementan para una app de Kf se controla mediante el campo replica del objeto de implementación subyacente. La cantidad objetivo de réplicas de implementación se establece a través del campo replicas de la app.

El escalamiento se puede realizar de forma manual con el comando kf scale. Este comando se inhabilita cuando se habilita el ajuste de escala automático para evitar objetivos conflictivos.

Cómo funciona el escalador automático de Pod horizontal de Kubernetes

El escalador automático de Pod horizontal (HPA) se implementa como un recurso de la API de Kubernetes (el objeto HPA) y un bucle de control (el controlador HPA), que calcula periódicamente la cantidad de réplicas deseadas en función del uso actual de recursos. Luego, el controlador HPA pasa el número al objeto de destino que implementa el subrecurso de escalamiento. El escalamiento real se delega al objeto subyacente y a su controlador. Puedes encontrar más información en la documentación de Kubernetes.

Cómo el escalador automático determina cuándo escalar

Periódicamente, el controlador HPA consulta el uso de recursos en función de las métricas especificadas en cada definición de HorizontalPodAutoscaler. El controlador obtiene las métricas de la API de las métricas de los recursos para cada pod. Luego, el controlador calcula el valor de uso como un porcentaje de la solicitud de recurso equivalente. La cantidad deseada de réplicas se calcula en función de la proporción del porcentaje actual y el porcentaje deseado. Puedes leer más sobre el algoritmo de ajuste de escala automático en la documentación de Kubernetes.

Métricas

Kf usa HPA v1, que solo admite CPU como métrica objetivo.

Cómo funciona el escalador automático horizontal de Kubernetes con Kf

Cuando el ajuste de escala automático está habilitado para una app de Kf, el controlador de Kf creará un objeto HPA en función de los límites y las reglas de escalamiento especificados en la app. Luego, el controlador HPA recupera las especificaciones del objeto HPA y escala la app según corresponda.

El objeto HPA se borrará si el ajuste de escala automático está inhabilitado o si se borra la app correspondiente.