![[8.5.5.4 o posterior]](../ng_v8554.gif)
Definición de políticas de escalado para gestionar la carga de trabajo
Las políticas de escalado se utilizan para iniciar y detener los miembros del clúster dinámico basándose en métricas configurables. La política de escalado se puede definir para todos los clústeres o para algunos específicos. Si no se define ninguna política, se utilizará una política incorporada.
Acerca de esta tarea
- Un mínimo de dos miembros de clúster, si están disponible, se mantienen activos. El número mínimo no se puede cumplir si algunos o todos los miembros superan los umbrales de métrica.
- Se inicia un miembro de clúster adicional cuando se excede el 90% de promedio de CPU, almacenamiento dinámico o uso de memoria de todos los miembros activos.
- Se detiene un miembro del clúster cuando el uso promedio de CPU y de almacenamiento dinámico cae por debajo del 30%.
La política de escalado se puede definir para todos los clústeres que utilicen la política de escalado predeterminada. La política de escalado predeterminada hereda la métrica de la política de escalado incorporada, incluidos los valores de la instancia mínimo y máximo. Los cambios realizados en la política de escalado predeterminada, que haya especificado el usuario, alterarán temporalmente el valor incorporado. Los valores que no se hayan especificado en la política de escalado predeterminada se heredarán de la política de escalado incorporada.
A diferencia de la política de escalado predeterminada, la métrica de la política de escalado no se hereda de la política de escalado predeterminada ni incorporada. Sin embargo, los valores de la instancia mínimo y máximo se inicializa en los valores de política incorporada. Puesto que la métrica de la política de escalado se considera valores opcionales, sólo la métrica especificada en la política se incluirá en las decisiones de escalado. La métrica no incluida en la política de escalado no se analiza cuando se toman decisiones de escalado.
- Política de escalado predeterminada
Puede definir una política de escalado predeterminada individual para gestionar todos los clústeres que no necesitan una política de escalado definida más específica. .
En el ejemplo siguiente se muestra cómo definir una política de escalado predeterminada que establece el número mínimo de miembros de clúster activos en 3.<scalingDefinitions> <defaultScalingPolicy min="3"/> </scalingDefinitions>
- Política de escalado
Puede definir una política de escalado para gestionar un clúster o varios clústeres con criterios de destino que se hayan especificado en la política de escalado. Puesto que las definiciones de la política de escalado no heredan los umbrales de métrica, sólo se supervisarán los umbrales de métrica que se hayan especificado. Todos los demás umbrales se ignorarán porque pertenecen a decisiones de escalado. Los valores de la política de escalado incorporada para las instancias mínima y máxima seguirán respetándose si no se han especificado.
En el ejemplo siguiente se muestra cómo definir una política de escalado que cambia los umbrales de uso de CPU para iniciar y detener servidores en un clúster denominado cluster1.<scalingDefinitions> <scalingPolicy id="cluster1Policy"> <bind clusters="cluster1"/> <metric name="CPU" min="10" max="70"/> </scalingPolicy> </scalingDefinitions>
El valor del atributo clusters del elemento bind es una lista separada por comas de nombres de clúster. Puede utilizarse un asterisco al final del nombre sólo como comodín para que coincida con cero o más caracteres. Por ejemplo:
En este ejemplo, la política de escalado se aplica a un clúster denominado west y a todos los clústeres cuyo nombre empiece por south. Si un nombre de clúster coincide con varias políticas, el controlador de escalado utiliza las reglas siguientes para elegir una política:<bind clusters="west,south*"/>
- Una coincidencia exacta es preferible a una coincidencia de comodín.
- Si hay varias coincidencias comodín, se utiliza la política con el prefijo más largo.
La política se escalará en base a los valores mínimo y máximo predeterminados. En el ejemplo anterior, los clústeres sólo se escalarán basándose en los valores especificados de la CPU, siendo min=10 y max=70.
Las decisiones de escalado de métrica se realizan en un nivel de clúster. Cada miembro del clúster supervisa su propia métrica. El valor de métrica de CPU y de memoria para un servidor es actualmente el valor mayor del proceso de la JVM del servidor o del host del servidor. El valor de la métrica de almacenamiento dinámico sólo se toma del proceso de la JVM del servidor. Si se detecta un cambio apreciable en una métrica supervisada, esa métrica se envía al controlador para su análisis. Todas las métricas de miembros de clúster se acumulan y se calcula un promedio de clúster se calcula para cada métrica. El valor calculado para cada métrica se compara con el umbral superior y/o inferior definido para determinar si se activa una decisión de escalado.
Las decisiones de escalado externo se realizan en base a una métrica individual. Todas las métricas supervisadas se analizan para el clúster y si alguna de las métricas supera el umbral máximo de política, se desencadena un suceso de escalado externo. Las decisiones de escalado interno se realizan en base a todas las métricas supervisadas. Se analiza el promedio de clúster para cada métrica supervisada. Si todas las métricas están por debajo del umbral mínimo de sus políticas, se desencadena un suceso de escalado interno.
Una vez tomada una decisión de escalado, se selecciona un destino de escalado. El destino de escalado es el host donde se ejecuta la acción de detención del servidor (para el escalado interno) o de inicio del servidor (para el escalado externo). Cuando se determina un destino para una acción de escalado externo, se tiene en cuenta la métrica del nivel de host. Si alguna de las métricas de nivel de host supera el umbral máximo de política de esa métrica, se dejará de lado ese host y se elegirá otro host para la acción de escalado externo.
Procedimiento
Resultados
Las políticas de escalado están ya definidas.