Résoudre les problèmes liés aux métriques système


Cette page explique comment résoudre les problèmes liés aux métriques système sur vos clusters Google Kubernetes Engine (GKE).

Si vous avez besoin d'aide supplémentaire, contactez l'assistance Cloud Customer Care.

Vérifier que l'agent de métriques dispose de suffisamment de mémoire

Dans la plupart des cas, l'allocation de ressources par défaut à l'agent de métriques GKE est suffisante. Toutefois, si le DaemonSet plante de manière répétée, vous pouvez vérifier le motif de l'arrêt à l'aide des instructions suivantes :

  1. Obtenez les noms des pods de l'agent de métriques GKE :

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

    Recherchez le pod ayant l'état CrashLoopBackOff.

    Le résultat ressemble à ce qui suit :

    NAME                    READY STATUS           RESTARTS AGE
    gke-metrics-agent-5857x 0/1   CrashLoopBackOff 6        12m
    
  2. Décrivez le pod dont l'état est CrashLoopBackOff :

    kubectl describe pod POD_NAME -n kube-system
    

    Remplacez POD_NAME par le nom du pod obtenu à l'étape précédente.

    Si le motif de l'arrêt du pod est OOMKilled, l'agent a besoin de mémoire supplémentaire.

    Le résultat ressemble à ce qui suit :

      containerStatuses:
      ...
      lastState:
        terminated:
          ...
          exitCode: 1
          finishedAt: "2021-11-22T23:36:32Z"
          reason: OOMKilled
          startedAt: "2021-11-22T23:35:54Z"
    
  3. Ajoutez un libellé de nœud temporaire au nœud hébergeant l'agent de métriques défaillant. Vous pouvez utiliser un libellé de nœud persistant ou temporaire. Nous vous recommandons d'essayer d'ajouter 20 Mo supplémentaires. Si l'agent continue de planter, vous pouvez exécuter à nouveau cette commande en remplaçant le libellé de nœud par un libellé qui demande une plus grande quantité de mémoire supplémentaire.

    Pour créer un pool de nœuds avec un libellé persistant, exécutez la commande suivante :

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

    Remplacez les éléments suivants :

    • NODEPOOL_NAME : nom du pool de nœuds.
    • CLUSTER_NAME : nom du cluster existant.
    • ADDITIONAL_MEMORY_NODE_LABEL : un des libellés de nœud de mémoire supplémentaires ; utilisez l'une des options suivantes :
      • Pour ajouter 10 Mo : cloud.google.com/gke-metrics-agent-scaling-level=10
      • Pour ajouter 20 Mo : cloud.google.com/gke-metrics-agent-scaling-level=20
      • Pour ajouter 50 Mo : cloud.google.com/gke-metrics-agent-scaling-level=50
      • Pour ajouter 100 Mo : cloud.google.com/gke-metrics-agent-scaling-level=100
      • Pour ajouter 200 Mo : cloud.google.com/gke-metrics-agent-scaling-level=200
      • Pour ajouter 500 Mo : cloud.google.com/gke-metrics-agent-scaling-level=500
    • COMPUTE_LOCATION : emplacement Compute Engine du cluster.

    Vous pouvez également ajouter un libellé de nœud temporaire qui ne persistera pas après la mise à niveau à l'aide de la commande suivante :

    kubectl label node/NODE_NAME \
    ADDITIONAL_MEMORY_NODE_LABEL --overwrite
    

    Remplacez les éléments suivants :

    • NODE_NAME : nom du nœud de l'agent de métriques concerné.
    • ADDITIONAL_MEMORY_NODE_LABEL : un des libellés de nœud de mémoire supplémentaires ; utilisez l'une des valeurs de l'exemple précédent.

Étapes suivantes

Si vous avez besoin d'une aide supplémentaire, contactez Cloud Customer Care.