Dimensionamento automático de cluster no AKS habilitado pelo Azure Arc
Aplica-se ao: AKS no Azure Local 22H2, AKS no Windows Server
Você pode ajustar o número de nós que executam cargas de trabalho de aplicativo no AKS Arc usando o AKS (Serviço de Kubernetes do Azure) 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 dimensionador automático no AKS habilitado pelo Arc e como o dimensionador automático funciona. Para que o dimensionamento automático de cluster funcione de forma eficaz, você também pode usar o dimensionador automático de pod horizontal do Kubernetes, que é um componente padrão do Kubernetes. Para obter mais informações sobre o dimensionador automático de pod horizontal do Kubernetes, consulte Dimensionamento automático de pod horizontal.
Dimensionamento automático do cluster
No AKS, o dimensionador automático de cluster observa os pods em seu cluster que não podem ser agendados devido a restrições de recursos. Quando os problemas são detectados, 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 escalar ou reduzir verticalmente automaticamente o número de nós no cluster do AKS permite que você execute clusters eficientes e econômicos. O dimensionamento automático é 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 entradas, medidas e regras.
Para habilitar o dimensionador automático de cluster, o AKS precisa implementar o gerenciamento básico de recursos. O AKS estima os requisitos de recursos que dispararã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 dimensionador automático, esse evento ocorre fora do contexto do dimensionador automático.
Finalidade do dimensionamento automático do cluster
O dimensionador automático aumenta automaticamente o tamanho de um pool de nós do número mínimo para o máximo de nós especificado. Quando você habilita o dimensionamento automático, o dimensionador automático 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 dimensionador automático rastreia os recursos disponíveis e prometidos em todos os clusters de destino e pools de nós implantados. O scaler usa esses dados para tomar uma decisão informada. À medida que o dimensionador automático aumenta o pool de nós, ele verifica a disponibilidade de recursos.
O AKS Arc usa o recurso interno de dimensionamento automático do Kubernetes para dar suporte a operações semelhantes ao dimensionador automático do Azure.
Como funciona o dimensionamento automático do cluster
O dimensionador automático se ajusta às mudanças nas demandas da aplicação. À medida que as demandas mudam entre as cargas diurnas e noturnas, o dimensionador automático desloca os recursos dos clusters. Os clusters do Kubernetes são dimensionados de duas maneiras:
- Aciona com base na utilização do nó. O dimensionador automático de cluster inspeciona os pods que não podem ser agendados em nós devido a restrições de recursos. O dimensionador automático de cluster diminui o número de nós quando há capacidade não utilizada por tempo.
- Gatilhos definidos nos perfis do dimensionador automático. O dimensionador automático de cluster usa parâmetros de inicialização para gatilhos, 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 dimensionador automático de nós será desabilitado no momento da criação do cluster e do pool de nós.
Quando você habilita o dimensionador automático para um cluster e não fornece um objeto autoscalerconfig , o perfil padrão do dimensionador automático é 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.
Trabalhando com o dimensionador automático
Você pode definir os parâmetros no perfil do dimensionador automático para configurar o dimensionador automático. Para obter mais informações, consulte Como usar os perfis do dimensionador automático.
Você pode usar o PowerShell para habilitar, configurar e desabilitar o dimensionador automático. 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 dimensionador automático é 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 dimensionador automático desse pool de nós será pausado. A operação de dimensionamento automático continua em todos os outros pools de nós.