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:
-
Pipeline membangun repositori kode Anda menjadi container image.
-
Pipeline menerbitkan gambar tersebut ke Container Registry (ACR).
-
Pipeline menggunakan Operation Orchestration Service (OOS) untuk memperbarui instans grup penskalaan dan konfigurasi penskalaan agar menggunakan gambar baru.
Prasyarat
Jika Anda login sebagai RAM user, pastikan Anda memiliki izin yang diperlukan. Mengelola izin RAM user.
Konfigurasi lingkungan
Ikuti langkah-langkah berikut untuk menyiapkan penerapan gambar satu-klik.
Langkah 1: Buat repositori Container Registry (ACR)
Jika Anda sudah memiliki repositori Container Registry (ACR), Anda dapat melewati langkah ini.
Repositori ini menyimpan gambar yang telah dibangun.
-
Login ke Konsol Container Registry.
-
Buat instans Container Registry.
-
Di bilah navigasi atas, pilih wilayah.
CatatanSimpan 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.
-
Di halaman Instances, klik Personal Instance dan tunggu hingga instans selesai dibuat.
-
Setelah instans dibuat, klik Reset Docker Login Password di halaman detail instans dan ikuti petunjuk di layar untuk mengatur kata sandi.
-
-
Setelah mengatur kata sandi login registri, di panel navigasi kiri, klik Namespaces. Lalu, klik Create Namespace dan ikuti petunjuk di layar untuk membuat namespace.
-
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.
-
-
Setelah repositori dibuat, Anda akan diarahkan ke halaman Details-nya. Temukan dan salin Public endpoint untuk digunakan nanti.
Langkah 2: Buat grup penskalaan ECI
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
Login ke Konsol Auto Scaling.
-
Di bilah navigasi atas, pilih wilayah. Di panel navigasi kiri, klik Scaling Groups, lalu klik Create Scaling Group.
-
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'PeringatanGunakan 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
Login ke Konsol Auto Scaling.
-
Di bilah navigasi atas, pilih wilayah.
-
Buat grup penskalaan.
-
Di panel navigasi kiri, klik Scaling Groups, lalu klik Create Scaling Group.
-
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****
-
-
Buat konfigurasi penskalaan untuk grup penskalaan tersebut.
-
Temukan grup penskalaan yang baru saja Anda buat, lalu klik More untuk membuka halaman detail grup penskalaan.
-
Di tab Instance Configuration Sources, klik Scaling Configuration, lalu klik Create Scaling Configuration untuk membuka halaman Create Scaling Configuration.
-
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
Masukkan nama untuk kontainer Anda.
nginx
Pilih gambar dan versi untuk kontainer.
PeringatanGunakan 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
-
-
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.
-
Di halaman Scaling Groups, klik tab Publish Management, lalu klik Release with Alibaba Cloud DevOps.
-
Pilih organisasi Alibaba Cloud DevOps dan klik Next.
PentingJika Anda belum membuat organisasi Alibaba Cloud DevOps, klik Create Organization dan ikuti petunjuknya. Setelah memilih organisasi, lengkapi otorisasi sesuai permintaan.
-
Konfigurasi pipeline.
-
Konfigurasi sumber pipeline. Di bagian Pipeline Source, klik Add, pilih Sample code source, lalu klik Add.
CatatanJika Anda memiliki sumber kode sendiri, pilih URL repositori kode Anda sesuai permintaan.
-
Tambahkan tugas pembuatan gambar.
-
Di bagian Image Building Task, klik Add.
-
Di , klik Create Service Connection. Anda akan diarahkan ke halaman manajemen koneksi layanan Alibaba Cloud DevOps. Klik Create Service Connection.
-
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.
-
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.
-
-
Tambahkan tugas penerapan.
-
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. -
Untuk Service Connection Type, pilih Auto Scaling (ESS), klik Next, lalu klik Create.
-
Di bagian Image Deployment, pilih Image built and pushed to Alibaba Cloud Container Registry Personal Edition.Image VPC Address, lalu klik Add.
CatatanJika 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.
-
-
Klik Create.
-
Jalankan pipeline
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.
-
Prasyarat
-
Lingkungan telah dikonfigurasi. Konfigurasi lingkungan.
-
Anda telah memperbarui kode dan mendorongnya ke repositori kode.
-
-
Bangun dan terapkan gambar dengan satu klik.
-
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.
-
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 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.
-
-