All Products
Search
Document Center

Auto Scaling:Secara otomatis membangun dan memperbarui gambar untuk grup penskalaan ECI menggunakan pipeline Alibaba Cloud DevOps

Last Updated:Jun 09, 2026

Integrasikan pipeline Alibaba Cloud DevOps dengan Auto Scaling untuk secara otomatis membangun dan men-deploy container images ke grup penskalaan ECI Anda hanya dengan satu klik.

Cara kerja

Solusi ini menggunakan pipeline Alibaba Cloud DevOps untuk mengotomatiskan pembuatan dan penerapan gambar setelah Anda memperbarui kode:

  1. Pipeline membangun repositori kode Anda menjadi container image.

  2. Pipeline menerbitkan gambar tersebut ke Container Registry (ACR).

  3. Pipeline menggunakan Operation Orchestration Service (OOS) untuk memperbarui instans grup penskalaan dan konfigurasi penskalaan agar menggunakan gambar baru.

Apa itu Alibaba Cloud DevOps?

Prasyarat

Jika Anda login sebagai RAM user, pastikan Anda memiliki izin yang diperlukan. Mengelola izin RAM user.

Contoh kebijakan kustom

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "ess:*",
                "cr:*",
                "rdc:*",
                "vpc:Describe*",
                "ecs:DescribeSecurityGroups",
                "oos:ListExecutions",
                "oos:ListTaskExecutions",
                "oos:GetExecutionTemplate",
                "eci:Describe*",
                "eci:ListUsage",
                "oss:GetExecutionTemplate",
                "ram:GetRole"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

Konfigurasi lingkungan

Ikuti langkah-langkah berikut untuk menyiapkan penerapan gambar satu-klik.

Langkah 1: Buat repositori Container Registry (ACR)

Penting

Jika Anda sudah memiliki repositori Container Registry (ACR), Anda dapat melewati langkah ini.

Repositori ini menyimpan gambar yang telah dibangun.

  1. Login ke Konsol Container Registry.

  2. Buat instans Container Registry.

    1. Di bilah navigasi atas, pilih wilayah.

      Catatan

      Simpan repositori dan grup penskalaan di wilayah yang sama agar komunikasi VPC melalui nama domain internal dapat berfungsi. Konfigurasi lintas-wilayah memerlukan akses jaringan publik baik untuk repositori maupun instans grup penskalaan.

    2. Di halaman Instances, klik Personal Instance dan tunggu hingga instans selesai dibuat.

    3. Setelah instans dibuat, klik Reset Docker Login Password di halaman detail instans dan ikuti petunjuk di layar untuk mengatur kata sandi.

  3. Setelah mengatur kata sandi login registri, di panel navigasi kiri, klik Namespaces. Lalu, klik Create Namespace dan ikuti petunjuk di layar untuk membuat namespace.

  4. Di panel navigasi kiri, pilih Repositories, lalu klik Create Repository. Konfigurasikan parameter sesuai permintaan. Tabel berikut menjelaskan parameter utama.

    • Informasi repositori

      Parameter

      Deskripsi

      Contoh

      Namespaces

      Pilih namespace yang telah Anda buat pada langkah sebelumnya.

      ess_eci_test_namespace

      Repository Name

      Masukkan nama kustom untuk repositori.

      ess_eci_test_repo

      Repository Type

      Pilih Private.

      Private

      Summary

      Masukkan deskripsi singkat mengenai tujuan repositori.

      test

    • Sumber kode

      Pilih Local Repository, lalu klik Create Repository.

  5. Setelah repositori dibuat, Anda akan diarahkan ke halaman Details-nya. Temukan dan salin Public endpoint untuk digunakan nanti.

Langkah 2: Buat grup penskalaan ECI

Penting

Jika Anda sudah memiliki grup penskalaan, Anda dapat melewati langkah ini.

Anda dapat membuat grup penskalaan dengan salah satu cara berikut:

  • Menggunakan file YAML

  • Menggunakan formulir konsol web

