Como resolver problemas de escalonamento do Istio no Anthos Service Mesh

Nesta seção, explicamos problemas comuns do Anthos 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 arquivo secundário 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
    • Para larga escala, ajuste as configurações do Arquivo secundário para reduzir o tamanho da configuração.
  • Taxa de mudança 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ê encontrar problemas de desempenho, faça upgrade para a versão mais recente do Anthos Service Mesh, porque cada versão tem otimizações de 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 é minimizado por uma idade máxima de conexão de 30 minutos, o que pode resultar em mensagens de erro no Envoy, como gRPC config stream closed: 13, que permite que a carga seja rebalanceada 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.