Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Enable node autoscaling

Última atualização: Sep 12, 2026

Se o cluster não tiver recursos suficientes para agendar pods, use o dimensionamento automático de nós para adicionar ou remover nós automaticamente. O dimensionamento automático de nós é ideal para cenários menos exigentes, como clusters com menos de 20 pools de nós com dimensionamento automático ou menos de 100 nós em cada pool. Também é adequado para cargas de trabalho com tráfego estável, demandas de recursos previsíveis e nas quais uma única ação de dimensionamento basta.

Antes de começar

Para usar o recurso de dimensionamento automático de nós com eficiência, leia primeiro Node scaling e compreenda os pontos a seguir:

对 Funcionamento e recursos do dimensionamento automático de nós

对 Casos de uso adequados para o dimensionamento automático de nós

对 Considerações importantes antes de usar o dimensionamento automático de nós

对 Durante uma redução de escala (scale-in), as instâncias por assinatura são removidas do cluster, mas não encerradas. Para evitar custos extras, use instâncias de pagamento conforme o uso ao ativar este recurso.

Precauções

  • Antes de começar, verifique se você já ativou o service Auto Scaling.

  • Para obter informações sobre cotas e limites, consulte Precautions referente ao dimensionamento de nós.

  • O dimensionamento automático de nós apresenta known limitations com determinadas políticas de agendamento, o que pode levar a comportamentos inesperados de dimensionamento. Se suas cargas de trabalho ou componentes utilizarem uma política de agendamento não suportada, adote uma das seguintes soluções:

    • Solução 1: Migre para o node instant scaling.

    • Solução 2: Implante as cargas de trabalho ou componentes afetados em um pool de nós onde o dimensionamento de nós não esteja ativado.

      Por exemplo, para implantar o componente ack-node-local-dns-admission-controller, implante-o em um pool de nós onde o dimensionamento de nós não esteja ativado e adicione o seguinte requisito de afinidade de nó à configuração do componente.

      nodeAffinity:
        requiredDuringSchedulingIgnoredDuringExecution:
          nodeSelectorTerms:
          - matchExpressions:
            - key: "k8s.aliyun.com"
              operator: "NotIn"
              values: ["true"]
  • O componente cluster-autoscaler requer recursos de nó durante atualizações ou implantações. A falta de recursos pode causar falhas nessas operações e interromper o dimensionamento. Garanta que seus nós tenham recursos adequados para evitar tais falhas.

Este recurso envolve as seguintes etapas:

  1. Step 1: Enable node autoscaling for the cluster: Ative primeiro o dimensionamento automático de nós no nível do cluster para que as políticas de dimensionamento automático do pool de nós entrem em vigor.

  2. Step 2: Configure autoscaled node pools: O recurso de dimensionamento automático de nós afeta apenas os pools de nós onde está ativado. Portanto, defina o modo de dimensionamento dos pools de nós específicos como Auto.

