Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Descripción general
El escalador automático de clústeres de Kubernetes es una popular solución de escalado automático de clústeres mantenida por SIG Autoscaler.DesiredReplicas
campo de sus grupos de EC2 Auto Scaling.

Esta guía proporcionará un modelo mental para configurar el escalador automático de clústeres y elegir el mejor conjunto de ventajas y desventajas para cumplir con los requisitos de su organización. Si bien no existe una configuración única que sea la mejor, hay un conjunto de opciones de configuración que le permiten equilibrar el rendimiento, la escalabilidad, el costo y la disponibilidad. Además, en esta guía se ofrecen consejos y prácticas recomendadas para optimizar la configuración de AWS.
Glosario
La siguiente terminología se utilizará con frecuencia a lo largo de este documento. Estos términos pueden tener un significado amplio, pero se limitan a las siguientes definiciones para los fines de este documento.
La escalabilidad se refiere al rendimiento del escalador automático de clústeres a medida que el clúster de Kubernetes aumenta en número de pods y nodos. A medida que se alcanzan los límites de escalabilidad, el rendimiento y la funcionalidad del escalador automático de clústeres se degradan. A medida que el escalador automático de clústeres supere sus límites de escalabilidad, ya no podrá añadir ni eliminar nodos del clúster.
El rendimiento se refiere a la rapidez con la que el escalador automático de clústeres puede tomar y ejecutar decisiones de escalado. Un escalador automático de clústeres que funcione perfectamente tomaría una decisión al instante y activaría una acción de escalado en respuesta a estímulos, como la imposibilidad de programar un módulo.
La disponibilidad significa que los módulos se pueden programar rápidamente y sin interrupciones. Esto incluye cuándo es necesario programar los pods recién creados y cuándo un nodo reducido cierra los pods restantes programados para él.
El costo viene determinado por la decisión que hay detrás de la ampliación y la escalabilidad en función de los eventos. Los recursos se desperdician si un nodo existente está infrautilizado o si se agrega un nodo nuevo que es demasiado grande para los pods entrantes. Según el caso de uso, la cancelación prematura de los módulos puede conllevar costes debido a una decisión agresiva de reducción.
Los grupos de nodos son un concepto abstracto de Kubernetes para un grupo de nodos dentro de un clúster. No es un verdadero recurso de Kubernetes, sino que existe como una abstracción en el escalador automático de clústeres, la API de clústeres y otros componentes. Los nodos de un grupo de nodos comparten propiedades, como etiquetas y defectos, pero pueden constar de varias zonas de disponibilidad o tipos de instancias.
EC2 Los grupos de Auto Scaling se pueden utilizar como una implementación de los grupos de nodos en EC2. EC2 Los grupos de Auto Scaling están configurados para lanzar instancias que se unen automáticamente a sus clústeres de Kubernetes y aplican etiquetas y contaminantes a su recurso de nodo correspondiente en la API de Kubernetes.
EC2 Los grupos de nodos gestionados son otra implementación de los grupos de nodos. EC2 Eliminan la complejidad al configurar manualmente los grupos de EC2 escalado automático y proporcionan funciones de administración adicionales, como la actualización de la versión de los nodos y la terminación sencilla de los nodos.
Uso del escalador automático de clústeres
Normalmente, el Cluster Autoscaler se instala como una Implementación
Asegúrese de que:
-
La versión del escalador automático del clúster coincide con la versión del clúster. La compatibilidad entre versiones no está probada ni admitida
. -
La detección automática
está habilitada, a menos que haya casos de uso avanzados específicos que impidan el uso de este modo.
Emplee el acceso menos privilegiado a la función de IAM
Cuando utilice el Auto Discoveryautoscaling:SetDesiredCapacity
y autoscaling:TerminateInstanceInAutoScalingGroup
los grupos de Auto Scaling que están dentro del clúster actual.
Esto evitará que un escalador automático de clústeres que se ejecute en un clúster modifique los grupos de nodos de otro clúster, incluso si el --node-group-auto-discovery
argumento no se ha limitado a los grupos de nodos del clúster mediante etiquetas (por ejemplo). k8s.io/cluster-autoscaler/<cluster-name>
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"autoscaling:SetDesiredCapacity",
"autoscaling:TerminateInstanceInAutoScalingGroup"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/k8s.io/cluster-autoscaler/enabled": "true",
"aws:ResourceTag/k8s.io/cluster-autoscaler/<my-cluster>": "owned"
}
}
},
{
"Effect": "Allow",
"Action": [
"autoscaling:DescribeAutoScalingGroups",
"autoscaling:DescribeAutoScalingInstances",
"autoscaling:DescribeLaunchConfigurations",
"autoscaling:DescribeScalingActivities",
"autoscaling:DescribeTags",
"ec2:DescribeImages",
"ec2:DescribeInstanceTypes",
"ec2:DescribeLaunchTemplateVersions",
"ec2:GetInstanceTypesFromInstanceRequirements",
"eks:DescribeNodegroup"
],
"Resource": "*"
}
]
}
Configuración de los grupos de nodos
Un escalado automático eficaz comienza con la configuración correcta de un conjunto de grupos de nodos para el clúster. Seleccionar el conjunto correcto de grupos de nodos es clave para maximizar la disponibilidad y reducir los costes de las cargas de trabajo. AWS implementa grupos de nodos mediante grupos de EC2 Auto Scaling, que son flexibles para un gran número de casos de uso. Sin embargo, el escalador automático de clústeres hace algunas suposiciones sobre los grupos de nodos. Mantener la coherencia de las configuraciones de EC2 Auto Scaling Group con estas suposiciones minimizará el comportamiento no deseado.
Asegúrese de que:
-
Cada nodo de un grupo de nodos tiene propiedades de programación idénticas, como etiquetas, manchas y recursos.
-
Por MixedInstancePolicies lo tanto, los tipos de instancia deben tener la misma forma para la CPU, la memoria y la GPU
-
El primer tipo de instancia especificado en la política se utilizará para simular la programación.
-
Si su política tiene tipos de instancias adicionales con más recursos, es posible que los recursos se desperdicien después de ampliarlos.
-
Si su política tiene tipos de instancias adicionales con menos recursos, es posible que los pods no puedan programar las instancias.
-
-
Se prefieren los grupos de nodos con muchos nodos a los grupos de nodos con menos nodos. Esto tendrá el mayor impacto en la escalabilidad.
-
Siempre que sea posible, prefiera EC2 las funciones cuando ambos sistemas sean compatibles (por ejemplo, MixedInstancePolicy las regiones)
Nota: Recomendamos utilizar grupos de nodos gestionados por EKS. Los grupos de nodos gestionados vienen con potentes funciones de administración, que incluyen funciones para Cluster AutoScaler, como la detección automática de grupos de EC2 Auto Scaling y la elegante terminación de nodos.
Optimización del rendimiento y la escalabilidad
Los principales requisitos para ajustar la escalabilidad del escalador automático de clústeres son los recursos que se proporcionan al proceso, el intervalo de escaneo del algoritmo y el número de grupos de nodos del clúster. Hay otros factores que intervienen en la verdadera complejidad del tiempo de ejecución de este algoritmo, como la complejidad de los complementos de programación y el número de pods. Se consideran parámetros no configurables, ya que son inherentes a la carga de trabajo del clúster y no se pueden ajustar fácilmente.
El escalador automático de clústeres carga todo el estado del clúster en la memoria, incluidos los pods, los nodos y los grupos de nodos. En cada intervalo de escaneo, el algoritmo identifica los módulos no programables y simula la programación para cada grupo de nodos. El ajuste de estos factores conlleva diferentes ventajas y desventajas que se deben considerar cuidadosamente para cada caso de uso.
Escalado automático vertical del escalador automático del clúster
La forma más sencilla de escalar el escalador automático de clústeres a clústeres más grandes es aumentar las solicitudes de recursos para su implementación. Tanto la memoria como la CPU deben aumentarse para los clústeres grandes, aunque esto varía considerablemente según el tamaño del clúster. El algoritmo de escalado automático almacena todos los pods y nodos en la memoria, lo que puede provocar un consumo de memoria superior a un gigabyte en algunos casos. Por lo general, el aumento de los recursos se realiza de forma manual. Si considera que el ajuste constante de los recursos está creando una carga operativa, considere la posibilidad de utilizar el Addon Resizer
Reducir el número de grupos de nodos
Minimizar la cantidad de grupos de nodos es una forma de garantizar que el escalador automático de clústeres siga funcionando bien en clústeres grandes. Esto puede resultar difícil para algunas organizaciones que estructuran sus grupos de nodos por equipo o por aplicación. Si bien esto es totalmente compatible con la API de Kubernetes, se considera que va en contra del patrón del escalador automático de clústeres, lo que repercute en la escalabilidad. Existen muchas razones para usar varios grupos de nodos (por ejemplo, Spot o GPUs), pero en muchos casos existen diseños alternativos que logran el mismo efecto y utilizan un número reducido de grupos.
Asegúrese de que:
-
El aislamiento de los pods se realiza mediante espacios de nombres en lugar de grupos de nodos.
-
Es posible que esto no sea posible en clústeres multiusuario de baja confianza.
-
El pod ResourceRequests y el pod ResourceLimits están configurados correctamente para evitar la contención de recursos.
-
Los tipos de instancias más grandes darán como resultado un empaquetado de contenedores más óptimo y reducirán la sobrecarga de los módulos del sistema.
-
-
NodeTaints o se NodeSelectors utilizan para programar los pods como excepción, no como regla.
-
Los recursos regionales se definen como un único grupo de EC2 Auto Scaling con múltiples zonas de disponibilidad.
Reducir el intervalo de escaneo
Un intervalo de escaneo bajo (por ejemplo, 10 segundos) garantizará que el escalador automático del clúster responda lo más rápido posible cuando los módulos no se puedan programar. Sin embargo, cada escaneo genera muchas llamadas de API a la API de Kubernetes y a EC2 Auto Scaling Group o EKS Managed Node Group. APIs Estas llamadas a la API pueden provocar una limitación de la velocidad o incluso la falta de disponibilidad del servicio para su plano de control de Kubernetes.
El intervalo de escaneo predeterminado es de 10 segundos, pero en AWS, el lanzamiento de un nodo tarda mucho más en lanzar una nueva instancia. Esto significa que es posible aumentar el intervalo sin aumentar significativamente el tiempo de escalado vertical general. Por ejemplo, si se tarda 2 minutos en lanzar un nodo, si se cambia el intervalo a 1 minuto, se compensará con una reducción de 6 veces en las llamadas a la API y con ampliaciones un 38% más lentas.
Fragmentación entre grupos de nodos
El escalador automático de clústeres se puede configurar para que funcione en un conjunto específico de grupos de nodos. Con esta funcionalidad, es posible implementar varias instancias del escalador automático de clústeres, cada una configurada para funcionar en un conjunto diferente de grupos de nodos. Esta estrategia le permite utilizar un número arbitrario de grupos de nodos, lo que supone un coste menor que el de la escalabilidad. Solo recomendamos usar esto como último recurso para mejorar el rendimiento.
El escalador automático de clústeres no se diseñó originalmente para esta configuración, por lo que tiene algunos efectos secundarios. Como los fragmentos no se comunican, es posible que varios escaladores automáticos intenten programar un pod no programable. Esto puede provocar una ampliación innecesaria de varios grupos de nodos. Estos nodos adicionales volverán a reducirse después descale-down-delay
.
metadata:
name: cluster-autoscaler
namespace: cluster-autoscaler-1
...
--nodes=1:10:k8s-worker-asg-1
--nodes=1:10:k8s-worker-asg-2
---
metadata:
name: cluster-autoscaler
namespace: cluster-autoscaler-2
...
--nodes=1:10:k8s-worker-asg-3
--nodes=1:10:k8s-worker-asg-4
Asegúrese de que:
-
Cada fragmento está configurado para apuntar a un conjunto único de grupos de EC2 Auto Scaling
-
Cada fragmento se despliega en un espacio de nombres diferente para evitar conflictos en las elecciones de los líderes
Optimización del costo y la disponibilidad
Spot Instances
Puede utilizar las instancias puntuales en sus grupos de nodos y ahorrar hasta un 90% con respecto al precio bajo demanda, con la ventaja de que las instancias puntuales pueden interrumpirse en cualquier momento cuando EC2 necesite recuperar la capacidad. Se producirán errores de capacidad insuficiente cuando su grupo de EC2 Auto Scaling no pueda ampliarse debido a la falta de capacidad disponible. Aprovechar al máximo la diversidad mediante la selección de varias familias de instancias puede aumentar sus probabilidades de alcanzar la escala deseada al aprovechar muchos grupos de capacidad puntuales y reducir el impacto de las interrupciones de las instancias puntuales en la disponibilidad del clúster. Las políticas de instancias mixtas con instancias de spot son una excelente manera de aumentar la diversidad sin aumentar el número de grupos de nodos. Tenga en cuenta que, si necesita recursos garantizados, utilice instancias bajo demanda en lugar de instancias puntuales.
Es fundamental que todos los tipos de instancias tengan una capacidad de recursos similar al configurar políticas de instancias mixtas. El simulador de programación del escalador automático utiliza el primero InstanceType de. MixedInstancePolicy Si los siguientes tipos de instancias son más grandes, es posible que se desperdicien recursos después de ampliarlos. Si son más pequeños, es posible que los pods no se programen en las nuevas instancias debido a una capacidad insuficiente. Por ejemplo, todas las instancias M4, M5, M5a y M5n tienen cantidades similares de CPU y memoria y son excelentes candidatas para una. MixedInstancePolicy La herramienta de selección de EC2 instancias

