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.