Como resolver problemas de limite de recursos no Cloud Service Mesh

Esta seção explica problemas comuns do Cloud Service Mesh e como resolvê-los. Se você precisar de mais ajuda, consulte Como receber suporte.

Os problemas de limite de recursos do Cloud Service Mesh podem ser causados por qualquer um dos seguintes motivos:

  • Objetos LimitRange criados no namespace istio-system ou qualquer namespace com injeção automática de arquivo secundário ativada.
  • Limites definidos pelo usuário que são muito baixos.
  • Os nós ficam sem memória ou outros recursos.

Possíveis sintomas de problemas de recursos:

  • O Cloud Service Mesh não está recebendo repetidamente configurações do plano de controle indicado pelo erro, Envoy proxy NOT ready. Ver esse erro algumas vezes na inicialização é normal, mas, caso contrário, é uma preocupação.
  • Problemas de rede com alguns pods ou nós que se tornam inacessíveis.
  • istioctl proxy-status mostrando status STALE na saída.
  • Mensagens OOMKilled nos registros de um nó.
  • Uso da memória por contêineres: kubectl top pod POD_NAME --containers.
  • Uso da memória por pods em um nó: kubectl top node my-node.
  • Invocação de memória: kubectl get pods mostra o status OOMKilled na saída.

Os sidecars demoram muito para receber a configuração

A propagação de configuração lenta pode ocorrer devido a recursos insuficientes alocados para o istiod ou um tamanho de cluster excessivamente grande.

Há várias soluções possíveis para esse problema:

  1. Para o Cloud Service Mesh no cluster, se suas ferramentas de monitoramento (Prometheus, stackdriver etc.) mostram alta utilização de um recurso por istiod, aumentam a alocação do recurso, por exemplo, aumentar o limite de CPU ou memória da implantação do istiod. Essa é uma solução temporária, e recomendamos métodos para reduzir o consumo de recursos.

  2. Se você encontrar esse problema em um cluster ou implantação grande, reduza a quantidade de estado de configuração enviada para cada proxy configurando recursos do Sidecar.

  3. Para o Cloud Service Mesh no cluster, se o problema persistir, tente escalonar horizontalmente o istiod.

  4. Se todas as outras etapas de solução de problemas não resolverem o problema, informe um bug detalhando a implantação e os problemas observados. Siga estas etapas para incluir um perfil de CPU/memória no relatório do bug, se possível, junto com uma descrição detalhada do tamanho do cluster, número de pods e número de serviços.