Gunakan file YAML

  1. Login ke Konsol Auto Scaling.

  2. Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, klik Scaling Groups, lalu klik Create Scaling Group.

  3. Pada tab Create by YAML File, konfigurasikan grup penskalaan, lalu klik Create. Topik ini menggunakan konfigurasi berikut: Konfigurasikan grup penskalaan ECI dengan menggunakan File YAML Kubernetes.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-demo
      annotations:
        k8s.aliyun.com/ess-scaling-group-name: ess-eci-test
        k8s.aliyun.com/ess-scaling-group-min-size: 0
        k8s.aliyun.com/ess-scaling-group-max-size: 5
    spec:
      selector:
        matchLabels:
          app: nginx-demo
      replicas: 0
      template:
        metadata:
          labels:
            app: nginx-demo
          annotations:
            k8s.aliyun.com/eci-with-eip: false
        spec:
          containers:
            - name: nginx
              image: registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx:latest
              ports:
                - containerPort: 80
                  name: http
                - containerPort: 443
                  name: https
              resources:
                requests:
                  memory: 0.05Gi
                  cpu: 50m
                limits:
                  memory: 1Gi
                  cpu: '1'
    Peringatan

    Gunakan gambar aplikasi Anda sendiri jika tersedia; jika tidak, gunakan contoh gambar. Pipeline akan menggantinya nanti. Gambar diperlukan untuk membuat grup penskalaan.

    Tabel berikut menjelaskan parameter-parameter tersebut.

    Parameter

    Deskripsi

    Contoh

    k8s.aliyun.com/ess-scaling-group-name

    Nama grup penskalaan.

    ess-eci-test

    k8s.aliyun.com/ess-scaling-group-min-size

    Jumlah minimum instans dalam grup penskalaan. Auto Scaling akan menambahkan instans jika jumlahnya turun di bawah nilai ini.

    0

    k8s.aliyun.com/ess-scaling-group-max-size

    Jumlah maksimum instans dalam grup penskalaan. Auto Scaling akan menghapus instans jika jumlahnya melebihi nilai ini.

    5

    k8s.aliyun.com/eci-with-eip

    Apakah akan secara otomatis menetapkan alamat Elastic IP (EIP).

    false

Gunakan formulir konsol

  1. Login ke Konsol Auto Scaling.

  2. Di bilah navigasi atas, pilih wilayah.

  3. Buat grup penskalaan.

    1. Di panel navigasi kiri, klik Scaling Groups, lalu klik Create Scaling Group.

    2. Di tab Create by Form, konfigurasikan grup penskalaan dan klik Create. Topik ini menggunakan konfigurasi berikut. Buat grup penskalaan.

      Parameter

      Deskripsi

      Contoh

      Scaling Group Name

      Masukkan nama untuk grup penskalaan.

      ess-eci-test

      Type

      Pilih ECI. Ini menentukan bahwa instans dalam grup penskalaan adalah instans ECI.

      ECI

      Instance Configuration Source

      Membuat konfigurasi penskalaan setelah grup penskalaan dibuat.

      Create from Scratch

      Minimum Number of Instances

      Jumlah minimum instans ECI dalam grup penskalaan.

      0

      Maximum Number of Instances

      Jumlah maksimum instans ECI dalam grup penskalaan.

      5

      VPC

      Instans dalam grup penskalaan ini ditempatkan di VPC ini.

      vpc-test****-001

      vSwitch

      Tentukan vSwitch di beberapa zona untuk meningkatkan tingkat keberhasilan skala keluar.

      vsw-test****

  4. Buat konfigurasi penskalaan untuk grup penskalaan tersebut.

    1. Temukan grup penskalaan yang baru saja Anda buat, lalu klik More untuk membuka halaman detail grup penskalaan.

    2. Di tab Instance Configuration Sources, klik Scaling Configuration, lalu klik Create Scaling Configuration untuk membuka halaman Create Scaling Configuration.

    3. Topik ini menggunakan konfigurasi berikut. Biarkan semua parameter lain tetap pada nilai default-nya. Setelah menyelesaikan konfigurasi, klik Confirm Configuration, lalu klik Create Order. Buat konfigurasi penskalaan untuk instans ECI.

      Parameter

      Deskripsi

      Contoh

      Billing Method

      Pilih metode penagihan sesuai kebutuhan Anda.

      Pay-as-you-go

      Security Group

      Pilih security group sesuai kebutuhan Anda.

      sg-****oer

      Container Configuration > Container Name

      Masukkan nama untuk kontainer Anda.

      nginx

      Container Configuration > Image

      Pilih gambar dan versi untuk kontainer.

      Peringatan

      Gunakan gambar aplikasi Anda sendiri jika tersedia; jika tidak, gunakan contoh gambar. Gambar diperlukan untuk membuat grup penskalaan.

      • Image Name: registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx

      • Image Tag: latest

    4. Di tab Scaling Configuration, temukan konfigurasi penskalaan yang baru saja Anda buat dan klik Enable.

Langkah 3: Konfigurasi pipeline DevOps

