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 nomesistio-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 mostrarSTALE
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 estadoOOMKilled
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:
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 doistiod
. Esta é uma solução temporária e recomendamos que investigue métodos para reduzir o consumo de recursos.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.
Para o Cloud Service Mesh no cluster, se o problema persistir, experimente escalar horizontalmente
istiod
.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.