Resolver problemas de balanceamento de carga no GKE


Nesta página, mostramos como resolver problemas relacionados ao balanceamento de carga em clusters do Google Kubernetes Engine (GKE) usando recursos de Serviço, Entrada ou Gateway.

A Entrada externa produz erros HTTP 502

Use as orientações a seguir para solucionar erros HTTP 502 com recursos de Entrada externa:

  1. Ative os registros para cada serviço de back-end associado a cada serviço do GKE referenciado pela Entrada.
  2. Use os detalhes do status para identificar as causas das respostas HTTP 502. Os detalhes do status que indicam a resposta HTTP 502 originada do back-end exigem solução de problemas nos pods de exibição, não no balanceador de carga.

Grupos de instâncias não gerenciadas

É possível que ocorram erros HTTP 502 com os recursos de Entrada externos se sua Entrada externa usar back-ends de grupos de instâncias não gerenciados. Esse problema ocorre quando todas as condições a seguir são atendidas:

  • O cluster tem um grande número total de nós em todos os pools.
  • Os pods de exibição para um ou mais serviços que são referenciados pela Entrada estão localizados em apenas alguns nós.
  • Os serviços referenciados pela Entrada usam externalTrafficPolicy: Local.

Para determinar se a Entrada externa usa back-ends de grupos de instâncias não gerenciadas, faça o seguinte:

  1. Acesse a página Ingress no console do Trusted Cloud .

    Acessar o Ingress

  2. Clique no nome do Ingress externo.

  3. Clique no nome do balanceador de carga. A página Detalhes do balanceamento de carga é exibida.

  4. Verifique a tabela na seção Serviços de back-end para determinar se a Entrada externa usa NEGs ou grupos de instâncias.

Para resolver esse problema, use um dos métodos a seguir.

  • Use um cluster nativo de VPC.
  • Use externalTrafficPolicy: Cluster para cada Serviço referenciado pelo Ingress externo. Essa solução faz com que você perca o endereço IP original do cliente nas origens do pacote.
  • Use a anotação node.kubernetes.io/exclude-from-external-load-balancers=true: Adicione a anotação aos nós ou pools de nós que não executam qualquer pod de veiculação para qualquer serviço referenciado por qualquer entrada externa ou serviço LoadBalancer no cluster.

Usar registros do balanceador de carga para resolver problemas

É possível usar registros do balanceador de carga de rede de passagem interna e registros do balanceador de carga de rede de passagem externa para solucionar problemas com balanceadores de carga e correlacionar tráfego de balanceadores de carga para recursos do GKE.

Os registros são agregados por conexão e exportados quase em tempo real. Os registros são gerados para cada nó do GKE envolvido no caminho de dados de um serviço LoadBalancer, para o tráfego de entrada e saída. As entradas de registro incluem campos adicionais para recursos do GKE, como:

  • Nome do cluster
  • Local do cluster
  • Nome do serviço
  • Namespace do serviço
  • Nome do pod
  • Namespace do pod

Usar ferramentas de diagnóstico para resolver problemas

A ferramenta de diagnóstico check-gke-ingress inspeciona os recursos do Ingress em busca de erros de configuração comuns. É possível usar a ferramenta check-gke-ingress das seguintes maneiras: