Soluciona problemas del sistema de métricas


En esta página, se muestra cómo resolver problemas relacionados con las métricas del sistema en tus clústeres de Google Kubernetes Engine (GKE).

Si necesitas asistencia adicional, comunícate con Atención al cliente de Cloud.

Confirma que el agente de métricas tenga suficiente memoria

En la mayoría de los casos, la asignación predeterminada de recursos al agente de métricas de GKE es suficiente. Sin embargo, si el DaemonSet falla de forma repetida, puedes verificar el motivo de la finalización con las siguientes instrucciones:

  1. Obtén los nombres de los Pods del agente de métricas de GKE:

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

    Busca el Pod con el estado CrashLoopBackOff.

    El resultado es similar a este:

    NAME                    READY STATUS           RESTARTS AGE
    gke-metrics-agent-5857x 0/1   CrashLoopBackOff 6        12m
    
  2. Describe el Pod que tiene el estado CrashLoopBackOff:

    kubectl describe pod POD_NAME -n kube-system
    

    Reemplaza POD_NAME por el nombre del Pod del paso anterior.

    Si el motivo de finalización del Pod es OOMKilled, el agente necesita memoria adicional.

    El resultado es similar a este:

      containerStatuses:
      ...
      lastState:
        terminated:
          ...
          exitCode: 1
          finishedAt: "2021-11-22T23:36:32Z"
          reason: OOMKilled
          startedAt: "2021-11-22T23:35:54Z"
    
  3. Agrega una etiqueta de nodo al nodo con el agente de métricas con errores. Puedes usar una etiqueta de nodo persistente o temporal. Te recomendamos que agregues 20 MB adicionales. Si el agente falla, puedes volver a ejecutar este comando y reemplazar la etiqueta de nodo por una que solicite una mayor cantidad de memoria adicional.

    Para actualizar un grupo de nodos con una etiqueta persistente, ejecuta el siguiente comando:

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

    Reemplaza lo siguiente:

    • NODEPOOL_NAME: el nombre del grupo de nodos
    • CLUSTER_NAME: es el nombre del clúster existente.
    • ADDITIONAL_MEMORY_NODE_LABEL: Una de las etiquetas de nodo de memoria adicionales; usa una de las siguientes opciones:
      • Para agregar 10 MB, ejecuta este comando: cloud.google.com/gke-metrics-agent-scaling-level=10
      • Para agregar 20 MB, ejecuta este comando: cloud.google.com/gke-metrics-agent-scaling-level=20
      • Para agregar 50 MB, ejecuta este comando: cloud.google.com/gke-metrics-agent-scaling-level=50
      • Para agregar 100 MB: cloud.google.com/gke-metrics-agent-scaling-level=100
      • Para agregar 200 MB: cloud.google.com/gke-metrics-agent-scaling-level=200
      • Para agregar 500 MB, ejecuta este comando: cloud.google.com/gke-metrics-agent-scaling-level=500
    • COMPUTE_LOCATION: la ubicación de Compute Engine del clúster.

    Como alternativa, puedes agregar una etiqueta de nodo temporal que no persistirá después de una actualización a través del siguiente comando:

    kubectl label node/NODE_NAME \
    ADDITIONAL_MEMORY_NODE_LABEL --overwrite
    

    Reemplaza lo siguiente:

    • NODE_NAME: el nombre del nodo del agente de métricas afectado.
    • ADDITIONAL_MEMORY_NODE_LABEL: es una de las etiquetas de nodo de memoria adicionales; usa uno de los valores del ejemplo anterior.

¿Qué sigue?

Si necesitas asistencia adicional, comunícate con Atención al cliente de Cloud.