Etapa 1: Ativar o dimensionamento automático de nós

  1. Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.

  2. Na página Clusters, clique no nome do cluster. No painel de navegação à esquerda, clique em Nodes > Node Pools.

  3. Na página Node Pools, ao lado de Node Scaling, clique em Enable.

  4. Se esta for a primeira vez que você utiliza o dimensionamento automático de nós, siga as instruções na tela para ativar o service Auto Scaling e conceder as permissões necessárias. Caso já tenha feito isso, pule esta etapa.

    • Cluster gerenciado ACK: Autorize a função AliyunCSManagedAutoScalerRole.

    • Cluster dedicado ACK: Autorize a função KubernetesWorkerRole e anexe a AliyunCSManagedAutoScalerRolePolicy.

      Na caixa de diálogo Node Scaling Configuration, após a aprovação da pré-verificação, clique no link da função RAM (como KubernetesWorkerRole-xxxx) para concluir a autorização no console RAM.

  5. Na página Node Scaling Configuration, defina Node Scaling Plan como Auto Scaling, configure os parâmetros e clique em OK.

    É possível alternar a solução de dimensionamento após a seleção. Para alternar, altere a seleção para node instant scaling , leia atentamente os avisos na tela e siga as instruções para concluir a operação.

    Parâmetro

    Descrição

    Node Pool Scale-out Policy

    • Random Policy: Se vários pools de nós forem elegíveis para expansão, um será escolhido aleatoriamente.

    • Default Policy: Quando múltiplos pools de nós estiverem aptos para expansão, o sistema escolherá aquele que resultar no menor desperdício de recursos.

    • Priority-based Policy: Caso haja vários pools de nós elegíveis para expansão, o sistema selecionará o de maior prioridade.

      A prioridade do pool de nós é definida pelo parâmetro Node Pool Scale-out Priority.

    Node Pool Scale-out Priority

    Define a prioridade de expansão para os pools de nós. Este parâmetro só entra em vigor quando Node Pool Scale-out Policy está definido como Priority-based Policy.

    Intervalo de valores: número inteiro de 1 a 100. Um valor maior indica maior prioridade.

    Clique em Add ao lado do parâmetro, selecione um pool de nós com dimensionamento automático e defina uma prioridade para ele.

    Se não houver pools de nós com dimensionamento automático disponíveis, ignore este parâmetro por enquanto e defina a prioridade após concluir a Etapa 2: Configurar pools de nós com dimensionamento automático.

    Scaling Sensitivity

    Intervalo em que o sistema verifica a necessidade de dimensionamento. O valor padrão é 60s.

    Durante o dimensionamento automático, o componente de dimensionamento aciona eventos de expansão automaticamente com base no status de agendamento.

    Importante
    • Nós ECS: O componente de dimensionamento só reduz a escala de um nó quando as condições de Scale-in Threshold, Scale-in Trigger Delay e Cooldown Period forem todas atendidas.

    • Nós GPU: A redução de escala de um nó GPU pelo componente de dimensionamento ocorre apenas se as condições de GPU Scale-in Threshold, Scale-in Trigger Delay e Cooldown Period forem satisfeitas simultaneamente.

    Allow Scale-in

    Especifica se a redução de escala de nós é permitida. Se esta opção estiver desativada, as configurações relacionadas à redução de escala não entrarão em vigor. Use esta configuração com cautela.

    Scale-in Threshold

    Proporção entre as solicitações de recursos e a capacidade total de recursos de um nó em um pool de nós com dimensionamento automático de nós ativado.

    Um nó torna-se elegível para redução de escala somente se a utilização de recursos de CPU e memória estiver abaixo do Scale-in Threshold.

    GPU Scale-in Threshold

    Limiar de redução de escala para instâncias GPU.

    Uma instância GPU qualifica-se para redução de escala apenas quando sua utilização de CPU, memória e GPU estiver abaixo do GPU Scale-in Threshold configurado.

    Scale-in Trigger Delay

    Atraso entre o momento em que um nó se torna elegível para redução de escala e a execução da operação. Unidade: minutos. Valor padrão: 10 minutos.

    Importante

    O componente de dimensionamento só executa a redução de escala de um nó após a condição de Scale-in Threshold ser atendida e a duração do Scale-in Trigger Delay ter decorrido.

    Cooldown Period

    Período após o evento de expansão mais recente durante o qual o componente de dimensionamento não executará uma redução de escala.

    Durante o período de resfriamento, as ações de redução de escala são pausadas, mas o sistema continua avaliando a elegibilidade dos nós. Assim que o resfriamento termina, qualquer nó que tenha atendido às condições de redução de escala (limiar e tempo de adiamento) é reduzido. Por exemplo, com um resfriamento de 10 minutos e um adiamento de 5 minutos, nenhum nó é removido por 10 minutos após uma expansão. Se um nó se tornar elegível no minuto 2, ele será removido no minuto 10, pois esteve elegível por 8 minutos, o que excede o adiamento de 5 minutos.

    Parâmetros avançados

    Parâmetro

    Descrição

    Pod Termination Timeout

    Tempo máximo de espera para encerramento de pods durante a redução de escala. Unidade: segundos.

    Se um pod não for evacuado antes do tempo limite, o nó não será liberado.

    Minimum Pod Replicas

    Limiar de proteção contra redução de escala. Nós com pods ReplicationController ou ReplicaSet não sofrem redução de escala se a contagem de réplicas cair abaixo deste valor.

    Aplica-se apenas a pods ReplicationController e ReplicaSet, não a StatefulSet ou DaemonSet.

    Enable DaemonSet Pod Eviction

    Quando ativado, os pods do DaemonSet são evacuados quando seu nó sofre redução de escala.

    Ignorar nós com pods no namespace kube-system

    Quando ativado, nós com pods do namespace kube-system são excluídos da redução de escala.

    Nota

    Isso não se aplica a pods do DaemonSet ou pods espelho (mirror pods).