Se recomienda aislar la capacidad bajo demanda y la puntual en grupos independientes de EC2 Auto Scaling. Es preferible utilizar esta opción en lugar de utilizar una estrategia de capacidad base, ya que las propiedades de programación son fundamentalmente diferentes. Como las instancias puntuales se interrumpen en cualquier momento (cuando es EC2 necesario recuperar la capacidad), los usuarios suelen contaminar sus nodos prevenibles, por lo que es necesario que el pod tolere explícitamente el comportamiento de prevención. Estas contaminaciones dan como resultado propiedades de programación diferentes para los nodos, por lo que deben separarse en varios grupos de EC2 Auto Scaling.
El escalador automático de clústeres tiene un concepto de expansores--expander=least-waste
es una buena opción de uso general por defecto y, si va a utilizar varios grupos de nodos para diversificar las instancias puntuales (tal y como se describe en la imagen anterior), podría ayudar a optimizar aún más los costes de los grupos de nodos al escalar el grupo, lo que sería mejor utilizar después de la actividad de escalado.
Priorizar un grupo de nodos o un ASG
También puede configurar el escalado automático basado en prioridades mediante el expansor de prioridad. --expander=priority
permite que su clúster priorice un grupo de nodos o un ASG y, si no puede escalarse por algún motivo, elegirá el siguiente grupo de nodos de la lista priorizada. Esto resulta útil en situaciones en las que, por ejemplo, quieres usar tipos de instancias P3 porque su GPU proporciona un rendimiento óptimo para tu carga de trabajo, pero como segunda opción también puedes usar tipos de instancias P2.
apiVersion: v1
kind: ConfigMap
metadata:
name: cluster-autoscaler-priority-expander
namespace: kube-system
data:
priorities: |-
10:
- .*p2-node-group.*
50:
- .*p3-node-group.*
Cluster AutoScaler intentará escalar el grupo EC2 Auto Scaling que coincida con el nombre p3-node-group. Si esta operación no se realiza correctamente--max-node-provision-time
, intentará escalar un grupo de EC2 Auto Scaling que coincida con el nombre p2-node-group. Este valor predeterminado es 15 minutos y se puede reducir para seleccionar un grupo de nodos con mayor capacidad de respuesta, aunque si el valor es demasiado bajo, puede provocar escalamientos innecesarios.
Sobreaprovisionamiento
El escalador automático de clústeres minimiza los costos al garantizar que los nodos solo se agreguen al clúster cuando sea necesario y se eliminen cuando no se utilicen. Esto afecta considerablemente a la latencia de implementación, ya que muchos pods se ven obligados a esperar a que el nodo se amplíe antes de poder programarlos. Los nodos pueden tardar varios minutos en estar disponibles, lo que puede aumentar la latencia de programación de pods en un orden de magnitud.
Esto se puede mitigar al utilizar el sobreaprovisionamiento
El sobreaprovisionamiento tiene otras ventajas menos obvias. Sin el sobreaprovisionamiento, uno de los efectos secundarios de un clúster muy utilizado es que los pods tomarán decisiones de programación menos óptimas si se sigue la preferredDuringSchedulingIgnoredDuringExecution
regla de afinidad entre los nodos y los nodos. Un caso de uso común es separar los pods para una aplicación de alta disponibilidad en las distintas zonas de disponibilidad. AntiAffinity El sobreaprovisionamiento puede aumentar considerablemente las probabilidades de que un nodo de la zona correcta esté disponible.
La cantidad de capacidad sobreaprovisionada es una decisión empresarial cuidadosa para su organización. En esencia, se trata de una compensación entre rendimiento y coste. Una forma de tomar esta decisión consiste en determinar la frecuencia media de ampliación y dividirla entre el tiempo que se tarda en escalar un nodo nuevo. Por ejemplo, si en promedio se necesita un nodo nuevo cada 30 segundos y EC2 se tarda 30 segundos en aprovisionar un nodo nuevo, un solo nodo de sobreaprovisionamiento garantizará que siempre haya un nodo adicional disponible, lo que reducirá la latencia de programación en 30 segundos a costa de una sola instancia adicional EC2 . Para mejorar las decisiones de programación zonal, aprovisione en exceso un número de nodos igual al número de zonas de disponibilidad de su grupo de EC2 Auto Scaling para garantizar que el planificador pueda seleccionar la mejor zona para los pods entrantes.
Evite los desalojos a escala reducida
Algunas cargas de trabajo son costosas de expulsar. El análisis de macrodatos, las tareas de aprendizaje automático y las pruebas se completarán con el tiempo, pero deberán reiniciarse si se interrumpen. El escalador automático de clústeres intentará reducir la escala de cualquier nodo situado debajo del nodo scale-down-utilization-threshold, lo que interrumpirá los pods que queden en el nodo. Esto se puede evitar asegurándose de que los pods cuyo desalojo resulta caro estén protegidos por una etiqueta reconocida por el escalador automático de clústeres.
Asegúrese de que:
-
Los módulos caros de desalojar tienen la anotación
cluster-autoscaler.kubernetes.io/safe-to-evict=false
Casos de uso avanzados
Volúmenes de EBS
El almacenamiento persistente es fundamental para crear aplicaciones con estado, como bases de datos o cachés distribuidas. Los volúmenes de EBS
Asegúrese de que:
-
El equilibrio del grupo de nodos se habilita al establecer
balance-similar-node-groups=true
. -
Los grupos de nodos se configuran con los mismos ajustes, excepto en el caso de zonas de disponibilidad y volúmenes de EBS diferentes.
Programación conjunta
Los trabajos de entrenamiento distribuidos de machine learning se benefician significativamente de la latencia minimizada de las configuraciones de nodos de la misma zona. Estas cargas de trabajo implementan varios módulos en una zona específica. Esto se puede lograr configurando la afinidad de los pods para todos los pods coprogramados o bien utilizando la afinidad de nodos. topologyKey: failure-domain.beta.kubernetes.io/zone
A continuación, el escalador automático de clústeres ampliará una zona específica para adaptarla a las demandas. Es posible que desee asignar varios grupos de EC2 Auto Scaling, uno por zona de disponibilidad, para permitir la conmutación por error para toda la carga de trabajo coprogramada.
Asegúrese de que:
-
El equilibrio del grupo de nodos se habilita al establecer
balance-similar-node-groups=false
-
La afinidad de nodos
o la preferencia de nodos se utilizan cuando los clústeres incluyen grupos de nodos regionales y zonales. -
Usa la afinidad de nodos
para forzar o fomentar que los grupos regionales eviten los grupos de nodos zonales y viceversa. -
Si los pods zonales se programan en grupos de nodos regionales, esto provocará un desequilibrio en la capacidad de los pods regionales.
-
Si tus cargas de trabajo zonales toleran las interrupciones y la reubicación, configura Pod Preemption
para permitir que los grupos a escala regional impongan la prevención y la reprogramación en una zona menos concurrida.
-
Aceleradores
Algunos clústeres utilizan aceleradores de hardware especializados, como la GPU. Al ampliarse, el complemento del dispositivo acelerador puede tardar varios minutos en anunciar el recurso en el clúster. El escalador automático del clúster ha simulado que este nodo tendrá el acelerador, pero hasta que el acelerador esté listo y actualice los recursos disponibles en el nodo, no se podrán programar los módulos pendientes en el nodo. Esto puede generar un escalado horizontal innecesario repetidas veces
Además, no se considerará la posibilidad de reducir la capacidad de los nodos con aceleradores y un alto uso de la CPU o la memoria, incluso si el acelerador no se utiliza. Este comportamiento puede resultar caro debido al coste relativo de los aceleradores. En cambio, el escalador automático de clústeres puede aplicar reglas especiales para considerar la posibilidad de reducir la escala de los nodos si tienen aceleradores desocupados.
Para garantizar el comportamiento correcto en estos casos, puedes configurar el kubelet de los nodos del acelerador para etiquetar el nodo antes de que se una al clúster. El escalador automático de clústeres utilizará este selector de etiquetas para activar el comportamiento optimizado del acelerador.
Asegúrese de que:
-
El Kubelet para nodos de GPU está configurado con
--node-labels k8s.amazonaws.com/accelerator=$ACCELERATOR_TYPE
-
Los nodos con aceleradores se rigen por la misma regla de propiedades de programación indicada anteriormente.
Escalando desde 0
El escalador automático de clústeres es capaz de escalar los grupos de nodos desde y hacia cero, lo que puede generar importantes ahorros de costos. Detecta los recursos de CPU, memoria y GPU de un grupo de Auto Scaling al inspeccionar lo InstanceType especificado en su LaunchConfiguration o LaunchTemplate. Algunos pods requieren recursos adicionales, como WindowsENI
o específicos, PrivateIPv4Address
NodeSelectors o Taints, que no se pueden detectar en el. LaunchConfiguration El Auto Scaler de clústeres puede tener en cuenta estos factores descubriéndolos a partir de las etiquetas del Grupo EC2 Auto Scaling. Por ejemplo:
Key: k8s.io/cluster-autoscaler/node-template/resources/$RESOURCE_NAME
Value: 5
Key: k8s.io/cluster-autoscaler/node-template/label/$LABEL_KEY
Value: $LABEL_VALUE
Key: k8s.io/cluster-autoscaler/node-template/taint/$TAINT_KEY
Value: NoSchedule
Nota: Tenga en cuenta que, al escalar a cero, su capacidad vuelve a estar disponible EC2 y es posible que no esté disponible en el futuro.
Parámetros adicionales
Existen muchas opciones de configuración que se pueden utilizar para ajustar el comportamiento y el rendimiento del Cluster Autoscaler. Encontrará una lista completa de parámetros en GitHub
Parámetro | Descripción | Predeterminado |
---|---|---|
intervalo de escaneo |
¿Con qué frecuencia se reevalúa el clúster para ampliarlo o reducirlo |
10 segundos |
max-empty-bulk-delete |
Número máximo de nodos vacíos que se pueden eliminar al mismo tiempo. |
10 |
scale-down-delay-after-añadir |
¿Cuánto tiempo después de la ampliación se reanuda la evaluación de la reducción |
10 minutos |
scale-down-delay-after-eliminar |
¿Cuánto tiempo después de la eliminación del nodo se reanuda la evaluación de escala reducida? El valor predeterminado es scan-interval |
intervalo de escaneo |
scale-down-delay-after-fallo |
¿Cuánto tiempo después del fracaso de la reducción se reanuda esa evaluación |
3 minutos |
scale-down-unneeded-time |
¿Cuánto tiempo debería no ser necesario un nodo antes de que sea apto para la reducción |
10 minutos |
scale-down-unready-time |
¿Cuánto tiempo debería no ser necesario un nodo que no esté preparado para ser apto para la reducción |
20 minutos |
scale-down-utilization-threshold |
Nivel de utilización del nodo, definido como la suma de los recursos solicitados dividida por la capacidad, por debajo del cual se puede considerar la posibilidad de reducir la escala de un nodo |
0,5 |
scale-down-non-empty-los candidatos cuentan |
Número máximo de nodos no vacíos considerados en una iteración como candidatos a ser reducidos con drenaje. Un valor más bajo significa una mejor capacidad de respuesta de la CA, pero es posible que la latencia de reducción sea más lenta. Un valor más alto puede afectar al rendimiento de la CA con clústeres grandes (cientos de nodos). Configúrelo en un valor no positivo para desactivar esta heurística; CA no limitará la cantidad de nodos que considera. » |
30 |
scale-down-candidates-pool-proporción |
Proporción de nodos que se consideran candidatos adicionales y no vacíos para la reducción cuando algunos candidatos de la iteración anterior ya no son válidos. Un valor más bajo significa una mejor capacidad de respuesta de CA, pero es posible que la latencia de reducción sea más lenta. Un valor más alto puede afectar al rendimiento de la CA con clústeres grandes (cientos de nodos). Si se establece en 1.0 para desactivar esta heurística, CA considerará todos los nodos como candidatos adicionales. |
0.1 |
scale-down-candidates-poolCuenta de -minutos |
Número mínimo de nodos que se consideran candidatos adicionales y no vacíos para la reducción cuando algunos candidatos de la iteración anterior ya no son válidos. Al calcular el tamaño del grupo para los candidatos adicionales, tomamos |
50 |
Recursos adicionales
Esta página contiene una lista de presentaciones y demostraciones de Cluster AutoScaler. Si quieres añadir una presentación o una demostración aquí, envía una solicitud de cambios.
Presentación/demostración | Presentadores |
---|---|
Escalado automático y optimización de costes en Kubernetes: de 0 a 100 |
Guy Templeton, Skyscanner y Jiaxin Shan, Amazon |
Maciek Pytel y Marcin Wielgus |