Escalar automáticamente indexadores y compactadores

Este producto no es compatible con el sitio Datadog seleccionado. ().

Descripción general

El chart de Helm datadog/cloudprem crea Horizontal Pod Autoscalers (HPAs) para los indexadores y compactadores independientes de BYOC (Bring Your Own Cloud) Logs cuando usted los habilita. Los HPA están deshabilitados de forma predeterminada y cada componente se configura de forma independiente.

Antes de comenzar

Antes de habilitar el escalado automático, usted necesita:

  • Una implementación de BYOC Logs instalada con el chart de Helm datadog/cloudprem.
  • Versión del chart 0.4.6 o posterior para el escalado automático del compactador independiente.
  • Kubernetes Metrics Server, u otra implementación de API de métricas, instalada en el clúster.
  • Suficiente capacidad de nodos para el número máximo de pods de indexador y compactador.
  • Solicitudes de CPU configuradas para las cargas de trabajo con escalado automático.

Los cálculos de HPA basados en CPU utilizan la solicitud de CPU del pod. Los indexadores obtienen las solicitudes de CPU de indexer.podSize o indexer.resources.requests.cpu. Para los compactadores independientes, configure compactor.resources.requests.cpu.

Habilitar el escalado automático del indexador

Para habilitar el HPA del indexador, establezca indexer.autoscaling.enabled en true:

indexer:
  autoscaling:
    enabled: true

Cuando habilita el escalado automático del indexador, el HPA controla el número de pods del indexador e ignora indexer.replicaCount.

Configuración predeterminada del HPA del indexador:

ConfiguraciónPredeterminadoDescripción
indexer.autoscaling.minReplicas2Número mínimo de pods del indexador
indexer.autoscaling.maxReplicas10Número máximo de pods del indexador
Objetivo de CPU70%Objetivo de utilización promedio de CPU en los pods del indexador

Habilitar el escalado automático del compactador

Para habilitar el HPA del compactador, habilite los compactadores independientes y establezca compactor.autoscaling.enabled en true:

enableStandaloneCompactors: true

compactor:
  autoscaling:
    enabled: true

El chart crea el HPA del compactador solo cuando establece enableStandaloneCompactors y compactor.autoscaling.enabled en true. Cuando habilita el escalado automático del compactador, el HPA controla el número de pods del compactador e ignora compactor.replicaCount.

Configuración predeterminada del HPA del compactador:

ConfiguraciónPredeterminadoDescripción
compactor.autoscaling.minReplicas1Número mínimo de pods del compactador
compactor.autoscaling.maxReplicas10Número máximo de pods del compactador
Objetivo de CPU80%Objetivo de utilización promedio de CPU en los pods del compactador

Anular los valores predeterminados

Establezca minReplicas y maxReplicas junto con enabled para dimensionar el rango de escalado para su carga de trabajo. Utilice la guía Dimensionamiento del clúster para elegir un máximo que admita la capacidad de su nodo:

indexer:
  autoscaling:
    enabled: true
    minReplicas: 4
    maxReplicas: 20

Aplique la configuración

Agregue los valores de escalado automático a su archivo de valores de BYOC Logs y, a continuación, actualice su versión:

helm upgrade <RELEASE_NAME> datadog/cloudprem \
  --namespace <NAMESPACE_NAME> \
  --values datadog-values.yaml

Verifique los HPA

Liste los HPA en el espacio de nombres de BYOC Logs:

kubectl get hpa -n <NAMESPACE_NAME>

Describa un HPA para verificar las métricas y los eventos de escalado recientes:

kubectl describe hpa <RELEASE_NAME>-indexer -n <NAMESPACE_NAME>
kubectl describe hpa <RELEASE_NAME>-compactor -n <NAMESPACE_NAME>

<RELEASE_NAME>-indexer y <RELEASE_NAME>-compactor son los nombres de HPA predeterminados creados por el chart. Si configuró nameOverride o fullnameOverride, utilice los nombres resultantes en su lugar.

Si kubectl get hpa muestra <unknown> en la columna TARGETS, el HPA no puede leer las métricas de CPU. Verifique que la API de métricas se esté ejecutando y que los pods de destino tengan solicitudes de CPU.

Lecturas adicionales