CPU insuficiente

Síntoma

Al iniciarse, los pods de telemetría entran y salen del estado CrashLoopBackoff. Esto puede provocar que haya lagunas periódicas en sus métricas o gráficos mientras se reinician los pods. También puede que observes discrepancias con los datos analíticos, ya que faltan algunas secciones de datos.

Mensajes de error

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

kubectl get pods -n APIGEE_NAMESPACE

Donde APIGEE_NAMESPACE es el espacio de nombres de Kubernetes de tus componentes de Apigee Hybrid. Para obtener más información, consulta Crear el espacio de nombres apigee.

Resultado de ejemplo

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 de diagnóstico habituales

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

    Resultado de ejemplo

    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 consultar los eventos de los pods de telemetría con el estado CrashLoopBackOff mediante el siguiente comando:
    kubectl -n apigee describe POD_NAME

    Donde POD_NAME es el nombre del pod que está en estado CrashLoopBackOff.

    Resultado de ejemplo

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

    Resultado de ejemplo

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

Posibles motivos

Causa Descripción Instrucciones para solucionar problemas aplicables a
Faltan metrics.app.resources.requests.cpu y metrics.app.resources.limits.cpu El cpu debe especificarse 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

Comprueba tu archivo overrides.yaml para ver si se han definido los valores de cpu para metrics.app.resources.requests.cpu y metrics.app.resources.limits.cpu.

Resolución

Si faltan ajustes de cpu en el archivo overrides.yaml de las métricas, proporcione ambos valores de cpu en el archivo overrides.yaml.

  1. Añade 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
    • Donde ENV_RELEASE_NAME es un nombre único que se usa para monitorizar la instalación y la actualización del gráfico apigee-env. Aunque 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.

    • Donde APIGEE_NAMESPACE es el espacio de nombres de Kubernetes de tus componentes de Apigee Hybrid. Para obtener más información, consulta Crear el espacio de nombres apigee.

    • Donde ENV_NAME es el nombre que usaste al crear el entorno en la interfaz de usuario.

    • Donde 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.

Debe recoger información de diagnóstico

Si el problema persiste incluso después de seguir las instrucciones anteriores, reúne la siguiente información de diagnóstico y ponte en contacto con el Google Cloud equipo de Asistencia:

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