Fehlerbehebung bei Systemmesswerten


Auf dieser Seite wird beschrieben, wie Sie Probleme mit Systemmesswerten in Ihren Google Kubernetes Engine-Clustern (GKE) beheben können.

Wenn Sie weitere Unterstützung benötigen, wenden Sie sich an den Cloud Customer Care.

Prüfen, ob der Messwert-Agent über genügend Arbeitsspeicher verfügt

In den meisten Fällen ist die Standardzuweisung von Ressourcen an den GKE-Messwert-Agent ausreichend. Wenn das DaemonSet jedoch wiederholt abstürzt, können Sie den Grund für die Beendigung mit den folgenden Anweisungen prüfen:

  1. Rufen Sie die Namen der GKE-Messwert-Agent-Pods ab:

    kubectl get pods -n kube-system -l component=gke-metrics-agent
    

    Suchen Sie den Pod mit dem Status CrashLoopBackOff.

    Die Ausgabe sieht in etwa so aus:

    NAME                    READY STATUS           RESTARTS AGE
    gke-metrics-agent-5857x 0/1   CrashLoopBackOff 6        12m
    
  2. Beschreiben Sie den Pod mit dem Status CrashLoopBackOff:

    kubectl describe pod POD_NAME -n kube-system
    

    Ersetzen Sie POD_NAME durch den Namen des Pods aus dem vorherigen Schritt.

    Wenn der Beendigungsgrund des Pods OOMKilled lautet, benötigt der Agent zusätzlichen Speicher.

    Die Ausgabe sieht in etwa so aus:

      containerStatuses:
      ...
      lastState:
        terminated:
          ...
          exitCode: 1
          finishedAt: "2021-11-22T23:36:32Z"
          reason: OOMKilled
          startedAt: "2021-11-22T23:35:54Z"
    
  3. Fügen Sie dem Knoten mit dem fehlerhaften Messwert-Agent ein Knotenlabel hinzu. Sie können entweder ein persistentes oder ein temporäres Knotenlabel verwenden. Wir empfehlen Ihnen, weitere 20 MB hinzuzufügen. Wenn der Agent weiterhin abstürzt, können Sie diesen Befehl noch einmal ausführen. Ersetzen Sie dabei das Knotenlabel durch einen Knoten, der eine größere Menge an zusätzlichen Arbeitsspeicher anfordert.

    Führen Sie den folgenden Befehl aus, um einen Knotenpool mit einem nichtflüchtigen Label zu aktualisieren:

    gcloud container node-pools update NODEPOOL_NAME \
        --cluster=CLUSTER_NAME \
        --node-labels=ADDITIONAL_MEMORY_NODE_LABEL \
        --location=COMPUTE_LOCATION
    

    Ersetzen Sie dabei Folgendes:

    • NODEPOOL_NAME ist der Name des Knotenpools.
    • CLUSTER_NAME den Namen des vorhandenen Clusters.
    • ADDITIONAL_MEMORY_NODE_LABEL: eines der zusätzlichen Speicherknotenlabels. Verwenden Sie eine der folgenden Optionen:
      • So fügen Sie 10 MB hinzu: cloud.google.com/gke-metrics-agent-scaling-level=10
      • So fügen Sie 20 MB hinzu: cloud.google.com/gke-metrics-agent-scaling-level=20
      • So fügen Sie 50 MB hinzu: cloud.google.com/gke-metrics-agent-scaling-level=50
      • So fügen Sie 100 MB hinzu: cloud.google.com/gke-metrics-agent-scaling-level=100
      • So fügen Sie 200 MB hinzu: cloud.google.com/gke-metrics-agent-scaling-level=200
      • So fügen Sie 500 MB hinzu: cloud.google.com/gke-metrics-agent-scaling-level=500
    • COMPUTE_LOCATION: der Compute Engine-Standort des Clusters.

    Alternativ können Sie mit dem folgenden Befehl ein temporäres Knotenlabel hinzufügen, das nach einem Upgrade nicht beibehalten wird:

    kubectl label node/NODE_NAME \
    ADDITIONAL_MEMORY_NODE_LABEL --overwrite
    

    Ersetzen Sie dabei Folgendes:

    • NODE_NAME: der Name des Knotens des betroffenen Messwert-Agents.
    • ADDITIONAL_MEMORY_NODE_LABEL: eines der zusätzlichen Speicherknotenlabels. Verwenden Sie einen der Werte aus dem vorherigen Beispiel.

Nächste Schritte

Wenn Sie weitere Unterstützung benötigen, wenden Sie sich an den Cloud Customer Care.