Escala automática del cluster

Al activar el complemento de escala automática del cluster, puede transferir los siguientes pares clave/valor como argumentos.

Argumentos de configuración comunes a todos los complementos del cluster
Clave (API y CLI) Nombre mostrado de clave (consola) Descripción Necesario/Opcional Valor por defecto Valor de ejemplo
affinity afinidad

Grupo de reglas de programación de afinidad.

Formato JSON en texto sin formato o codificado con Base64.

Opcional nulo nulo
nodeSelectors selectores de nodos

Puede utilizar selectores de nodos y etiquetas de nodos para controlar los nodos de trabajador en los que se ejecutan los pods de complementos.

Para que un pod se ejecute en un nodo, el selector de nodos del pod debe tener la misma clave/valor que la etiqueta del nodo.

Defina nodeSelectors en un par clave/valor que coincida con el selector de nodos del pod y la etiqueta del nodo de trabajador.

Formato JSON en texto sin formato o codificado con Base64.

Opcional nulo {"foo":"bar", "foo2": "bar2"}

El pod solo se ejecutará en nodos que tengan la etiqueta foo=bar o foo2=bar2.

numOfReplicas numOfReplicas Número de réplicas del despliegue del complemento.

(En CoreDNS, utilice nodesPerReplica en su lugar).

Obligatorio 1

Crea una réplica del despliegue del complemento por cluster.

2

Crea dos réplicas del despliegue del complemento por cluster.

rollingUpdate rollingUpdate

Controla el comportamiento deseado de la actualización sucesiva mediante maxSurge y maxUnavailable.

Formato JSON en texto sin formato o codificado con Base64.

Opcional nulo nulo
tolerations tolerancias

Puede utilizar contaminantes y tolerancias para controlar los nodos de trabajador en los que se ejecutan los pods de complementos.

Para que un pod se ejecute en un nodo que tenga un tinte, el pod debe tener una tolerancia correspondiente.

Defina tolerations en un par clave/valor que coincida con la tolerancia del pod y el mantenimiento del nodo de trabajador.

Formato JSON en texto sin formato o codificado con Base64.

Opcional nulo [{"key":"tolerationKeyFoo", "value":"tolerationValBar", "effect":"noSchedule", "operator":"exists"}]

Solo los pods que tienen esta tolerancia se pueden ejecutar en nodos de trabajador que tengan el mantenimiento tolerationKeyFoo=tolerationValBar:noSchedule.

topologySpreadConstraints topologySpreadConstraints

Cómo difundir vainas coincidentes entre la topología dada.

Formato JSON en texto sin formato o codificado con Base64.

Opcional nulo nulo
Argumentos de configuración específicos de este complemento de cluster
Clave (API y CLI) Nombre mostrado de clave (consola) Descripción Necesario/Opcional Valor por defecto Valor de ejemplo
annotations anotaciones

Anotaciones para transferir al despliegue de la escala automática del cluster.

Por ejemplo, "{\"prometheus.io/scrape\":\"true\",\"prometheus.io/port\":\"8086\"}"

Formato JSON en texto sin formato o codificado con Base64.

Opcional ""
authType authType Tipo de autenticación que utiliza la escala automática del cluster al realizar solicitudes, como una de las siguientes:
  • instance especifica el principal de instancia
  • workload especifica la identidad de la carga de trabajo
Obligatorio instance
balanceSimilarNodeGroups balanceSimilarNodeGroups Detecte grupos de nodos similares y equilibre el número de nodos entre ellos. Opcional false
balancingIgnoreLabel balancingIgnoreLabel Defina una etiqueta de nodo que se debe ignorar al considerar la similitud de grupos de nodos. Una etiqueta por incidencia de indicador. El formato es label1, label2. Opcional ""
balancingLabel balancingLabel Defina una etiqueta de nodo que se utilizará al comparar la similitud de grupos de nodos. Si se establece, el resto de la lógica de comparación se desactiva y solo se tienen en cuenta las etiquetas al comparar grupos. Una etiqueta por incidencia de indicador. El formato es label1, label2. Opcional ""
cluster-autoscaler.ContainerResources recursos de contenedor de escala automática de cluster

