Solução de problemas de métricas do sistema


Esta página mostra como resolver problemas relacionados às métricas do sistema nos clusters do Google Kubernetes Engine (GKE).

Se precisar de mais ajuda, entre em contato com o Cloud Customer Care.

Confirmar se o agente de métricas tem memória suficiente

Na maioria dos casos, a alocação padrão de recursos para o agente de métricas do GKE é suficiente. No entanto, se o DaemonSet falhar repetidamente, verifique o motivo do encerramento com as seguintes instruções:

  1. Consiga os nomes dos pods do agente de métricas do GKE:

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

    Encontre o pod com o status CrashLoopBackOff.

    O resultado será assim:

    NAME                    READY STATUS           RESTARTS AGE
    gke-metrics-agent-5857x 0/1   CrashLoopBackOff 6        12m
    
  2. Descreva o pod com o status CrashLoopBackOff:

    kubectl describe pod POD_NAME -n kube-system
    

    Substitua o POD_NAME pelo nome do pod da etapa anterior.

    Se o motivo do encerramento do pod for OOMKilled, o agente vai precisar de mais memória.

    O resultado será assim:

      containerStatuses:
      ...
      lastState:
        terminated:
          ...
          exitCode: 1
          finishedAt: "2021-11-22T23:36:32Z"
          reason: OOMKilled
          startedAt: "2021-11-22T23:35:54Z"
    
  3. Adicionar um identificador de nó temporário ao nó com o agente de métricas com falha. É possível usar um identificador de nó permanente ou temporário. Recomendamos adicionar 20 MB a mais. Se o agente continuar falhando, execute novamente esse comando, substituindo o rótulo do nó por um que solicite uma quantidade maior de memória.

    Para atualizar um pool de nós com um identificador persistente, execute o seguinte comando:

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

    Substitua:

    • NODEPOOL_NAME: o nome do pool de nós.
    • CLUSTER_NAME: o nome do cluster existente.
    • ADDITIONAL_MEMORY_NODE_LABEL: um dos outros identificadores de nó de memória, use uma das seguintes opções:
      • Para adicionar 10 MB: cloud.google.com/gke-metrics-agent-scaling-level=10
      • Para adicionar 20 MB: cloud.google.com/gke-metrics-agent-scaling-level=20
      • Para adicionar 50 MB: cloud.google.com/gke-metrics-agent-scaling-level=50
      • Para adicionar 100 MB: cloud.google.com/gke-metrics-agent-scaling-level=100
      • Para adicionar 200 MB: cloud.google.com/gke-metrics-agent-scaling-level=200
      • Para adicionar 500 MB: cloud.google.com/gke-metrics-agent-scaling-level=500
    • COMPUTE_LOCATION: o local do Compute Engine do cluster.

    Como alternativa, adicione um rótulo de nó temporário que não seja mantido após um upgrade usando o seguinte comando:

    kubectl label node/NODE_NAME \
    ADDITIONAL_MEMORY_NODE_LABEL --overwrite
    

    Substitua:

    • NODE_NAME: o nome do nó do agente de métricas afetado.
    • ADDITIONAL_MEMORY_NODE_LABEL: um dos outros identificadores de nó de memória, use um dos valores do exemplo anterior.

A seguir

Se precisar de mais ajuda, entre em contato com o Cloud Customer Care.