CPU insuficiente

Sintoma

No arranque, os pods de telemetria entram e saem do estado CrashLoopBackoff. Isto pode causar lacunas periódicas nas suas métricas ou gráficos à medida que os pods são reiniciados. Também pode ver discrepâncias com os dados do Analytics, uma vez que faltam algumas secções de dados.

Mensagens de erro

Quando usa kubectl para ver os estados dos pods, vê um ou mais pods de métricas no estado CrashLoopBackoff. Consulte o seguinte comando:

kubectl get pods -n APIGEE_NAMESPACE

Onde APIGEE_NAMESPACE é o espaço de nomes do Kubernetes para os seus componentes híbridos do Apigee. Para mais informações, consulte o artigo Crie o espaço de nomes apigee.

Exemplo de saída

NAME                                                      READY   STATUS             RESTARTS   AGE
apigee-metrics-default-telemetry-proxy-1104-hvwoo-zlmlw   0/1     CrashLoopBackoff   10         10m
apigee-metrics-adapter-apigee-telemetry-1104-7fyff-tts65  0/1     CrashLoopBackoff   10         10m
apigee-metrics-default-telemetry-proxy-1104-hvwoo-zlmlw   0/1     FailedScheduling   0          12m

Passos de diagnóstico comuns

  1. Verifique se existem problemas com os pods de telemetria com o seguinte comando:
    kubectl -n apigee get event 

    Exemplo de saída

    LAST SEEN   TYPE      REASON           OBJECT                                                           MESSAGE
    53m         Normal    SuccessfulCreate job/apigee-cassandra-schema-val-jghunt-20250709-0820206-29251940 Created pod: apigee-cassandra-schema-val-jghunt-20250709-0820206-292519fkt7j
    53m         Normal    Completed        job/apigee-cassandra-schema-val-jghunt-20250709-0820206-29251940 Job completed
    43m         Normal    SuccessfulCreate job/apigee-cassandra-schema-val-jghunt-20250709-0820206-29251950 Created pod: apigee-cassandra-schema-val-jghunt-20250709-0820206-292519l87m8
    43m         Normal    Completed        job/apigee-cassandra-schema-val-jghunt-20250709-0820206-29251950 Job completed
    33m         Normal    SuccessfulCreate job/apigee-cassandra-schema-val-jghunt-20250709-0820206-29251960 Created pod: apigee-cassandra-schema-val-jghunt-20250709-0820206-29251962ncc
        
  2. Também pode verificar os eventos de pods de telemetria com um estado CrashLoopBackOff através do seguinte comando:
    kubectl -n apigee describe POD_NAME

    Em que POD_NAME é o nome do pod que se encontra no estado CrashLoopBackOff.

    Exemplo de saída

     apigee-metrics-apigee-telemetry-app-1101-qc36n-dxzrv    
  3. Também pode verificar o cpu estado dos pods com o seguinte comando:
    kubectl -n apigee get hpa | grep unknown

    Exemplo de saída

    apigee-metrics-apigee-telemetry-app-1101-qc36n-dxzrv   ReplicaSet/apigee-metrics-apigee-telemetry-app-1101-qc36n-dxzrv   /80%                                2         10        2          8h
     

Causas possíveis

Causa Descrição Instruções de resolução de problemas aplicáveis a
Faltam os cabeçalhos metrics.app.resources.requests.cpu e metrics.app.resources.limits.cpu O elemento cpu tem de ser especificado no ficheiro overrides.yaml. Apigee Hybrid

Causa

cpu não é mencionado no ficheiro overrides.yaml, pelo que cpu recebe um valor indefinido.

Diagnóstico

Verifique o ficheiro overrides.yaml para ver se ambos os valores cpu estão definidos para metrics.app.resources.requests.cpu e metrics.app.resources.limits.cpu.

Resolução

Se as definições de cpu estiverem em falta no ficheiro overrides.yaml para métricas, forneça ambos os valores de cpu no ficheiro overrides.yaml.

  1. Adicione a seguinte configuração na secção metrics do ficheiro overrides.yaml:

    metrics:
      app: # The apigee-prometheus-app container in the "app" pod
        resources:
          requests:
            memory: 512Mi # Default value: 512Mi
            cpu: 500m # Default value: 500m
          limits:
            memory: 2Gi # default: 1Gi
            cpu: 500m # Default value: 500m
      

  2. Aplique as alterações através do seguinte comando:
    helm upgrade ENV_RELEASE_NAME apigee-env/ \
    --install \
    --namespace APIGEE_NAMESPACE \
    --set env=ENV_NAME \
    -f OVERRIDES_FILE
    • Em que ENV_RELEASE_NAME é um nome exclusivo usado para acompanhar a instalação e a atualização do gráfico apigee-env. Embora seja normalmente igual ao ENV_NAME, tem de ser diferente se o seu ambiente tiver o mesmo nome que o seu grupo de ambientes. Por exemplo, se ambos tiverem o nome dev, usaria dev-env-release e dev-envgroup-release para os distinguir.

    • Onde APIGEE_NAMESPACE é o espaço de nomes do Kubernetes para os seus componentes híbridos do Apigee. Para mais informações, consulte o artigo Crie o espaço de nomes apigee.

    • Em que ENV_NAME é o nome que usou quando criou o ambiente na IU.

    • Em que OVERRIDES_FILE é o ficheiro overrides.yaml usado durante as atualizações ou a instalação.

Para mais informações, consulte a referência da propriedade de configuração.

Tem de recolher informações de diagnóstico

Se o problema persistir mesmo depois de seguir as instruções acima, recolha as seguintes informações de diagnóstico e, em seguida, contacte o Google Cloud apoio ao cliente:

  1. O ficheiro overrides.yaml.
  2. O resultado do script Apigee hybrid must-gather.