Puede especificar las cantidades de recursos que solicitan los contenedores complementarios y establecer límites de uso de recursos que los contenedores complementarios no pueden superar.

Formato JSON en texto sin formato o codificado con Base64.

Opcional nulo {"limits": {"cpu": "500m", "memory": "200Mi" }, "requests": {"cpu": "100m", "memory": "100Mi"}}

Cree contenedores complementarios que soliciten 100 millicores de CPU y 100 mebibytes de memoria. Limite los contenedores complementarios a 500 millicores de CPU y 200 mebibytes de memoria.

cordonNodeBeforeTerminating (No se muestra en la consola) Debe acordonar los nodos de CA antes de terminar durante el proceso de escala descendente. Opcional false
coresTotal (No se muestra en la consola) Número mínimo y máximo de núcleos en el cluster, con el formato <min>:<max>. La escala automática del cluster no ampliará el cluster más allá de estos números. Opcional 0:320000
daemonsetEvictionForEmptyNodes (No se muestra en la consola) Si los pods DaemonSet se terminarán correctamente desde nodos vacíos. Opcional false
daemonsetEvictionForOccupiedNodes (No se muestra en la consola) Si los pods DaemonSet se terminarán correctamente desde nodos que no están vacíos. Opcional true
debuggingSnapshotEnabled (No se muestra en la consola) Si la instantánea de depuración de la función de escala automática del cluster está activada. Opcional false
emitPerNodegroupMetrics (No se muestra en la consola) Si es verdadero, emita métricas por grupo de nodos. Opcional false
enforceNodeGroupMinSize (No se muestra en la consola) Si es necesario, CA debe escalar verticalmente el grupo de nodos al tamaño mínimo configurado. Opcional false
estimator (No se muestra en la consola) Tipo de estimador de recursos que se utilizará en la escala vertical. Opcional binpacking
expander expansor Tipo de expansor de grupo de nodos que se utilizará en la ampliación.

Tenga en cuenta que expander=price no está soportado.