Etapa 2: Configurar pools de nós com dimensionamento automático

Configure um pool de nós existente alterando seu Scaling Mode para Auto ou crie um novo pool de nós com o dimensionamento automático ativado.

Para obter instruções detalhadas, consulte Create and manage a node pool. Os principais parâmetros estão descritos abaixo:

Parâmetro

Descrição

Scaling Mode

  • Manual: O ACK ajusta o número de nós no pool de nós de acordo com o Expected Number of Nodes configurado, mantendo sempre a quantidade de nós igual ao Expected Number of Nodes. Para mais informações, consulte Manually scale a node pool.

  • Auto: Quando o planejamento de capacidade do cluster não consegue atender às necessidades de agendamento de pods da aplicação, o ACK dimensiona automaticamente os recursos de nós com base nos números mínimo e máximo de instâncias configurados. Para clusters da versão 1.24 e posteriores, o dimensionamento instantâneo de nós é ativado por padrão. Para clusters anteriores à versão 1.24, o dimensionamento automático de nós é ativado por padrão. Para mais informações, consulte Node scaling.

Importante
  • Ao ativar a redução de escala, o sistema removerá nós automaticamente com base no uso de recursos, o que pode causar interrupções nos negócios. Recomendamos configurar adequadamente a política de dimensionamento e estabelecer um encerramento gracioso para os contêineres da sua aplicação.

  • Durante a redução de escala automática, os dados locais no nó serão destruídos junto com o nó. Não utilize métodos como HostPath para gravar dados comerciais no diretório do host.

Instances

Os valores escaláveis de Min. Instances e Max. Instances no pool de nós não incluem suas instâncias existentes.

Nota
  • Se Min. Instances for maior que 0, o número correspondente de instâncias ECS será criado automaticamente após o grupo de dimensionamento entrar em vigor.

  • Recomendamos definir Max. Instances com um valor não inferior ao número atual de nós no pool de nós. Caso contrário, os nós do pool sofrerão redução de escala imediatamente após a ativação do recurso de dimensionamento automático.

Parâmetros relacionados à instância

Quando um pool de nós expande, ele aloca instâncias a partir das ECS instance family configuradas. Para melhorar a taxa de sucesso das expansões, selecione vários tipos de instância em várias zonas para evitar indisponibilidade ou falta de estoque. O tipo específico de instância para expansão é determinado pela Scaling Policy configurada.

Para garantir estabilidade comercial e agendamento preciso de recursos, não misture tipos de instância GPU e não-GPU no mesmo pool de nós.

É possível configurar os tipos de instância usados para expansão das duas maneiras seguintes:

  • Tipos específicos: Especifique tipos de instância com base em dimensões como vCPU, memória, família de instâncias e arquitetura de CPU (a arquitetura de CPU da instância deve ser consistente com a OS image architecture).

    Ao usar o Terway, visualize a maximum number of pods per node para o tipo de instância alvo na lista de tipos de instância.
  • Generalization configuration: Selecione uma lista de tipos de instância para usar ou excluir com base em atributos (como vCPU e memória) para aumentar ainda mais a taxa de sucesso da expansão.

Consulte as recomendações de força de elasticidade no console ou view the node pool elasticity strength após a criação do pool de nós.

Para informações sobre tipos de instância não suportados e recomendações de configuração de nós, consulte ECS instance type configuration recommendations.

Recursos de cloud e faturamento: imageECS Instance, imageGPU-accelerated Instance

Operating System

Para nós com dimensionamento automático, há suporte para imagens Alibaba Cloud Linux, Windows e Windows Core.

Ao selecionar uma imagem Windows ou Windows Core, o sistema adiciona automaticamente a mancha (taint) { effect: 'NoSchedule', key: 'os', value: 'windows' }.

Node Labels

Rótulos de nó adicionados à configuração do cluster são aplicados automaticamente aos nós criados durante uma expansão.

Importante

O dimensionamento automático de nós reconhece rótulos e manchas de nó somente após serem mapeados para tags de pool de nós, havendo um limite para o número dessas tags. Portanto, para um pool de nós com dimensionamento automático, garanta que o número total de tags ECS, manchas e rótulos de nó configurados não exceda 12.

