Tous les produits
Search
Centre de documentation

Container Compute Service:Horizontal Pod Autoscaler (HPA)

Dernière mise à jour :Aug 12, 2026

Horizontal Pod Autoscaler (HPA) ajuste automatiquement le nombre de réplicas de pods en fonction de l'utilisation des ressources. Dans Container Service for Kubernetes (ACK), activez HPA pour vos applications via la console ou kubectl.

Prérequis

Créer une application avec HPA activé

Via la console

  1. Connectez-vous à la console ACS. Dans le volet de navigation de gauche, cliquez sur Clusters.

  2. Sur la page Clusters, cliquez sur le nom du cluster cible. Dans le volet de navigation de gauche, choisissez Workloads > Deployments.

  3. Sur la page Deployments, cliquez sur Create from Image.

  4. Sur la page , définissez les paramètres de l'application et cliquez sur .

    Paramètre

    Description

    Namespace

    Namespace de l'application. La valeur par défaut est default.

    Application Name

    Nom de l'application.

    Replicas

    Nombre de pods pour l'application. Valeur par défaut : 2.

    Workload

    Type de charge de travail. Sélectionnez , , ou .

    Labels

    Libellé permettant d'identifier l'application.

    Annotations

    Annotation associée à l'application.

    Instance Type

    Type d'instance du pod. Choisissez General-purpose, BestEffort ou Performance-enhanced.

  5. Sur la page , configurez le conteneur, sélectionnez une image et spécifiez les requêtes de ressources. Cliquez ensuite sur . Pour plus d'informations, consultez Configuration du conteneur.

    Remarque

    Le HPA requiert la définition de requêtes de ressources pour le Deployment.

  6. Sur la page Advanced, dans la section Access Control, cliquez sur en regard de Service, puis configurez les paramètres du Service. Pour plus d'informations, consultez Configurations avancées.

  7. Toujours sur la page Advanced, sélectionnez Enable pour HPA et configurez les paramètres de mise à l'échelle.

    • Metric : Les métriques prises en charge sont le CPU et la mémoire. Ce paramètre doit correspondre au type de ressource requis configuré.

    • Condition: : Pourcentage d'utilisation des ressources. Le conteneur scale out lorsque l'utilisation dépasse cette valeur. Pour plus d'informations sur l'algorithme Horizontal Pod Autoscaling, consultez Détails de l'algorithme.

    • Max. Replicas : Nombre maximal de conteneurs que le Deployment peut exécuter.

    • Min. Replicas : Limite inférieure du nombre de réplicas.

  8. Cliquez sur pour créer le Deployment avec HPA activé.

Via kubectl

Utilisez également un modèle d'orchestration et kubectl pour créer un objet HPA et l'associer à un Deployment.

L'exemple suivant utilise une application NGINX.

  1. Créez un fichier nommé nginx.yaml et copiez-y le contenu suivant.

    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. Exécutez la commande suivante pour déployer l'application NGINX.

    kubectl apply -f nginx.yaml
  3. Créez un fichier hpa.yaml contenant les éléments suivants afin de définir le HPA.

    Le champ scaleTargetRef indique la ressource concernée par la mise à l'échelle HPA. Dans cet exemple, il cible le 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. Exécutez la commande ci-dessous pour créer le HPA.

    kubectl apply -f hpa.yaml
  5. Une fois le HPA créé, exécutez kubectl describe hpa <HPA_NAME>.

    La sortie suivante confirme le bon fonctionnement du HPA.

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

Informations connexes

Pour la mise à l'échelle automatique planifiée, consultez Cron Horizontal Pod Autoscaler (CronHPA).