Unzureichende CPU

Symptom

Beim Starten wechseln die Telemetrie-Pods in den Status CrashLoopBackoff und wieder heraus. Dies kann zu regelmäßigen Lücken in Ihren Messwerten oder Grafiken führen, wenn die Pods neu gestartet werden. Es kann auch zu Abweichungen bei Analysedaten kommen, da einige Datenbereiche 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 auf Probleme mit Telemetrie-Pods mit dem folgenden Befehl:
    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 undefinierten 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 cpu-Einstellungen für Messwerte fehlen, geben Sie beide cpu-Werte in der Datei overrides.yaml an.

  1. Fügen Sie der Datei overrides.yaml die folgende Konfiguration im Abschnitt metrics 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 Nachverfolgen der Installation und des Upgrades des apigee-env-Diagramms verwendet wird. Dieser ist in der Regel derselbe wie der ENV_NAME, muss sich jedoch unterscheiden, wenn Ihre Umgebung denselben Namen wie Ihre Umgebungsgruppe hat. Wenn beide beispielsweise den Namen dev haben, 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 Datei overrides.yaml, die während Upgrades oder der Installation verwendet wird.

Weitere Informationen finden Sie in der 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 -Kundenservice:

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