All Products
Search
Document Center

Container Compute Service:Horizontal Pod Autoscaler (HPA)

Last Updated:Sep 17, 2026

Horizontal Pod Autoscaler (HPA) secara otomatis menyesuaikan jumlah replika Pod berdasarkan pemanfaatan sumber daya. Di Container Service for Kubernetes (ACK), Anda dapat mengaktifkan HPA untuk aplikasi melalui Konsol atau kubectl.

Prasyarat

Buat aplikasi yang diaktifkan HPA

Gunakan Konsol

  1. Masuk ke Konsol ACS. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Workloads > Deployments.

  3. Pada halaman Deployments, klik Create from Image.

  4. Pada halaman Basic Information, atur parameter aplikasi lalu klik Next.

    Parameter

    Deskripsi

    Namespace

    Namespace untuk aplikasi. Nilai default: default.

    Application Name

    Nama aplikasi.

    Replicas

    Jumlah Pod untuk aplikasi. Default: 2.

    Workload

    Jenis workload. Pilih Deployments, StatefulSets, Jobs, atau CronJobs.

    Labels

    Label untuk mengidentifikasi aplikasi.

    Annotations

    Anotasi untuk aplikasi.

    Instance Type

    Tipe instans Pod. Pilih General-purpose, BestEffort, atau Performance-enhanced.

  5. Pada halaman Container, konfigurasikan kontainer, pilih image, dan tentukan permintaan sumber daya. Lalu, klik Next. Untuk informasi selengkapnya, lihat Konfigurasi kontainer.

    Catatan

    HPA memerlukan permintaan sumber daya yang ditentukan untuk Deployment.

  6. Pada halaman Advanced, di bagian Access Control, klik Create di sebelah Service, lalu konfigurasikan parameter Service. Untuk informasi selengkapnya, lihat Konfigurasi lanjutan.

  7. Pada halaman Advanced, pilih Enable untuk HPA dan konfigurasikan parameter penskalaan.

    • Metric: Metrik yang didukung adalah CPU dan memori. Harus sesuai dengan jenis sumber daya yang dikonfigurasi.

    • Condition:: Persentase pemanfaatan sumber daya. Kontainer melakukan scale out ketika pemanfaatan melebihi nilai ini. Untuk informasi lebih lanjut tentang algoritma Horizontal Pod Autoscaling, lihat Algorithm details.

    • Max. Replicas: Jumlah maksimum kontainer yang dapat dijalankan oleh Deployment.

    • Min. Replicas: Batas bawah jumlah replika.

  8. Klik Create untuk membuat Deployment yang diaktifkan HPA.

Gunakan kubectl

Anda juga dapat menggunakan template orkestrasi dan kubectl untuk membuat objek HPA dan mengaitkannya ke Deployment.

Contoh berikut menggunakan aplikasi NGINX.

  1. Buat file bernama nginx.yaml dan salin konten berikut ke dalamnya.

    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 # Ganti dengan nama dan tag image Anda
            ports:
            - containerPort: 80
            resources:
              requests:                         ## Diperlukan agar HPA berfungsi.
                cpu: 500m
  2. Jalankan perintah berikut untuk men-deploy aplikasi NGINX.

    kubectl apply -f nginx.yaml
  3. Buat file hpa.yaml dengan konten berikut untuk mendefinisikan HPA.

    Bidang scaleTargetRef menentukan resource yang diskalakan oleh HPA. Pada contoh ini, targetnya adalah Deployment nginx.

    apiVersion: autoscaling/v2
    kind: HorizontalPodAutoscaler
    metadata:
      name: nginx-hpa
    spec:
      scaleTargetRef:
        apiVersion: apps/v1
        kind: Deployment
        name: nginx
      minReplicas: 1  # Jumlah replika minimum. Harus >= 1.
      maxReplicas: 10 # Jumlah replika maksimum. Harus > minReplicas.
      metrics:
      - type: Resource
        resource:
          name: cpu
          target:
            type: Utilization
            averageUtilization: 50 # Target rata-rata pemanfaatan di semua Pod, dihitung sebagai (rata-rata penggunaan / jumlah yang diminta).
                   
  4. Jalankan perintah berikut untuk membuat HPA.

    kubectl apply -f hpa.yaml
  5. Setelah HPA dibuat, jalankan kubectl describe hpa <HPA_NAME>.

    Output berikut menunjukkan bahwa HPA bekerja dengan benar.

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

Informasi terkait

Untuk penskalaan terjadwal, lihat Penjadwal Horizontal Pod Autoscaler (CronHPA).