Unzureichende CPU

Symptom

Beim Start wechseln die Telemetrie-Pods in den Status CrashLoopBackoff und wieder zurück. Dies kann zu regelmäßigen Lücken in Ihren Messwerten oder Diagrammen führen, wenn die Pods neu gestartet werden. Außerdem kann es zu Abweichungen bei den Analysedaten kommen, da einige Datenabschnitte fehlen.

Fehlermeldungen

Wenn Sie den Pod-Status mit kubectl aufrufen, sehen Sie einen oder mehrere Messwert-Pods im Status CrashLoopBackoff. Verwenden Sie den folgenden Befehl:

kubectl get pods -n APIGEE_NAMESPACE

Dabei ist APIGEE_NAMESPACE der Kubernetes-Namespace für Ihre Apigee Hybrid-Komponenten. Weitere Informationen finden Sie unter Apigee-Namespace erstellen.

Beispielausgabe

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

Allgemeine Diagnoseschritte

  1. Prüfen Sie die Ereignisse mit dem folgenden Befehl auf Probleme mit Telemetrie-Pods:
    kubectl -n apigee get event 

    Beispielausgabe

    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. Mit dem folgenden Befehl können Sie auch die Ereignisse von Telemetrie-Pods mit dem Status CrashLoopBackOff prüfen:
    kubectl -n apigee describe POD_NAME

    Dabei ist POD_NAME der Name des Pods, der sich im Status CrashLoopBackOff befindet.

    Beispielausgabe

     apigee-metrics-apigee-telemetry-app-1101-qc36n-dxzrv    
  3. Sie können den cpu-Status der Pods auch mit dem folgenden Befehl prüfen:
    kubectl -n apigee get hpa | grep unknown

    Beispielausgabe

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

Mögliche Ursachen

Ursache Beschreibung Anleitungen zur Fehlerbehebung gelten für
metrics.app.resources.requests.cpu und metrics.app.resources.limits.cpu fehlen Die cpu muss in der Datei overrides.yaml angegeben werden. Apigee Hybrid

Ursache

cpu wird in der Datei overrides.yaml nicht erwähnt, daher erhält cpu einen nicht definierten Wert.

Diagnose

Prüfen Sie in der Datei overrides.yaml, ob beide cpu-Werte für metrics.app.resources.requests.cpu und metrics.app.resources.limits.cpu definiert sind.

Lösung

Wenn in der Datei overrides.yaml für Messwerte die Einstellungen für cpu fehlen, geben Sie beide cpu-Werte in der Datei overrides.yaml an.

  1. Fügen Sie der Datei overrides.yaml im Abschnitt metrics die folgende Konfiguration hinzu:

    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. Wenden Sie die Änderungen mit dem folgenden Befehl an:
    helm upgrade ENV_RELEASE_NAME apigee-env/ \
    --install \
    --namespace APIGEE_NAMESPACE \
    --set env=ENV_NAME \
    -f OVERRIDES_FILE
    • Dabei ist ENV_RELEASE_NAME ein eindeutiger Name, der zum Verfolgen der Installation und des Upgrades des apigee-env-Diagramms verwendet wird. In der Regel ist er mit dem ENV_NAME identisch. Er muss sich jedoch unterscheiden, wenn Ihre Umgebung denselben Namen wie Ihre Umgebungsgruppe hat. Wenn beide beispielsweise dev heißen, verwenden Sie dev-env-release und dev-envgroup-release, um sie zu unterscheiden.

    • Dabei ist APIGEE_NAMESPACE der Kubernetes-Namespace für Ihre Apigee Hybrid-Komponenten. Weitere Informationen finden Sie unter Apigee-Namespace erstellen.

    • Dabei ist ENV_NAME der Name, den Sie beim Erstellen der Umgebung in der Benutzeroberfläche verwendet haben.

    • Dabei ist OVERRIDES_FILE die overrides.yaml-Datei, die während Upgrades oder der Installation verwendet wird.

Weitere Informationen finden Sie unter Referenz zu Konfigurationsattributen.

Erfassen von Diagnoseinformationen erforderlich

Wenn das Problem auch nach Befolgen der obigen Anweisungen weiterhin besteht, sammeln Sie die folgenden Diagnoseinformationen und wenden Sie sich dann an den Google Cloud Kundendienst:

  1. Die Datei overrides.yaml.
  2. Die Ausgabe des Scripts Von Apigee Hybrid zu erfassende Daten.