Risoluzione dei problemi relativi alle metriche di sistema


Questa pagina mostra come risolvere i problemi relativi alle metriche di sistema nei cluster Google Kubernetes Engine (GKE).

Se hai bisogno di ulteriore aiuto, contatta l'assistenza clienti Google Cloud.

Verifica che l'agente delle metriche abbia memoria sufficiente

Nella maggior parte dei casi, l'allocazione predefinita delle risorse all'agente delle metriche GKE è sufficiente. Tuttavia, se il DaemonSet si arresta ripetutamente in modo anomalo, puoi verificare il motivo dell'arresto seguendo le seguenti istruzioni:

  1. Ottieni i nomi dei pod dell'agente delle metriche GKE:

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

    Trova il pod con lo stato CrashLoopBackOff.

    L'output è simile al seguente:

    NAME                    READY STATUS           RESTARTS AGE
    gke-metrics-agent-5857x 0/1   CrashLoopBackOff 6        12m
    
  2. Descrivi il pod con lo stato CrashLoopBackOff:

    kubectl describe pod POD_NAME -n kube-system
    

    Sostituisci POD_NAME con il nome del pod del passaggio precedente.

    Se il motivo di terminazione del pod è OOMKilled, l'agente ha bisogno di memoria aggiuntiva.

    L'output è simile al seguente:

      containerStatuses:
      ...
      lastState:
        terminated:
          ...
          exitCode: 1
          finishedAt: "2021-11-22T23:36:32Z"
          reason: OOMKilled
          startedAt: "2021-11-22T23:35:54Z"
    
  3. Aggiungi un'etichetta al nodo con l'agente delle metriche con errori. Puoi utilizzare un'etichetta del nodo permanente o temporanea. Ti consigliamo di provare ad aggiungere altri 20 MB. Se l'agente continua ad arrestarsi in modo anomalo, puoi eseguire nuovamente questo comando, sostituendo l'etichetta del nodo con una che richiede una maggiore quantità di memoria aggiuntiva.

    Per aggiornare un pool di nodi con un'etichetta permanente, esegui questo comando:

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

    Sostituisci quanto segue:

    • NODEPOOL_NAME: il nome del pool di nodi.
    • CLUSTER_NAME: il nome del cluster esistente.
    • ADDITIONAL_MEMORY_NODE_LABEL: una delle etichette aggiuntive dei nodi di memoria; usa una delle seguenti:
      • Per aggiungere 10 MB: cloud.google.com/gke-metrics-agent-scaling-level=10
      • Per aggiungere 20 MB: cloud.google.com/gke-metrics-agent-scaling-level=20
      • Per aggiungere 50 MB: cloud.google.com/gke-metrics-agent-scaling-level=50
      • Per aggiungere 100 MB: cloud.google.com/gke-metrics-agent-scaling-level=100
      • Per aggiungere 200 MB: cloud.google.com/gke-metrics-agent-scaling-level=200
      • Per aggiungere 500 MB: cloud.google.com/gke-metrics-agent-scaling-level=500
    • COMPUTE_LOCATION: la località Compute Engine del cluster.

    In alternativa, puoi utilizzare il seguente comando per aggiungere un'etichetta temporanea del nodo che non rimarrà attiva dopo un upgrade:

    kubectl label node/NODE_NAME \
    ADDITIONAL_MEMORY_NODE_LABEL --overwrite
    

    Sostituisci quanto segue:

    • NODE_NAME: il nome del nodo dell'agente delle metriche interessato.
    • ADDITIONAL_MEMORY_NODE_LABEL: una delle etichette aggiuntive del nodo di memoria; utilizza uno dei valori dell'esempio precedente.

Passaggi successivi

Se hai bisogno di ulteriore aiuto, contatta l'assistenza clienti Google Cloud.