Como resolver problemas de limite de recursos no Cloud Service Mesh
Nesta seção, explicamos 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 namespaceistio-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 a configuração do plano de controle
indicado pelo erro,
Envoy proxy NOT ready
. Ver esse erro algumas vezes na inicialização é normal, mas, fora isso, é uma preocupação. - Problemas de rede com alguns pods ou nós que se tornam inacessíveis.
istioctl proxy-status
mostrando statusSTALE
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 statusOOMKilled
na saída.
Os arquivos secundários demoram muito para receber 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:
Para o Cloud Service Mesh no cluster, se as ferramentas de monitoramento (prometheus, stackdriver etc.) mostrarem alta utilização de um recurso por
istiod
, aumente a alocação desse recurso. Por exemplo, aumente o limite de CPU ou memória da implantação doistiod
. Essa é uma solução temporária. Recomendamos que você investigue métodos para reduzir o consumo de recursos.Se você encontrar esse problema em um grande cluster ou implantação, reduza a quantidade de estado de configuração enviado para cada proxy configurando recursos do arquivo secundário.
Para o Cloud Service Mesh no cluster, se o problema persistir, tente escalonar horizontalmente
istiod
.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, com uma descrição detalhada do tamanho do cluster, número de pods e número de serviços.