Siapkan pipeline Alibaba Cloud DevOps untuk mengotomatiskan pembuatan dan penerapan gambar.

  1. Di halaman Scaling Groups, klik tab Publish Management, lalu klik Release with Alibaba Cloud DevOps.

  2. Pilih organisasi Alibaba Cloud DevOps dan klik Next.

    Penting

    Jika Anda belum membuat organisasi Alibaba Cloud DevOps, klik Create Organization dan ikuti petunjuknya. Setelah memilih organisasi, lengkapi otorisasi sesuai permintaan.

  3. Konfigurasi pipeline.

    1. Konfigurasi sumber pipeline. Di bagian Pipeline Source, klik Add, pilih Sample code source, lalu klik Add.

      Catatan

      Jika Anda memiliki sumber kode sendiri, pilih URL repositori kode Anda sesuai permintaan.

    2. Tambahkan tugas pembuatan gambar.

      1. Di bagian Image Building Task, klik Add.

      2. Di Image Building Task > Select Service Connection, klik Create Service Connection. Anda akan diarahkan ke halaman manajemen koneksi layanan Alibaba Cloud DevOps. Klik Create Service Connection.

      3. Pilih Container Registry (ACR), klik Next, pilih layanan untuk Service Authorization, lalu klik Create. Jika tidak ada layanan yang tersedia, klik Create untuk membuka halaman otorisasi.

      4. Kembali ke halaman Image Building Task. Untuk parameter Select Service Connection, pilih koneksi layanan yang telah Anda buat. Untuk parameter Repositories, pilih repositori yang telah Anda buat. Lalu, klik Add.

        Atur Image type ke Personal Edition, pilih Alibaba Cloud DevOps Beijing Build Cluster untuk Build cluster, dan pilih wilayah target seperti China (Hangzhou) untuk Region.

    3. Tambahkan tugas penerapan.

      1. Di bagian Deployment Task, klik Add. Di bagian Select Service Connection, klik Create Service Connection.

        Di panel konfigurasi tugas penerapan, atur Task name ke ESS ECI Deployment, pilih Alibaba Cloud DevOps Beijing Build Cluster untuk Build cluster, pilih nginx untuk Container to update, atur Release batches ke 2 batches, dan atur Batch method ke Auto-confirm.

      2. Untuk Service Connection Type, pilih Auto Scaling (ESS), klik Next, lalu klik Create.

      3. Di bagian Image Deployment, pilih Image built and pushed to Alibaba Cloud Container Registry Personal Edition.Image VPC Address, lalu klik Add.

        Catatan

        Jika grup penskalaan dan Container Registry Anda berada di wilayah yang sama, pilih Mirror VPC address. Konfigurasi lintas-wilayah memerlukan akses jaringan publik untuk menarik gambar.

    4. Klik Create.

Jalankan pipeline

Penting

Untuk mengizinkan RAM user lain menggunakan fitur ini, pastikan RAM user tersebut termasuk dalam organisasi Alibaba Cloud DevOps Anda dan memiliki izin pipeline. RAM user tersebut memerlukan setidaknya:

  • Mengelola izin di Apsara DevOps (RDC).

  • Akses read-only ke Resource Access Management (RAM).

  • Mengelola izin di Operation Orchestration Service (OOS).

Setelah memperbarui kode Anda, di tab Publish by Using Apsara DevOps, klik Run untuk membangun dan menerapkan gambar baru ke grup penskalaan Anda.

  1. Prasyarat

    • Lingkungan telah dikonfigurasi. Konfigurasi lingkungan.

    • Anda telah memperbarui kode dan mendorongnya ke repositori kode.

  2. Bangun dan terapkan gambar dengan satu klik.

    1. Buka grup penskalaan, klik tab Publish Management, klik sub-tab Release with Alibaba Cloud DevOps, lalu klik Run. Entri baru akan muncul di daftar riwayat eksekusi.

    2. Di daftar riwayat eksekusi, klik Details untuk memantau pipeline. Setelah selesai, instans grup penskalaan dan konfigurasi penskalaan akan diperbarui secara otomatis, sehingga instans skala keluar baru akan menggunakan gambar terbaru.

      • Di tab Instance Configuration Sources, temukan konfigurasi penskalaan aktif, klik Modify, dan verifikasi bahwa bidang Container Configuration > Image telah diperbarui.

      • Picu secara manual event skala keluar. Di tab Instances, klik instans ECI yang baru ditambahkan untuk memastikan bahwa instans tersebut menggunakan gambar baru.

      • Untuk instans ECI yang sudah ada, buka tab Instances, klik nama instans untuk membuka halaman detailnya, dan pastikan gambar telah diperbarui.