Compartilhar via


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

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

As opções de escalabilidade mais comuns para o AKS são o dimensionador automático de cluster e o dimensionador automático de pod horizontal. O dimensionador automático de cluster ajusta o número de nós com base nos recursos de computação solicitados no pool de nós. O HPA (dimensionador automático de pod horizontal) ajusta o número de pods em uma implantação, dependendo da utilização da CPU ou de outras métricas configuradas.

Considerações sobre o design

Aqui estão alguns fatores cruciais a serem levados em consideração:

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

    • Para que um provisionamento rápido de pods use nós virtuais, eles só têm suporte com nós/pods do Linux.
  • A carga de trabalho não é sensível ao tempo e pode lidar com interrupções? Considere o uso de VMs spot

  • A infraestrutura subjacente (plug-in de rede, intervalos de IP, limites de assinatura, cotas etc.) é capaz de escalar horizontalmente?

  • Considere a possibilidade de automatizar a escalabilidade

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

    • Ao criar pools de nós, considere definir Zonas de Disponibilidade com o AKS.
    • Considere usar vários pools de nós para dar suporte a aplicativos com requisitos diferentes.
    • Dimensione pools de nós com o dimensionador de cluster.
    • Você pode dimensionar os pools de nó do usuário para zero. Confira as limitações.

Recomendações sobre design

Siga estas práticas recomendadas para o seu design:

  • Use VMSS (conjuntos de dimensionamento de máquinas virtuais), que são necessários para cenários incluindo dimensionamento automático, vários pools de nós e suporte a pool de nós do Windows.
    • Não habilite nem edite manualmente as configurações de escalabilidade de VMSS no portal do Azure ou usando a CLI do Azure. Em vez disso, use o dimensionador automático de cluster.
  • Se você precisar de dimensionamento automático de intermitência rápida, escolha a intermitência do cluster do AKS usando Instâncias de Contêiner do Azure e nós virtuais para obter escalabilidade rápida e infinita 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 dimensionador automático de cluster para atender às demandas do aplicativo.
  • Habilite o HPA (dimensionador automático de pod horizontal) para atenuar as horas de pico do seu aplicativo.
    • Todos os contêineres e pods precisam ter limites e solicitações de recurso definidos.
    • O HPA dimensiona automaticamente o número de pods com base em limites de recursos observados, como CPU/memória ou métricas personalizadas.
  • Habilite o Azure Monitor para contêineres e o monitoramento dinâmico para monitorar a utilização de cluster e de carga de trabalho.
  • Use vários pools de nós quando seus aplicativos tiverem requisitos de recursos diferentes.
  • Considere usar pools de nós baseados em VM spot para cargas de trabalho não sensíveis a tempo que podem lidar com interrupções e remoções.