scaling policy

Configure como o pool de nós seleciona instâncias durante o dimensionamento.

  • Priority-based Policy: Dimensiona com base na prioridade dos vSwitches configurados para o cluster (a prioridade do vSwitch diminui de cima para baixo). Se não for possível criar uma instância na zona de um vSwitch de maior prioridade, o próximo vSwitch prioritário será usado automaticamente.

  • Cost Optimization: Dimensiona com base no preço unitário da vCPU, do menor para o maior.

    Se o pool de nós utilizar Preemptible Instance, as instâncias spot terão prioridade. Também é possível configurar a Percentage of On-Demand Instances (%). Se não for possível criar tipos de instância spot devido a estoque ou outros motivos, instâncias de pagamento conforme o uso serão usadas automaticamente como complemento.

  • Distribution Balancing: Distribui instâncias ECS uniformemente por várias zonas, mas apenas em cenários multizona. Se a distribuição ficar desequilibrada devido a estoque insuficiente ou outros motivos, execute uma operação de reequilíbrio.

Use Pay-as-you-go Instances When Spot Instances Are Insufficient

Isso exige que o método de faturamento esteja definido como Spot Instance.

Quando ativado, se não for possível criar instâncias spot suficientes devido a preço, estoque ou outros motivos, o ACK tentará automaticamente criar instâncias sob demanda como complemento.

Recursos de cloud e faturamento: imageECS Instance

Enable Supplemental Spot Instance

Isso exige que o método de faturamento esteja definido como Spot Instance.

Quando ativado, ao receber uma mensagem do sistema indicando que uma instância spot está prestes a ser recuperada (5 minutos antes da recuperação), o ACK tentará expandir uma nova instância como compensação.

  • Compensação bem-sucedida: O ACK drena o nó antigo e o remove do cluster.

  • Falha na compensação: O ACK não drena o nó antigo. A instância ainda será recuperada e liberada após 5 minutos. Quando o estoque for restaurado ou as condições de preço forem atendidas, o ACK comprará automaticamente uma instância para manter o número desejado de nós. Para mais informações, consulte Best practices for spot instance node pools.

A liberação proativa de instâncias spot pode causar interrupções nos negócios. Para melhorar a taxa de sucesso da compensação, recomendamos também ativar Use Pay-as-you-go Instances When Spot Instances Are Insufficient.

Recursos de cloud e faturamento: imageECS Instance

Scaling Mode

Isso requer que o Auto Scaling do pool de nós esteja ativado e o Scaling Mode definido como Auto.
  • Standard: Dimensiona criando e liberando instâncias ECS.

  • Swift: Dimensiona criando, parando e reiniciando instâncias ECS. Isso permite um dimensionamento mais rápido ao reiniciar instâncias paradas quando necessário.

    Não há cobrança por recursos de computação quando uma instância ECS está parada, apenas taxas de armazenamento (exceto para famílias de instâncias com capacidades de armazenamento local, como big data e tipos SSD locais). Para detalhes de faturamento e notas relacionadas ao modo de parada da instância ECS, consulte Economical mode.

Taints

Impede que pods sejam agendados para o nó.

Etapa 3: (Opcional) Verificar o resultado

Após concluir estas etapas, o recurso de dimensionamento automático de nós estará pronto para uso. O pool de nós indicará que o dimensionamento automático está ativo e o sistema instalará automaticamente o componente cluster-autoscaler.

O dimensionamento automático está ativado para o pool de nós

Na página Node Pools, a lista exibe os pools de nós para os quais o dimensionamento automático está ativado.

O componente cluster-autoscaler está instalado

  1. No painel de navegação à esquerda da página de gerenciamento do cluster, escolha Workload > Deployments.

  2. Selecione o namespace kube-system. O componente cluster-autoscaler aparecerá na lista.

Perguntas frequentes

Categoria

Subcategoria

Link

Comportamento de expansão e redução do dimensionamento automático de nós

Known limitations

Scale-out behavior

Scale-in behavior

Extension support

Does the cluster-autoscaler component support CRDs?

Comportamento de dimensionamento personalizado

Control scaling behavior using pods

How do I delay the scale-out response time of the cluster-autoscaler component for unschedulable pods?

Control scaling behavior using nodes

Componente cluster-autoscaler