Como resolver problemas de escalonamento do Istio 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.
Fatores de escalonamento
O Istiod envia uma configuração para cada sidecar usando um fluxo gRPC de longa duração. Ele tem várias características que afetam o escalonamento:
- O tamanho da configuração a ser gerada:
- Número total de serviços/pods e recursos do Istio
- Em grande escala, ajuste as configurações do Sidecar para reduzir o tamanho da configuração.
- A taxa de alteração no ambiente:
- Quando um novo serviço é criado ou a configuração do Istio é alterada, as atualizações completas são enviadas aos proxies.
- A adição de novos endpoints não é cara porque apenas atualizações incrementais são enviadas.
- O número de proxies para que a configuração é gerada:
- Afetados pelo número de gateways e pods com um sidecar.
Considerações de escalonamento
O Istio é escalonado verticalmente corretamente (solicitações grandes) e horizontalmente (mais réplicas). Verifique se os limites da CPU não são muito restritivos. Se o Istio atingir o limite de CPU, poderá haver uma diminuição que afeta a distribuição da configuração de forma negativa. Se você tiver problemas de desempenho, considere fazendo upgrade para a versão mais recente do Cloud Service Mesh, já que cada uma e otimizar o desempenho.
Carga não balanceada
Grandes mudanças no tamanho do cluster podem causar uma carga temporariamente desalocada devido às
conexões de longa duração. Isso é atenuado por uma conexão máxima de 30 minutos
idade, o que pode resultar em mensagens de erro no Envoy, como gRPC config stream
closed: 13
, que permite que a carga se reequilibre naturalmente.
Reduza esse problema com várias réplicas do Istio (o padrão é duas réplicas) e faça o pré-escalonamento se você espera aumentar o número de escalonamentos verticais.