全部产品
Search
文档中心

Container Compute Service:Penyesuaian Otomatis Pod Horizontal (HPA)

更新时间:Feb 03, 2026

Alibaba Cloud Container Compute Service (ACS) memungkinkan Anda membuat aplikasi yang mendukung Penyesuaian Otomatis Pod Horizontal (HPA) melalui Konsol atau kubectl. HPA secara otomatis menyesuaikan jumlah replika Pod berdasarkan pemanfaatan resource sehingga aplikasi Anda dapat diskalakan sesuai permintaan. Topik ini menjelaskan cara membuat aplikasi yang mendukung HPA dan memverifikasi perilaku penskalaannya.

Prasyarat

Buat aplikasi yang mendukung HPA

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 with Image.

  4. Pada halaman Basic Information, masukkan nama aplikasi lalu klik Next.

    Parameter

    Description

    Namespace

    Pilih namespace tempat Anda ingin menerapkan aplikasi. Namespace default dipilih secara otomatis.

    Application Name

    Masukkan nama untuk aplikasi Anda.

    Number of Replicas

    Tentukan jumlah awal Pod untuk aplikasi Anda. Nilai default adalah 2.

    Workload

    Pilih tipe workload: Stateless, Stateful, Task, atau Scheduled Task.

    Label

    Tambahkan label untuk mengidentifikasi dan mengelompokkan aplikasi Anda.

    Annotation

    Tambahkan anotasi untuk menyambungkan metadata ke aplikasi Anda.

    Instance Type

    Pilih tipe instans Pod: General-purpose, BestEffort, atau Compute-optimized.

  5. Pada halaman Container Configuration, konfigurasikan pengaturan kontainer Anda, pilih image, dan tentukan kebutuhan resource. Lalu klik Next. Untuk detailnya, lihat Container configuration.

    Catatan

    Anda harus menentukan resource requests untuk deployment tersebut. HPA tidak dapat menskalakan kontainer tanpa resource requests yang telah ditentukan.

  6. Pada halaman Advanced Settings, di bagian Access Settings, klik Create untuk mengonfigurasi pengaturan layanan. Untuk detailnya, lihat Advanced Configuration.

  7. Pada halaman Advanced Settings, atur Metric-based Scaling ke Enable dan konfigurasikan parameter penskalaan.

  8. Klik Create di pojok kanan bawah. Deployment yang mendukung HPA Anda sekarang telah dibuat.

kubectl

Anda dapat menggunakan kubectl untuk membuat resource HPA dari manifes YAML. Resource HPA tersebut mereferensikan dan menskalakan deployment target Anda.

Contoh berikut menunjukkan cara mengonfigurasi HPA untuk aplikasi Nginx.

  1. Buat file bernama nginx.yaml dan tambahkan manifes deployment berikut.

    Manifes ini mendefinisikan deployment Nginx dengan resource requests CPU.

    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 image Anda
            ports:
            - containerPort: 80
            resources:
              requests:                         # Diperlukan agar HPA berfungsi
                cpu: 500m
  2. Jalankan perintah berikut untuk membuat deployment Nginx.

    kubectl apply -f nginx.yaml
  3. Buat file bernama hpa.yaml dan tambahkan manifes HPA berikut.

    Bidang scaleTargetRef menentukan deployment yang dipantau dan diskalakan oleh HPA. Pada contoh ini, HPA menargetkan deployment nginx.

    apiVersion: autoscaling/v2
    kind: HorizontalPodAutoscaler
    metadata:
      name: nginx-hpa
    spec:
      scaleTargetRef:
        apiVersion: apps/v1
        kind: Deployment
        name: nginx
      minReplicas: 1  # Replika minimum. Harus 1 atau lebih.
      maxReplicas: 10 # Replika maksimum. Harus lebih besar dari minReplicas.
      metrics:
      - type: Resource
        resource:
          name: cpu
          target:
            type: Utilization
            averageUtilization: 50 # Persentase target pemanfaatan CPU
  4. Jalankan perintah berikut untuk membuat resource HPA.

    kubectl apply -f hpa.yaml
  5. Jalankan perintah berikut untuk memverifikasi bahwa HPA berfungsi dengan benar.

    kubectl describe hpa nginx-hpa

    Jika HPA berjalan dengan benar, Anda akan melihat output seperti berikut:

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

Informasi terkait

Untuk menjadwalkan autoscaling berdasarkan waktu alih-alih metrik resource, lihat CronHPA.