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:
- Ative os registros para cada serviço de back-end associado a cada serviço do GKE referenciado pela Entrada.
- 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:
Acesse a página Ingress no console do Trusted Cloud .
Clique no nome do Ingress externo.
Clique no nome do balanceador de carga. A página Detalhes do balanceamento de carga é exibida.
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çoLoadBalancer
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:
- Execute a
ferramenta de linha de comando
gcpdiag
no cluster. Os resultados do Ingress aparecem na seçãogke/ERR/2023_004
da regra de verificação. - Use a ferramenta
check-gke-ingress
sozinha ou como um plug-in do kubectl seguindo as instruções em check-gke-ingress.