Opcional random
expendablePodsPriorityCutoff (No se muestra en la consola) Los pods con prioridad por debajo del corte serán prescindibles. Pueden ser asesinados sin ninguna consideración durante la reducción y no causan aumento. Los pod con prioridad nula (PodPriority desactivado) no son fungibles. Opcional -10
ignoreDaemonsetsUtilization (No se muestra en la consola) Si se ignorarán los pods DaemonSet al calcular el uso de recursos para la reducción vertical. Opcional false
ignoreMirrorPodsUtilization (No se muestra en la consola) Si los pods duplicados se ignorarán al calcular el uso de recursos para la reducción vertical. Opcional false
leaderElect (No se muestra en la consola) Iniciar un cliente de elección de líder y ganar liderazgo antes de ejecutar el bucle principal. Active esta opción al ejecutar componentes replicados para alta disponibilidad. Opcional true
leaderElectLeaseDuration (No se muestra en la consola) La duración que los candidatos que no son líderes esperarán después de observar una renovación de liderazgo hasta intentar adquirir el liderazgo de un líder liderado pero no renovado. Es la duración máxima que un líder puede detener antes de ser reemplazado por otro candidato. Esto solo es aplicable si la elección de líder está habilitada. Opcional 15s
leaderElectRenewDeadline (No se muestra en la consola) El intervalo entre los intentos de la escala automática del cluster activo para renovar una ranura de liderazgo antes de que deje de conducir. Debe ser menor o igual que la duración del leasing. Esto solo es aplicable si la elección de líder está habilitada. Opcional 10s
leaderElectResourceLock (No se muestra en la consola) Tipo de objeto de recurso que se utiliza para bloquear durante la elección de líder. Las opciones soportadas son leases (valor por defecto), endpoints, endpointsleases, configmaps y configmapsleases. Opcional leases
leaderElectRetryPeriod (No se muestra en la consola) La duración que los clientes deben esperar entre intentar la adquisición y la renovación de un liderazgo. Esto solo es aplicable si la elección de líder está habilitada. Opcional 2s
maxAutoprovisionedNodeGroupCount (No se muestra en la consola) Número máximo de grupos aprovisionados automáticamente en el cluster. Opcional 15
maxEmptyBulkDelete maxEmptyBulkDelete Número máximo de nodos vacíos que se pueden suprimir al mismo tiempo. Opcional 10
maxFailingTime (No se muestra en la consola) Tiempo máximo desde la última ejecución correcta de la escala automática registrada antes del reinicio automático. Opcional 15m
maxGracefulTerminationSec (No se muestra en la consola) Número máximo de segundos que la CA espera la terminación del pod al intentar reducir verticalmente un nodo. Opcional 600
maxInactivity (No se muestra en la consola) Tiempo máximo desde la última actividad de escala automática registrada antes del reinicio automático. Opcional 10m
maxNodeProvisionTime maxNodeProvisionTime Tiempo máximo que espera CA para que se aprovisione el nodo. Opcional 15m
maxNodesTotal (No se muestra en la consola) Número máximo de nodos en todos los pools de nodos. La escala automática del cluster no ampliará el cluster más allá de este número. Opcional 0
maxTotalUnreadyPercentage (No se muestra en la consola) Porcentaje máximo de nodos no listos en el cluster. Una vez que se supera, CA detiene las operaciones. Opcional 45
memoryTotal (No se muestra en la consola) Número mínimo y máximo de gigabytes de memoria en el cluster, con el formato <min>:<max>. La escala automática del cluster no ampliará el cluster más allá de estos números. Opcional 0:6400000
minReplicaCount (No se muestra en la consola) Número mínimo o réplicas que un juego de réplicas o un controlador de replicación deben tener para permitir la supresión de sus pods en la reducción vertical. Opcional 0
nodes nodos

Lista del número mínimo de nodos, el número máximo de nodos y el OCID del pool de nodos que va a gestionar la escala automática del cluster.

El formato es <min>:<max>:<node-pool1-ocid>, <min>:<max>:<node-pool2-ocid>.

Utilice nodes o nodeGroupAutoDiscovery, pero no ambos.

Formato JSON en texto sin formato o codificado con Base64.

Necesario, si nodeGroupAutoDiscovery no está definido ""
nodeGroupAutoDiscovery (No se muestra en la consola)

Lista de pares clave/valor de etiqueta, número mínimo de nodos, número máximo de nodos y el OCID del compartimento en el que se encuentra el pool de nodos que va a gestionar la escala automática del cluster.

El formato es compartmentId:<compartment-ocid>,nodepoolTags:<tagKey1>=<tagValue1>&<tagKey2>=<tagValue2>,min:<min-nodes>,max:<max-nodes>

Utilice nodeGroupAutoDiscovery o nodes, pero no ambos.

Compatible con la escala automática de cluster versión 1.30.3, versión 1.31.1, versión 1.32.0 y posteriores.

Formato JSON en texto sin formato o codificado con Base64.

Necesario, si no se ha definido nodes
okTotalUnreadyCount (No se muestra en la consola) Número de nodos no listos permitidos, independientemente de maxTotalUnreadyPercentage. Opcional 3
recordDuplicatedEvents (No se muestra en la consola) Active la escala automática para imprimir eventos duplicados en una ventana de 5 minutos. Opcional false
scaleDownCandidatesPoolMinCount (No se muestra en la consola)

Número mínimo de nodos que se consideran candidatos no vacíos adicionales para la reducción vertical cuando algunos candidatos de la iteración anterior ya no son válidos. Al calcular el tamaño del grupo para los candidatos adicionales que tomamos.

