CPU insuficiente

Síntoma

Cuando se inician, los pods de telemetría entran y salen del estado CrashLoopBackoff. Esto puede provocar brechas periódicas en tus métricas o gráficos a medida que se reinician los Pods. También es posible que veas discrepancias con los datos de Analytics, ya que faltan algunas secciones de datos.

Mensajes de error

Cuando uses kubectl para ver los estados de los Pods, verás uno o más Pods de métricas en el estado CrashLoopBackoff. Consulta el siguiente comando:

kubectl get pods -n APIGEE_NAMESPACE

Aquí, APIGEE_NAMESPACE es el espacio de nombres de Kubernetes para tus componentes de Apigee Hybrid. Para obtener más información, consulta Crea el espacio de nombres de Apigee.

Resultado de muestra

NAME                                                      READY   STATUS             RESTARTS   AGE
apigee-metrics-default-telemetry-proxy-1104-hvwoo-zlmlw   0/1     CrashLoopBackoff   10         10m
apigee-metrics-adapter-apigee-telemetry-1104-7fyff-tts65  0/1     CrashLoopBackoff   10         10m
apigee-metrics-default-telemetry-proxy-1104-hvwoo-zlmlw   0/1     FailedScheduling   0          12m

Pasos comunes de diagnóstico

  1. Verifica si hay problemas con los Pods de telemetría con el siguiente comando:
    kubectl -n apigee get event 

    Resultado de muestra

    LAST SEEN   TYPE      REASON           OBJECT                                                           MESSAGE
    53m         Normal    SuccessfulCreate job/apigee-cassandra-schema-val-jghunt-20250709-0820206-29251940 Created pod: apigee-cassandra-schema-val-jghunt-20250709-0820206-292519fkt7j
    53m         Normal    Completed        job/apigee-cassandra-schema-val-jghunt-20250709-0820206-29251940 Job completed
    43m         Normal    SuccessfulCreate job/apigee-cassandra-schema-val-jghunt-20250709-0820206-29251950 Created pod: apigee-cassandra-schema-val-jghunt-20250709-0820206-292519l87m8
    43m         Normal    Completed        job/apigee-cassandra-schema-val-jghunt-20250709-0820206-29251950 Job completed
    33m         Normal    SuccessfulCreate job/apigee-cassandra-schema-val-jghunt-20250709-0820206-29251960 Created pod: apigee-cassandra-schema-val-jghunt-20250709-0820206-29251962ncc
        
  2. También puedes verificar los eventos de los Pods de telemetría con un estado CrashLoopBackOff con el siguiente comando:
    kubectl -n apigee describe POD_NAME

    Donde POD_NAME es el nombre del Pod que se encuentra en estado CrashLoopBackOff.

    Resultado de muestra

     apigee-metrics-apigee-telemetry-app-1101-qc36n-dxzrv    
  3. También puedes verificar el estado de cpu de los pods con el siguiente comando:
    kubectl -n apigee get hpa | grep unknown

    Resultado de muestra

    apigee-metrics-apigee-telemetry-app-1101-qc36n-dxzrv   ReplicaSet/apigee-metrics-apigee-telemetry-app-1101-qc36n-dxzrv   /80%                                2         10        2          8h
     

Causas posibles

Causa Descripción Instrucciones de solución de problemas aplicables para
Faltan metrics.app.resources.requests.cpu y metrics.app.resources.limits.cpu Se debe especificar cpu en el archivo overrides.yaml. Apigee Hybrid

Causa

cpu no se menciona en el archivo overrides.yaml, por lo que cpu obtiene un valor indefinido.

Diagnóstico

Verifica tu archivo overrides.yaml para ver si ambos valores de cpu están definidos para metrics.app.resources.requests.cpu y metrics.app.resources.limits.cpu.

Solución

Si faltan parámetros de configuración de cpu en tu archivo overrides.yaml para las métricas, proporciona ambos valores de cpu en el archivo overrides.yaml.

  1. Agrega la siguiente configuración en la sección metrics de tu archivo overrides.yaml:

    metrics:
      app: # The apigee-prometheus-app container in the "app" pod
        resources:
          requests:
            memory: 512Mi # Default value: 512Mi
            cpu: 500m # Default value: 500m
          limits:
            memory: 2Gi # default: 1Gi
            cpu: 500m # Default value: 500m
      

  2. Aplica los cambios con el siguiente comando:
    helm upgrade ENV_RELEASE_NAME apigee-env/ \
    --install \
    --namespace APIGEE_NAMESPACE \
    --set env=ENV_NAME \
    -f OVERRIDES_FILE
    • Aquí, ENV_RELEASE_NAME es un nombre único que se usa para hacer un seguimiento de la instalación y la actualización del gráfico apigee-env. Si bien suele ser el mismo que el ENV_NAME, debe ser diferente si tu entorno tiene el mismo nombre que tu grupo de entornos. Por ejemplo, si ambos se llaman dev, usarías dev-env-release y dev-envgroup-release para distinguirlos.

    • Aquí, APIGEE_NAMESPACE es el espacio de nombres de Kubernetes para tus componentes de Apigee Hybrid. Para obtener más información, consulta Crea el espacio de nombres de Apigee.

    • Aquí, ENV_NAME es el nombre que usaste cuando creaste el entorno en la IU.

    • Aquí, OVERRIDES_FILE es el archivo overrides.yaml que se usa durante las actualizaciones o la instalación.

Para obtener más información, consulta Referencia de la propiedad de configuración.

Se debe recopilar información de diagnóstico

Si el problema persiste incluso después de seguir las instrucciones anteriores, recopila la siguiente información de diagnóstico y, luego, comunícate con Google Cloud Atención al cliente:

  1. El archivo overrides.yaml.
  2. Es el resultado de la secuencia de comandos Apigee hybrid must-gather.