Partilhar via


Dimensionamento automático de cluster no AKS habilitado pelo Azure Arc

Aplica-se a: AKS no Azure Stack HCI 22H2, AKS no Windows Server

Você pode ajustar o número de nós que executam cargas de trabalho de aplicativos no AKS Arc usando o Serviço Kubernetes do Azure (AKS) para acompanhar a demanda. Você pode usar o PowerShell para habilitar o dimensionador automático e gerenciar o dimensionamento automático de pools de nós em seus clusters de destino.

Este artigo descreve o contexto do autoscaler no AKS habilitado pelo Arc e como o autoscaler funciona. Para que o dimensionamento automático de cluster funcione de forma eficaz, você também pode usar o autoscaler de pod horizontal do Kubernetes, que é um componente padrão do Kubernetes. Para obter mais informações sobre o autoscaler de pod horizontal do Kubernetes, consulte Autoscaling de pod horizontal.

Dimensionamento automático de cluster

No AKS, o autoscaler de cluster observa pods em seu cluster que não podem ser agendados devido a restrições de recursos. Quando problemas são detetados, o número de nós em um pool de nós aumenta para atender à demanda do aplicativo. Os nós também são verificados regularmente quanto à falta de pods em execução e, em seguida, o número de nós diminui, conforme necessário. Essa capacidade de aumentar ou reduzir automaticamente o número de nós em seu cluster AKS permite que você execute clusters eficientes e econômicos. Autoscaling é a capacidade do sistema de ajustar automaticamente suas cargas de trabalho por meio de automação e configuração que contém parâmetros específicos com base em entrada, medidas e regras.

Para habilitar o autoscaler de cluster, o AKS precisa implementar o gerenciamento básico de recursos. O AKS estima os requisitos de recursos que acionarão eventos de dimensionamento automático em um determinado momento. O AKS não levará em conta o consumo de recursos de fora do AKS Arc. Por exemplo, quando você adiciona VMs depois de habilitar o autoscaler, esse evento ocorre fora do contexto do autoscaler.

Finalidade do dimensionamento automático do cluster

O autoscaler aumenta automaticamente o tamanho de um pool de nós do número mínimo para o máximo de nós especificados. Quando você habilita o dimensionamento automático, o autoscaler determina se o número máximo de nós é viável e avisa sobre o provisionamento excessivo dos recursos de hardware disponíveis.

O autoscaler rastreia os recursos disponíveis e prometidos em todos os clusters de destino e pools de nós implantados. O escalador usa esses dados para tomar uma decisão informada. À medida que o autoscaler aumenta o pool de nós, o autoscaler verifica a disponibilidade de recursos.

O AKS Arc usa o recurso de dimensionamento automático interno do Kubernetes para dar suporte a operações semelhantes ao autoscaler do Azure.

Como funciona o dimensionamento automático de cluster

O autoscaler ajusta-se às mudanças nas exigências da aplicação. À medida que as demandas mudam entre as cargas do dia de trabalho e da noite, o autoscaler desloca os recursos dos clusters. Os clusters do Kubernetes são dimensionados de duas maneiras:

  • Gatilhos baseados na utilização do nó. O dimensionador automático de cluster analisa os pods que não podem ser agendados em nós devido a limites de recursos. O autoscaler de cluster diminui o número de nós quando há capacidade não utilizada por tempo.
  • Gatilhos definidos nos perfis do autoscaler. O autoscaler de cluster usa parâmetros de inicialização para disparadores, como intervalos de tempo entre eventos de escala e limites de recursos. Consulte Perfis do Autoscaler.

Quando você habilita o dimensionamento automático em um pool de nós, o perfil padrão é aplicado, a menos que você substitua uma ou mais das configurações usando o -ClusterAutoScalingProfile parâmetro em Set-AksHciCluster. A menos que você os habilite, o estado padrão do autoscaler do nó será desabilitado no momento da criação do cluster e do pool de nós.

Quando você habilita o autoscaler para um cluster e não fornece um objeto autoscalerconfig , o perfil padrão do autoscaler é adicionado ao cluster. Em seguida, você pode ajustar os parâmetros no perfil usando o Set-AksHciCluster comando e passando um objeto autoscalerconfig com os valores atualizados. Você não precisa fornecer todos os parâmetros no objeto, você pode apenas fornecer seus parâmetros atualizados no objeto.

Trabalhar com o autoscaler

Você pode definir os parâmetros no perfil do autoscaler para configurar o autoscaler. Para obter mais informações, consulte Como usar os perfis do autoscaler.

Você pode usar o PowerShell para habilitar, configurar e desabilitar o autoscaler. Para obter mais informações, consulte Usar o PowerShell para dimensionamento automático de cluster.

Dimensionamento automático de cluster durante uma atualização de cluster

Durante uma atualização e atualização de cluster, o autoscaler é pausado e nenhuma operação de dimensionamento ocorre até que o cluster e todos os pools de nós no cluster concluam a operação de atualização. Se um pool de nós específico em um cluster for atualizado para uma versão mais recente do Kubernetes, o autoscaler desse pool de nós será pausado. A operação de dimensionamento automático continua em todos os outros pools de nós.

Próximos passos