Resolver problemas de limites de recursos na Cloud Service Mesh

Esta secção explica os problemas comuns do Cloud Service Mesh e como os resolver. Se precisar de assistência adicional, consulte a secção Receber apoio técnico.

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

  • Objetos LimitRange criados no espaço de nomes istio-system ou em qualquer espaço de nomes com a injeção automática de sidecar ativada.
  • Limites definidos pelo utilizador que estão demasiado baixos.
  • Os nós ficam sem memória ou outros recursos.

Potenciais sintomas de problemas de recursos:

  • O Cloud Service Mesh não está a receber repetidamente a configuração do plano de controlo, o que é indicado pelo erro Envoy proxy NOT ready. Ver este erro algumas vezes no arranque é normal, mas, caso contrário, é preocupante.
  • Problemas de rede com alguns pods ou nós que ficam inacessíveis.
  • istioctl proxy-status a mostrar STALE estados na saída.
  • OOMKilled mensagens nos registos de um nó.
  • Utilização de memória por contentores: kubectl top pod POD_NAME --containers.
  • Utilização de memória por agrupamentos num nó: kubectl top node my-node.
  • Envoy sem memória: kubectl get pods mostra o estado OOMKilled na saída.

Os sidecars demoram muito tempo a receber a configuração

A propagação lenta da configuração pode ocorrer devido a recursos insuficientes atribuídos ao istiod ou a um tamanho do cluster excessivamente grande.

Existem várias soluções possíveis para este problema:

  1. Para o Cloud Service Mesh no cluster, se as suas ferramentas de monitorização (Prometheus, Stackdriver, etc.) mostrarem uma utilização elevada de um recurso por parte do istiod, aumente a atribuição desse recurso. Por exemplo, aumente o limite de CPU ou de memória da implementação do istiod. Esta é uma solução temporária e recomendamos que investigue métodos para reduzir o consumo de recursos.

  2. Se encontrar este problema num cluster ou numa implementaçã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, experimente escalar horizontalmente istiod.

  4. Se todos os outros passos de resolução de problemas não resolverem o problema, comunique um erro com detalhes sobre a implementação e os problemas observados. Siga estes passos para incluir um perfil de CPU/memória no relatório de erro, se possível, juntamente com uma descrição detalhada do tamanho do cluster, do número de pods e do número de serviços.