Tüm Ürünler
Search
Belge Merkezi

Container Compute Service:Horizontal Pod Autoscaler (HPA)

Son Güncelleme:Oct 08, 2026

Horizontal Pod Autoscaler (HPA), kaynak kullanımına göre pod çoğaltma sayısını otomatik olarak ayarlar. Container Service for Kubernetes (ACK) içinde uygulamalarınız için HPA'yı konsol veya kubectl kullanarak etkinleştirebilirsiniz.

Ön koşullar

HPA etkinleştirilmiş bir uygulama oluşturun

Konsolu kullanın

  1. ACS konsoluna giriş yapın. Sol gezinme bölmesinde Clusters öğesini tıklayın.

  2. Clusters sayfasında hedef kümenin adını tıklayın. Sol gezinme bölmesinde Workloads > Deployments seçeneğini belirleyin.

  3. Deployments sayfasında Create from Image seçeneğini tıklayın.

  4. Basic Information sayfasında uygulama parametrelerini belirtin ve Next seçeneğini tıklayın.


    Parameter


    Description


    Namespace


    Uygulamanın ait olduğu ad alanı. Varsayılan değer: default.


    Application Name


    Uygulamanın adı.


    Replicas


    Uygulama için pod sayısı. Varsayılan: 2.


    Workload


    İş yükü türü. Deployments, StatefulSets, Jobs veya CronJobs seçeneklerinden birini belirleyin.


    Labels


    Uygulamayı tanımlamak için kullanılan etiket.


    Annotations


    Uygulama için ek açıklama (annotation).


    Instance Type


    Pod'un örnek türü. General-purpose, BestEffort veya Performance-enhanced seçeneklerinden birini belirleyin.

  5. Container sayfasında konteyneri yapılandırın, bir görüntü seçin ve kaynak isteklerini belirtin. Ardından Next seçeneğini tıklayın. Daha fazla bilgi için bkz. Konteyner yapılandırması.

    Not

    HPA'nın çalışması için Deployment üzerinde kaynak isteklerinin belirtilmiş olması gerekir.

  6. Access Control bölümünde, Advanced sayfasında Service yanındaki Create seçeneğini tıklayın ve Service parametrelerini yapılandırın. Daha fazla bilgi için bkz. Gelişmiş yapılandırmalar.

  7. HPA için Advanced sayfasında Enable seçeneğini belirleyin ve ölçeklendirme parametrelerini yapılandırın.

    • Metric: Desteklenen ölçümler CPU ve bellektir. Yapılandırılan gerekli kaynak türüyle eşleşmelidir.

    • Condition:: Kaynak kullanım yüzdesi. Kullanım bu değeri aştığında konteyner dışa doğru ölçeklenir. Yatay Pod Otomatik Ölçeklendirme algoritması hakkında daha fazla bilgi için bkz. Algorithm details.

    • Max. Replicas: Deployment'ın çalıştırabileceği maksimum konteyner sayısı.

    • Min. Replicas: Çoğaltma sayısı için alt sınır.

  8. HPA etkinleştirilmiş Deployment'ı oluşturmak için Create seçeneğini tıklayın.

kubectl kullanın

Bir orkestrasyon şablonu ve kubectl kullanarak bir HPA nesnesi oluşturup bunu bir Deployment'a bağlayabilirsiniz.

Aşağıdaki örnekte bir NGINX uygulaması kullanılmaktadır.

  1. nginx.yaml adlı bir dosya oluşturun ve aşağıdaki içeriği dosyaya kopyalayın.

    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. NGINX uygulamasını dağıtmak için aşağıdaki komutu çalıştırın.

    kubectl apply -f nginx.yaml
  3. HPA'yı tanımlamak için aşağıdaki içeriğe sahip bir hpa.yaml dosyası oluşturun.

    scaleTargetRef alanı, HPA'nın ölçeklendireceği kaynağı belirtir. Bu örnekte hedef nginx Deployment'ıdır.

    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. HPA'yı oluşturmak için aşağıdaki komutu çalıştırın.

    kubectl apply -f hpa.yaml
  5. HPA oluşturulduktan sonra kubectl describe hpa <HPA_NAME> komutunu çalıştırın.

    Aşağıdaki çıktı, HPA'nın doğru çalıştığını gösterir.

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

İlgili bilgiler

Zamanlanmış otomatik ölçeklendirme için bkz. Cron Horizontal Pod Autoscaler (CronHPA).