Jika grup penskalaan Anda mencakup contoh kontainer elastis, memperbarui gambar secara manual dapat memakan waktu dan rentan terhadap kesalahan. Untuk menghindari masalah ini, kami merekomendasikan penggunaan fitur pipeline Apsara DevOps di Auto Scaling. Fitur ini mengotomatiskan pembuatan, pembaruan, dan penyebaran gambar ke contoh kontainer elastis Anda.
Prinsip implementasi
Solusi ini mengintegrasikan pipeline Apsara DevOps dengan Auto Scaling untuk memungkinkan pembuatan dan penyebaran gambar cepat di seluruh contoh kontainer elastis setelah pembaruan kode. Proses implementasinya adalah sebagai berikut:
Membangun: Pipeline Apsara DevOps mengemas dan membangun kode Anda dari repositori kode menjadi gambar Docker.
Menerbitkan: Pipeline Apsara DevOps kemudian menerbitkan gambar Docker ke repositori Container Registry.
Memperbarui: Setelah penerbitan, pipeline Apsara DevOps menggunakan CloudOps Orchestration Service (OOS) untuk memperbarui gambar pada contoh kontainer elastis di grup penskalaan Anda, termasuk konfigurasi penskalaan yang digunakan untuk instans baru.
Untuk informasi lebih lanjut tentang Apsara DevOps, lihat Apa itu Alibaba Cloud DevOps?
Persiapan
Jika Anda menggunakan Pengguna Resource Access Management (RAM), pastikan bahwa Anda memiliki izin berikut. Untuk informasi tentang cara memberikan izin kepada Pengguna RAM, lihat Berikan Izin kepada Pengguna RAM.
Konfigurasikan lingkungan
Untuk membangun dan menyebarkan gambar di seluruh contoh kontainer elastis dalam grup penskalaan Anda, selesaikan langkah-langkah berikut:
Langkah 1: Buat repositori Container Registry Alibaba Cloud
Jika Anda sudah memiliki repositori Container Registry, Anda dapat melewati langkah ini.
Setelah membuat repositori Container Registry, Anda dapat menyimpan gambar Anda di repositori tersebut.
Masuk ke Konsol Container Registry.
Buat instans Container Registry.
Di bilah navigasi atas, pilih wilayah Container Registry.
CatatanUntuk mendukung akses berbasis nama domain melalui virtual private cloud (VPC), disarankan untuk membuat repositori Container Registry di wilayah yang sama dengan grup penskalaan Anda. Jika Anda membuat repositori Container Registry di wilayah yang berbeda dari grup penskalaan Anda, Anda harus mengaktifkan akses Internet untuk repositori Container Registry dan contoh kontainer elastis di grup penskalaan Anda.
Di halaman Instans, klik Instance of Personal Edition untuk membuat instans.

Setelah instans dibuat, buka halaman Instans Edisi Pribadi dan klik Reset Docker Login Password.

