Partilhar via


Considerações de escalabilidade para ambientes do Serviço Kubernetes do Azure

O Serviço Kubernetes do Azure (AKS) pode ser dimensionado e reduzido dependendo das necessidades de infraestrutura (exigindo mais ou menos capacidade), adicionando pools de nós com recursos especiais, como GPU, ou necessidades de aplicativos, neste caso, você tem vários fatores, como número e taxa de conexões simultâneas, número de solicitações, latências de back-end em aplicativos AKS.

As opções de escalabilidade mais comuns para o AKS são o autoscaler de cluster e o autoscaler de pod horizontal. O autoscaler do cluster ajusta o número de nós com base nos recursos de computação solicitados no pool de nós. O autoscaler de pod horizontal (HPA) ajusta o número de pods numa implementação dependendo do uso do CPU ou de outras métricas configuradas.

Considerações de design

Aqui estão alguns fatores cruciais a considerar:

  • A escalabilidade rápida é um requisito para seu aplicativo (sem tempo de espera)?

    • Para um provisionamento rápido de pods, utilize nós virtuais, que são suportados apenas em nós e pods Linux.
  • A carga de trabalho não é sensível ao tempo e pode lidar com interrupções? Considere o uso de Máquinas Virtuais Spot

  • A infraestrutura subjacente (plug-in de rede, intervalos de IP, limites de assinatura, cotas e assim por diante) é capaz de ser dimensionada?

  • Considere automatizar a escalabilidade

  • Considere a escalabilidade com pools de várias zonas e nós

    • Ao criar pools de nós, considere definir zonas de disponibilidade com AKS.
    • Considere usar vários pools de nós para dar suporte a aplicativos com requisitos diferentes.
    • Dimensione grupos de nós com o escalador automático de cluster.
    • Você pode dimensionar para zerar os pools de nós do usuário. Veja as limitações.

Recomendações de design

Siga estas práticas recomendadas para o seu design:

  • Utilize conjuntos de dimensionamento de máquinas virtuais (VMSS), que são necessários para cenários como dimensionamento automático, vários agrupamentos de nós e suporte a agrupamentos de nós do Windows.
    • Não habilite ou edite manualmente as configurações de escalabilidade do VMSS no portal do Azure ou usando a CLI do Azure. Em vez disso, use o redimensionador automático de clusters.
  • Se precisar de escalonamento automático rápido, escolha escalonar a partir do cluster AKS usando Azure Container Instances e nós virtuais para uma escalabilidade rápida e ilimitada e cobrança por segundo.
  • Use o dimensionador automático de cluster e o dimensionamento para zero para escalabilidade previsível usando nós de trabalho baseados em VM.
  • Habilite o autoscaler de cluster para atender às demandas de aplicativos.
  • Habilite o horizontal pod autoscaler (HPA) para reduzir as horas de maior movimento do seu aplicativo.
    • Todos os seus contêineres e pods devem ter solicitações de recursos e limites definidos.
    • A HPA dimensiona automaticamente o número de pods com base nos limites de recursos observados CPU/memória ou métricas personalizadas.
  • Habilite o Azure Monitor para contêineres e monitoramento ao vivo para monitorar a utilização do cluster e da carga de trabalho.
  • Utilize vários grupos de nós quando as suas aplicações tiverem requisitos de recursos diferentes.
  • Considere pools de nós baseados em VM Spot para cargas de trabalho que não são sensíveis ao tempo e que podem lidar com interrupções e expulsões.