max(#nodes * scale-down-candidates-pool-ratio,
              scale-down-candidates-pool-min-count)
Obligatorio 50
scaleDownCandidatesPoolRatio (No se muestra en la consola) Ratio de nodos que se consideran candidatos no vacíos adicionales para la reducción vertical 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 una latencia de reducción vertical más lenta. Un valor más alto puede afectar al rendimiento de CA con clusters grandes (cientos de nodos). Establézcalo en 1.0 para desactivar esta heurística: CA tomará todos los nodos como candidatos adicionales. Obligatorio 0.1
scaleDownDelayAfterAdd scaleDownDelayAfterAdd Cuánto tiempo después de escalar verticalmente se reanuda la evaluación de reducción vertical. Obligatorio 10m
scaleDownDelayAfterDelete (No se muestra en la consola) Cuánto tiempo después de la supresión del nodo se reanuda la evaluación de reducción vertical, el valor por defecto es scan-interval (intervalo de exploración). Obligatorio 10s
scaleDownDelayAfterFailure (No se muestra en la consola) Cuánto tiempo después del fallo de reducción vertical se reanuda la evaluación de reducción vertical. Obligatorio 3m
scaleDownEnabled scaleDownEnabled ¿Debe CA reducir verticalmente el cluster? Opcional true
scaleDownNonEmptyCandidatesCount (No se muestra en la consola) Número máximo de nodos no vacíos considerados en una iteración como candidatos para la reducción con drenaje. Un valor más bajo significa una mejor capacidad de respuesta de CA, pero una latencia de reducción vertical más lenta. Un valor más alto puede afectar al rendimiento de CA con clusters grandes (cientos de nodos). Establézcalo en un valor no positivo para desactivar esta heurística: CA no limitará el número de nodos que considera. Obligatorio 30
scaleDownUnneededTime scaleDownUnneededTime Cuánto tiempo se debe dejar de necesitar un nodo antes de que sea elegible para la reducción vertical. Obligatorio 10m
scaleDownUnreadyTime (No se muestra en la consola) Cuánto tiempo se debe dejar de necesitar un nodo no preparado antes de que sea elegible para la reducción vertical. Obligatorio 20m
scaleDownUtilizationThreshold (No se muestra en la consola) Nivel de utilización de nodos, definido como la suma de los recursos solicitados dividida por la capacidad, por debajo de la cual se puede considerar la reducción vertical de un nodo. Obligatorio 0.5
scanInterval scanInterval Con qué frecuencia se vuelve a evaluar el cluster para escalar o reducir verticalmente. Opcional 10s
skipNodesWithCustomControllerPods (No se muestra en la consola) Si true, la escala automática del cluster nunca suprimirá nodos con pods propiedad de controladores personalizados. Opcional true
skipNodesWithLocalStorage (No se muestra en la consola) Si es true, la escala automática del cluster nunca suprimirá nodos con pods con almacenamiento local, por ejemplo, EmptyDir o HostPath. Opcional true
skipNodesWithSystemPods (No se muestra en la consola) Si es true, la escala automática del cluster nunca suprimirá nodos con pods de kube-system (excepto DaemonSet o pods de reflejo). Opcional true
statusConfigMapName (No se muestra en la consola) Nombre del estado ConfigMap que escribe CA. Opcional cluster-autoscaler-status
stderrthreshold (No se muestra en la consola) Umbral de gravedad de log, más allá del cual se envían los logs a stderr. Por ejemplo, si se define en error, todos los logs con una gravedad superior a error se envían a stderr. Opcional info
unremovableNodeRecheckTimeout unremovableNodeRecheckTimeout Timeout antes de volver a comprobar un nodo que no se pudo eliminar antes. Obligatorio 5m
v (No se muestra en la consola) El número para el nivel de detalle del registro. Opcional 0
writeStatusConfigmap (No se muestra en la consola) ¿Debe CA escribir información de estado en un mapa de configuración? Opcional true