Setelah mereset kata sandi logon, klik Namespace di panel navigasi kiri lalu klik Create Namespace untuk membuat namespace.
Klik Repositories di panel navigasi kiri lalu klik Create Repository. Di kotak dialog Buat Repositori, konfigurasikan parameter sesuai kebutuhan bisnis Anda. Tabel berikut menjelaskan parameter.
Informasi Repositori
Parameter
Deskripsi
Contoh
Namespace
Pilih namespace yang Anda buat di Langkah 3.
ess_eci_test_namespace
Repository Name
Masukkan nama kustom untuk repositori.
ess_eci_test_repo
Repository Type
Pilih Privat.
Privat
Summary
Masukkan alasan pembuatan repositori.
tes
Sumber Kode
Di langkah Sumber Kode, pilih Local Repository dan klik Create Repository.
Setelah repositori dibuat, buka halaman Details, temukan titik akhir publik, lalu salin titik akhir tersebut untuk digunakan nanti.
Langkah 2: Buat grup penskalaan tipe Elastic Container Instance
Jika Anda sudah memiliki grup penskalaan, Anda dapat melewati langkah ini.
Untuk membuat grup penskalaan, gunakan salah satu metode berikut:
Buat grup penskalaan menggunakan file YAML
Buat grup penskalaan menggunakan formulir
Metode 1: Buat grup penskalaan menggunakan file YAML
Masuk ke Konsol Auto Scaling.
Di bilah navigasi atas, pilih wilayah Auto Scaling. Di panel navigasi kiri, klik Scaling Groups. Di halaman Grup Penskalaan, klik Create.
Di tab Create by YAML File, konfigurasikan parameter sesuai petunjuk untuk membuat grup penskalaan dan klik Create. Dalam topik ini, file YAML berikut digunakan. Untuk informasi lebih lanjut tentang cara membuat grup penskalaan menggunakan file YAML, lihat Gunakan File YAML Kubernetes untuk Mengonfigurasi Grup Penskalaan Tipe Elastic Container Instance.
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'PeringatanJika Anda sudah memiliki gambar, ganti gambar di file YAML contoh dengan milik Anda. Jika tidak ada gambar yang tersedia, gunakan gambar dari file YMAL contoh. Gambar tersebut akan diganti secara otomatis saat pipeline berjalan. Jika Anda tidak menentukan gambar, Anda tidak dapat membuat grup penskalaan.
Parameter
Parameter
Deskripsi
Contoh
k8s.aliyun.com/ess-scaling-group-name
Nama grup penskalaan.
ess-eci-test
k8s.aliyun.com/ess-scaling-group-min-size
Batas bawah jumlah instans dalam grup penskalaan. Jika jumlah instans dalam grup penskalaan kurang dari nilai parameter ini, Auto Scaling secara otomatis membuat instans dalam grup penskalaan hingga mencapai batas bawah.
0
k8s.aliyun.com/ess-scaling-group-max-size
Batas atas jumlah instans dalam grup penskalaan. Jika jumlah instans dalam grup penskalaan lebih besar dari nilai parameter ini, Auto Scaling secara otomatis menghapus instans dari grup penskalaan hingga jumlah instans turun ke batas atas.
5
k8s.aliyun.com/eci-with-eip
Menentukan apakah akan secara otomatis membuat elastic IP addresses (EIPs) dan mengaitkan EIPs dengan contoh kontainer elastis.
false
Metode 2: Buat grup penskalaan menggunakan formulir
Masuk ke Konsol Auto Scaling.
Di bilah navigasi atas, pilih wilayah Auto Scaling.
Buat grup penskalaan.
Di panel navigasi kiri, klik Scaling Groups. Di halaman Grup Penskalaan, klik create.
Di tab Create by Form, konfigurasikan parameter sesuai petunjuk untuk membuat grup penskalaan dan klik Create. Tabel berikut menjelaskan pengaturan parameter untuk contoh ini. Parameter apa pun yang tidak disertakan tetap menggunakan nilai default. Untuk informasi lebih lanjut, lihat Buat Grup Penskalaan.
Parameter
Deskripsi
Contoh
Scaling Group Name
Masukkan nama untuk grup penskalaan.
ess-eci-test
Type
Pilih ECI, yang menentukan bahwa grup penskalaan berisi contoh kontainer elastis.
ECI
Instance Configuration Source
Jangan tentukan template untuk pembuatan otomatis contoh kontainer elastis pada tahap ini. Setelah Anda membuat grup penskalaan, Anda harus melanjutkan untuk membuat konfigurasi penskalaan.
Buat dari Awal
Minimum Number of Instances
Jika Anda menetapkan parameter ini ke 1, grup penskalaan harus berisi setidaknya satu contoh kontainer elastis.
0
Maximum Number of Instances
Jika Anda menetapkan parameter ini ke 5, grup penskalaan dapat berisi hingga lima contoh kontainer elastis.
5
VPC
Tentukan VPC. Contoh kontainer elastis yang terkandung dalam grup penskalaan ini berada di VPC ini.
vpc-test****-001
vSwitch
Tentukan beberapa vSwitch dari zona berbeda untuk meningkatkan tingkat keberhasilan operasi perluasan skala.
vsw-test****
Buat konfigurasi penskalaan untuk grup penskalaan.
Temukan grup penskalaan yang Anda buat dan klik Details di kolom Tindakan untuk pergi ke halaman detail grup penskalaan.
Di tab Instance Configuration Sources, klik Scaling Configurations. Lalu, klik Create Scaling Configuration untuk pergi ke halaman Create Scaling Configuration.
Konfigurasikan parameter sesuai petunjuk. Di kotak dialog Pratinjau Konfigurasi Penskalaan, klik Create. Lalu, klik Enable. Tabel berikut menjelaskan pengaturan parameter yang digunakan dalam contoh ini. Parameter apa pun yang tidak disertakan tetap menggunakan nilai default. Untuk informasi lebih lanjut tentang cara membuat konfigurasi penskalaan, lihat Buat Konfigurasi Penskalaan Tipe Elastic Container Instance.
Parameter
Deskripsi
Contoh
Billing Method
Pilih metode penagihan berdasarkan kebutuhan bisnis Anda.
Bayar sesuai pemakaian
Security Group
Pilih grup keamanan berdasarkan kebutuhan bisnis Anda.
sg-****oer
Masukkan nama kustom untuk kontainer.
nginx
Pilih gambar dan tag gambar berdasarkan kebutuhan bisnis Anda.
PeringatanJika Anda memiliki gambar yang ada, Anda dapat menggunakan gambar yang ada. Jika Anda tidak memiliki gambar yang ada, kami sarankan Anda menggunakan gambar contoh. Jika Anda tidak menentukan gambar, Anda tidak dapat membuat grup penskalaan.
Nama gambar: registry-vpc.cn-hangzhou.aliyuncs.com/eci_open/nginx.
Tag gambar: latest.
Di tab Scaling Configurations, temukan konfigurasi penskalaan yang Anda buat dan klik Apply di kolom Tindakan untuk mengaktifkan konfigurasi penskalaan.
Langkah 3: Konfigurasikan pipeline Apsara DevOps
Anda harus mengonfigurasi pipeline Apsara DevOps untuk mengotomatiskan pembuatan paket gambar, pelepasan, dan penyebaran.
Di halaman detail grup penskalaan, klik tab Publish Management lalu klik Publish by Using Apsara DevOps.

