Descripción general
El ajuste automático es un servicio que ajusta los recursos de servicio de forma automática y económica en función de los requisitos de servicio y las políticas configuradas.
Contexto
Cada vez se desarrollan más aplicaciones basadas en Kubernetes. Cada vez es más importante escalar rápidamente las aplicaciones en Kubernetes para hacer frente a los picos de servicio y escalar las aplicaciones durante las horas no pico para ahorrar recursos y reducir costos.
En un clúster de Kubernetes, el ajuste automático implica pods y nodos. Un pod es una instancia de aplicación. Cada pod contiene uno o más contenedores y se ejecuta en un nodo (VM o servidor de metal puro). Si un clúster no tiene suficientes nodos para ejecutar nuevos pods, debe agregar nodos al clúster para garantizar la ejecución del servicio.
En CCE, el ajuste automático se utiliza para servicios en línea, cómputo y entrenamiento a gran escala, GPU de aprendizaje profundo o entrenamiento e inferencia de GPU compartida, cambios de carga periódicos y muchos otros escenarios.
Ajuste automático en CCE
CCE admite el ajuste automático para las cargas de trabajo y los nodos.
- Workload scaling: Ajuste automático en la capa de programación para cambiar la capacidad de programación de las cargas de trabajo. Por ejemplo, puede utilizar el HPA, un componente de ajuste en la capa de programación, para ajustar el número de réplicas de una aplicación. El ajuste del número de réplicas cambia la capacidad de programación ocupada por la carga de trabajo actual, lo que permite escalar en la capa de programación.
- Node scaling: Ajuste automático en la capa de recursos. Cuando los nodos de clúster planificados no pueden permitir la programación de la carga de trabajo, se proporcionan recursos de ECS para admitir la programación.
El ajuste de la carga de trabajo y el ajuste de nodos pueden funcionar por separado o en conjunto. Para obtener más información, véase Uso de HPA y CA para el ajuste automático de cargas de trabajo y nodos.
Componentes
Los componentes de ajuste de carga de trabajo se describen de la siguiente manera:
Tipo |
Nombre del componente |
Descripción de los componentes |
Referencia |
---|---|---|---|
HPA |
Un componente integrado de Kubernetes, que permite el ajuste horizontal los pods. Agrega la ventana de tiempo de enfriamiento a nivel de aplicación y las funciones de umbral de ajuste basadas en el HPA. |
Creación de una política de HPA para el escalado automático de cargas de trabajo |
|
CustomedHPA |
Una función de ajuste automático mejorada, utilizada para ajuste automático de Deployments basado en métricas (uso de CPU y uso de memoria) o en un intervalo periódico (un punto de tiempo específico cada día, cada semana, cada mes o cada año). |
Creación de una política de CustomedHPA para el ajuste automático de cargas de trabajo |
|
Un marco de supervisión y alarma de sistema de código abierto, que recopila métricas públicas (uso de CPU y uso de memoria) de kubelet en el clúster de Kubernetes. |
Los componentes de ajuste de nodos se describen a continuación:
Nombre del componente |
Descripción de los componentes |
Escenario de aplicación |
Referencia |
---|---|---|---|
Un componente de Kubernetes de código abierto para el ajuste horizontal de nodos, que está optimizado en términos de capacidades de programación y ajuste automático. |
Servicios en línea, aprendizaje profundo e informática a gran escala con presupuestos de recursos limitados |