CPU insufficiente

Sintomo

All'avvio, i pod di telemetria entrano ed escono dallo stato CrashLoopBackoff. Ciò può causare interruzioni periodiche nelle metriche o nei grafici durante il riavvio dei pod. Potresti anche notare discrepanze con i dati di analisi, poiché mancano alcune sezioni di dati.

Messaggi di errore

Quando utilizzi kubectl per visualizzare gli stati dei pod, vedrai uno o più pod di metriche nello stato CrashLoopBackoff. Fai riferimento al seguente comando:

kubectl get pods -n APIGEE_NAMESPACE

dove APIGEE_NAMESPACE è lo spazio dei nomi Kubernetes per i componenti Apigee hybrid. Per maggiori informazioni, vedi Creare lo spazio dei nomi apigee.

Esempio di output

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

Passaggi comuni di diagnostica

  1. Controlla gli eventi per i problemi relativi ai pod di telemetria con il seguente comando:
    kubectl -n apigee get event 

    Esempio di output

    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. Puoi anche controllare gli eventi dei pod di telemetria con stato CrashLoopBackOff utilizzando il seguente comando:
    kubectl -n apigee describe POD_NAME

    Dove POD_NAME è il nome del pod in stato CrashLoopBackOff.

    Esempio di output

     apigee-metrics-apigee-telemetry-app-1101-qc36n-dxzrv    
  3. Puoi anche controllare lo stato cpu dei pod con il seguente comando:
    kubectl -n apigee get hpa | grep unknown

    Esempio di output

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

Cause possibili

Causa Descrizione Istruzioni per la risoluzione dei problemi applicabili a
metrics.app.resources.requests.cpu e metrics.app.resources.limits.cpu sono mancanti cpu deve essere specificato nel file overrides.yaml. Apigee hybrid

Causa

cpu non è menzionato nel file overrides.yaml, pertanto cpu riceve un valore non definito.

Diagnosi

Controlla il file overrides.yaml per vedere se entrambi i valori cpu sono definiti per metrics.app.resources.requests.cpu e metrics.app.resources.limits.cpu.

Risoluzione

Se le impostazioni cpu non sono presenti nel file overrides.yaml per le metriche, fornisci entrambi i valori cpu nel file overrides.yaml.

  1. Aggiungi la seguente configurazione alla sezione metrics del file 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. Applica le modifiche utilizzando il comando seguente:
    helm upgrade ENV_RELEASE_NAME apigee-env/ \
    --install \
    --namespace APIGEE_NAMESPACE \
    --set env=ENV_NAME \
    -f OVERRIDES_FILE
    • Dove ENV_RELEASE_NAME è un nome univoco utilizzato per monitorare l'installazione e l'upgrade del grafico apigee-env. Anche se in genere è uguale a ENV_NAME, deve essere diverso se il tuo ambiente ha lo stesso nome del tuo gruppo di ambienti. Ad esempio, se entrambi si chiamano dev, utilizzerai dev-env-release e dev-envgroup-release per distinguerli.

    • dove APIGEE_NAMESPACE è lo spazio dei nomi Kubernetes per i componenti Apigee hybrid. Per maggiori informazioni, vedi Creare lo spazio dei nomi apigee.

    • dove ENV_NAME è il nome che hai utilizzato quando hai creato l'ambiente nell'interfaccia utente.

    • Dove OVERRIDES_FILE è il file overrides.yaml utilizzato durante gli upgrade o l'installazione.

Per saperne di più, consulta Riferimento per le proprietà di configurazione.

Deve raccogliere informazioni diagnostiche

Se il problema persiste anche dopo aver seguito le istruzioni riportate sopra, raccogli le seguenti informazioni diagnostiche e contatta l'assistenza clientiGoogle Cloud :

  1. Il file overrides.yaml.
  2. L'output dello script Apigee hybrid must-gather.