Pilih organisasi dari daftar drop-down Organisasi untuk Diasosiasikan dan klik Next.
PentingJika tidak ada organisasi yang tersedia, klik Create Organization untuk membuat organisasi sesuai petunjuk. Setelah membuat dan memilih organisasi, selesaikan otorisasi sesuai petunjuk.
Konfigurasikan pipeline.
Konfigurasikan sumber pipeline. Di bagian Pipeline Source, klik + Add lalu klik Sample Code Source. Lalu, klik Add.
CatatanJika Anda memiliki repositori kode sendiri, Anda dapat memilih URL repositori kode Anda sesuai petunjuk.
Tambahkan tugas pembuatan gambar.
Di bagian Image Building Task, klik + Add.
Di panel Image Building Task, klik Create Service Connection di bagian Select Service Connection. Setelah halaman ditampilkan, klik Create Service Connection.

Di kotak dialog yang muncul, pilih Container Registry (ACR) dan klik Next. Lalu, pilih Authorize Service. Jika tombol Otorisasi Layanan tidak muncul, klik Create untuk pergi ke halaman otorisasi dan lalu klik Create.
Kembali ke panel Image Building Task. Di daftar drop-down Service Connection, pilih koneksi layanan yang telah dibuat. Di daftar drop-down Image Repository, pilih repositori gambar yang telah dibuat dan klik Add.

Tambahkan tugas penyebaran.
Di bagian Deployment Task, klik + Add. Di bagian Select Service Connection, klik Create Service Connection.

Di kotak dialog yang muncul, pilih Auto Scaling. Klik Next lalu klik Create.
Di bagian Image Deployment, pilih Build an image and push it to Alibaba Cloud Image Warehouse Personal Edition.Mirror VPC address dan klik Add.
CatatanJika grup penskalaan dan gambar berada di wilayah yang sama, disarankan untuk memilih Build an image and push it to Alibaba Cloud Image Warehouse Personal Edition.Mirror VPC address. Jika Anda ingin menarik gambar dalam kasus lain, pastikan bahwa contoh kontainer elastis dapat mengakses Internet.
Klik Create.
Studi kasus: Bangun dan sebarkan gambar
Jika Pengguna RAM lain ingin menggunakan fitur ini, pastikan bahwa Pengguna RAM tersebut termasuk dalam organisasi Anda dan memiliki izin pipeline. Pengguna RAM juga harus memiliki izin berikut:
Izin untuk mengelola sumber daya Apsara DevOps RDC
Izin baca-saja untuk sumber daya RAM
Izin untuk mengelola sumber daya CloudOps Orchestration Service (OOS)
Setelah Anda memperbarui kode, klik Run di tab Publish by Using Apsara DevOps untuk mengemas dan menyebarkan kode baru ke grup penskalaan Anda.
Selesaikan persiapan berikut:
Konfigurasikan lingkungan. Untuk informasi lebih lanjut, lihat Konfigurasikan Lingkungan.
Perbarui dan dorong kode Anda ke repositori kode.
Bangun dan sebarkan gambar dengan beberapa klik.
Buka halaman detail grup penskalaan. Klik tab Publish Management, pilih tab Publish by Using Apsara DevOps, lalu klik Run. Catatan baru akan ditambahkan ke daftar catatan yang sedang berjalan.

Di daftar catatan, klik Details untuk melihat detail pipeline. Tunggu hingga pipeline selesai dieksekusi. Setelah pipeline selesai, contoh kontainer elastis dan konfigurasi penskalaan grup penskalaan Anda diperbarui secara otomatis. Instans baru akan menggunakan gambar terbaru.

Di tab Instance Configuration Sources, temukan konfigurasi penskalaan aktif dan klik Edit untuk memeriksa konfigurasi penskalaan. Periksa apakah gambar di bagian Container Configurations telah diperbarui.
Picu peristiwa perluasan skala secara manual. Di tab Instances, klik instans kontainer elastis yang baru diperluas skalanya dan periksa apakah instans tersebut menggunakan gambar baru.
Jika grup penskalaan berisi instans kontainer elastis dalam status Berjalan, klik nama instans tersebut di tab Instances untuk membuka halaman detail instans dan periksa apakah gambar instans telah diperbarui.