Todos os produtos
Search
Central de documentação

Container Compute Service:Horizontal Pod Autoscaler (HPA)

Última atualização: Sep 17, 2026

O Horizontal Pod Autoscaler (HPA) ajusta automaticamente o número de réplicas de pods com base na utilização de recursos. No Container Service for Kubernetes (ACK), você pode ativar o HPA para aplicações usando o console ou o kubectl.

Pré-requisitos

Crie uma aplicação com HPA ativado

Usar o console

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

  2. Na página Clusters, clique no nome do cluster desejado. No painel de navegação à esquerda, escolha Workloads > Deployments.

  3. Na página Deployments, clique em Create from Image.

  4. Na página Basic Information, defina os parâmetros da aplicação e clique em Next.

    Parâmetro

    Descrição

    Namespace

    Namespace da aplicação. O padrão é default.

    Application Name

    Nome da aplicação.

    Replicas

    Número de pods da aplicação. Padrão: 2.

    Workload

    Tipo de workload. Selecione Deployments, StatefulSets, Jobs ou CronJobs.

    Labels

    Rótulo para identificar a aplicação.

    Annotations

    Anotação da aplicação.

    Instance Type

    Tipo de instância do pod. Escolha General-purpose, BestEffort ou Performance-enhanced.

  5. Na página Container, configure o container, selecione uma imagem e especifique as solicitações de recursos. Em seguida, clique em Next. Para mais informações, consulte Configuração do container.

    Nota

    O HPA exige a especificação de solicitações de recursos para o Deployment.

  6. Na página Advanced, na seção Access Control, clique em Create ao lado de Service e configure os parâmetros do Service. Para mais informações, consulte Configurações avançadas.

  7. Na página Advanced, selecione Enable para HPA e configure os parâmetros de dimensionamento.

    • Metric: Métricas suportadas: CPU e memória. Devem corresponder ao tipo de recurso obrigatório configurado.

    • Condition:: Percentual de utilização de recursos. O container realiza scale-out quando a utilização ultrapassa esse valor. Para mais informações sobre o algoritmo do Horizontal Pod Autoscaler, consulte Detalhes do algoritmo.

    • Max. Replicas: Número máximo de containers que o Deployment pode executar.

    • Min. Replicas: Limite inferior para o número de réplicas.

  8. Clique em Create para criar o Deployment com HPA ativado.

Usar kubectl

Você também pode usar um modelo de orquestração e o kubectl para criar um objeto HPA e vinculá-lo a um Deployment.

O exemplo a seguir usa uma aplicação NGINX.

  1. Crie um arquivo chamado nginx.yaml e copie o conteúdo abaixo para ele.

    apiVersion: apps/v1 
    kind: Deployment
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      replicas: 2
      selector:
        matchLabels:
          app: nginx  
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: registry-cn-hangzhou.ack.aliyuncs.com/ack-demo/nginx:1.7.9 # Replace with your image name and tag
            ports:
            - containerPort: 80
            resources:
              requests:                         ## Required for HPA to function.
                cpu: 500m
  2. Execute o comando a seguir para implantar a aplicação NGINX.

    kubectl apply -f nginx.yaml
  3. Crie um arquivo hpa.yaml com o conteúdo a seguir para definir o HPA.

    O campo scaleTargetRef especifica o recurso que o HPA dimensionará. Neste exemplo, o alvo é o Deployment nginx.

    apiVersion: autoscaling/v2
    kind: HorizontalPodAutoscaler
    metadata:
      name: nginx-hpa
    spec:
      scaleTargetRef:
        apiVersion: apps/v1
        kind: Deployment
        name: nginx
      minReplicas: 1  # The minimum replica count. Must be >= 1.
      maxReplicas: 10 # The maximum replica count. Must be > minReplicas.
      metrics:
      - type: Resource
        resource:
          name: cpu
          target:
            type: Utilization
            averageUtilization: 50 # The target average utilization across all pods, calculated as (average usage / requested amount).
                   
  4. Execute o comando a seguir para criar o HPA.

    kubectl apply -f hpa.yaml
  5. Após criar o HPA, execute kubectl describe hpa <HPA_NAME>.

    A saída a seguir indica que o HPA funciona corretamente.

     Type    Reason             Age    From                       Message
      ----    ------             ----   ----                       -------
      Normal  SuccessfulRescale  4m53s  horizontal-pod-autoscaler  New size: 1; reason: All metrics below target

Informações relacionadas

Para dimensionamento automático agendado, consulte Cron Horizontal Pod Autoscaler (CronHPA).