Anda dapat meluncurkan aplikasi yang diterapkan pada sejumlah besar instans atau memiliki arsitektur layanan kompleks dalam beberapa tahap. Pada setiap tahap, aplikasi hanya diperbarui pada beberapa instans. Peluncuran bertahap selesai ketika aplikasi diperbarui di semua instans. Topik ini menjelaskan cara mengimplementasikan peluncuran bertahap aplikasi di Konsol Enterprise Distributed Application Service (EDAS).
Ikhtisar
Selama peluncuran bertahap, aplikasi hanya diperbarui pada beberapa instans di setiap tahap. Jika terjadi kesalahan selama peluncuran, Anda dapat menghentikan proses dan memulihkan aplikasi. Setelah kesalahan diperbaiki, Anda dapat melanjutkan peluncuran bertahap.
Ketika aplikasi dalam kluster Kubernetes diluncurkan secara bertahap, instans aplikasi dialokasikan secara merata ke setiap tahap. Jika alokasi tidak bisa merata, jumlah instans di tahap awal lebih kecil dibandingkan dengan tahap berikutnya.
Skenario
Sebagai contoh, sebuah aplikasi diterapkan pada 10 instans dan versi aplikasi perlu diperbarui dari V1 ke V2 di semua instans.
Gambar berikut menunjukkan bagaimana aplikasi diluncurkan ke instans berdasarkan kebijakan tertentu dalam tiga tahap.

Catatan Penggunaan
Jika Anda meluncurkan aplikasi dalam kluster Kubernetes secara bertahap, Deployment akan dibuat untuk peluncuran tersebut.
Prosedur
Masuk ke .
Di panel navigasi sisi kiri, pilih . Di bilah navigasi atas, pilih wilayah. Di bagian atas halaman Applications, pilih namespace mikro-layanan dari daftar drop-down Namespace Mikro-layanan. Lalu, klik nama aplikasi yang ingin Anda kelola.
Di pojok kanan atas halaman application overview, pilih .
Di bagian Phased Release halaman Select Deployment Mode, klik Start Deployment di pojok kanan atas.
Di halaman Phased Release, unggah paket penyebaran aplikasi versi baru.
Parameter
Deskripsi
Application Runtime Environment
Tentukan lingkungan runtime untuk aplikasi. Nilai default: Standard Java Application Runtime Environment.
Java Environment
Tentukan lingkungan Java untuk aplikasi. Nilai valid: Open JDK 8 [Latest Version:1.8.0_191], Open JDK 7, Open JDK 17, Open JDK 11, JDK 8, JDK 7, Dragonwell 8, Dragonwell 17, dan Dragonwell 11.
Current Environment
Lingkungan runtime saat ini dari aplikasi ditampilkan. Lingkungan runtime saat ini hanya ditampilkan jika aplikasi diterapkan menggunakan paket JAR atau WAR. EDAS secara otomatis memperbarui lingkungan Java atau runtime aplikasi Anda ke versi terbaru.
File Uploading Method
Tentukan metode unggah file. Nilai valid: Upload JAR Package dan JAR Package Address.
CatatanMetode unggah file yang Anda tentukan harus sama dengan metode unggah file yang Anda gunakan untuk menerapkan aplikasi. Paket JAR, paket WAR, dan gambar didukung. Dalam contoh ini, paket JAR digunakan.
Upload JAR Package
Jika Anda mengatur parameter File Uploading Method ke Upload JAR Package, klik Click to Upload untuk mengunggah paket JAR.
JAR Package Address
Jika Anda mengatur parameter File Uploading Method ke JAR Package Address, masukkan URL paket JAR.
CatatanJika Anda memasukkan URL objek Object Storage Service (OSS) yang memiliki tanda tangan, EDAS menyimpan cache objek tersebut untuk operasi selanjutnya, seperti pemulihan dan ekspansi skala, ketika Anda meluncurkan aplikasi secara bertahap.
Container Registry Repository Type
CatatanParameter Container Registry Repository Type hanya tersedia jika Anda menerapkan aplikasi Java, Tomcat, atau EDAS-Container (HSF) di kluster ACK. Parameter ini tidak tersedia jika Anda menerapkan aplikasi di kluster ACK Serverless (ASK).
Anda harus menginstal komponen aliyun-acr-credential-helper. Untuk informasi lebih lanjut, lihat Gunakan komponen aliyun-acr-credential-helper untuk menarik gambar tanpa rahasia.
Jika Anda ingin menggunakan repositori gambar Container Registry Enterprise Edition, konfigurasikan akses melalui VPC. Untuk informasi lebih lanjut, lihat Konfigurasikan akses melalui VPC.
Tugas pembuatan gambar untuk aplikasi berjalan di kluster Anda dan mengonsumsi sumber daya Anda. Batas sumber daya default untuk satu tugas pembuatan gambar adalah 1 GB per core. Untuk informasi lebih lanjut tentang cara menyesuaikan batas sumber daya untuk tugas pembuatan gambar, lihat Bagaimana cara menyesuaikan batas sumber daya untuk pembuatan gambar?
Jika Anda menggunakan repositori Container Registry Personal Edition atau Container Registry Enterprise Edition untuk menyimpan gambar yang dibuat, tugas pembuatan gambar berjalan di kluster Anda. Tugas pembuatan tunduk pada aturan afinitas penjadwalan dan toleransi berikut:
EDAS tidak menjadwalkan tugas pembuatan ke node yang memiliki label
edas.image.build=disable.EDAS lebih memilih menjadwalkan tugas pembuatan ke node yang memiliki label
edas.image.build=enable. Namun, EDAS juga dapat menjadwalkan tugas pembuatan ke node yang tidak memiliki labeledas.image.build.Tugas pembuatan dapat mentolerir node yang memiliki taint
key=edas.image.build, effect=NoSchedule.
CatatanJika Anda tidak ingin menjadwalkan tugas pembuatan ke node tertentu, tambahkan label
edas.image.build=disableke node tersebut.Jika Anda ingin menggunakan node sebagai node khusus untuk tugas pembuatan, Anda dapat menambahkan label
edas.image.build=enabledan taintkey=edas.image.build, effect=NoScheduleke node tersebut. Ini mencegah pod yang tidak mentolerir taint dijadwalkan ke node tersebut.
Region of Container Registry
Pilih wilayah tempat gambar Container Registry Anda berada. Parameter ini hanya diperlukan jika Anda mengatur parameter Container Registry Repository Type ke Container Registry Enterprise Edition.
Container Registry
Pilih gambar kontainer Anda. Parameter ini hanya diperlukan jika Anda mengatur parameter Container Registry Repository Type ke Container Registry Enterprise Edition.
Image Repository Namespace
Pilih namespace mikro-layanan tempat repositori gambar Anda berada dari daftar drop-down. Anda juga dapat mengklik + Create Namespace untuk membuat namespace mikro-layanan.
Version
Nomor versi paket penyebaran JAR. Tentukan nomor versi atau klik Use Timestamp as Version Number untuk menghasilkan nomor versi.
Time Zone
Zona waktu untuk aplikasi. Tentukan zona waktu wilayah tertentu dalam UTC.
Single-pod Resource Quota
CPU, memori, dan penyimpanan sementara yang ingin Anda cadangkan untuk pod. Jika Anda ingin menentukan batas, masukkan nilai numerik. Nilai default: 0. Nilai 0 menentukan bahwa tidak ada batas yang diberlakukan. Kuota maksimum atau minimum CPU, memori, dan penyimpanan sementara tunduk pada performa kluster.
Konfigurasikan parameter di bagian Release Policy.

Parameter
Deskripsi
Release Batch
Jumlah tahapan di mana aplikasi diluncurkan ke instans.
Batch Mode
CatatanParameter Batch Mode hanya ditampilkan jika Anda mengatur parameter Release Batch ke nilai lebih dari 1.
Nilai valid: Automatic dan Manual.
Automatic: Sistem secara otomatis meluncurkan aplikasi dalam tahapan pada interval yang ditentukan oleh parameter Interval. Parameter Interval menentukan interval di mana tahapan dirilis. Unit: menit.
Manual: Anda harus secara manual memicu peluncuran tahap berikutnya.
Deployment Interval Between Batches
Tentukan interval di mana aplikasi diterapkan ke instans di setiap tahap jika jumlah instans lebih dari 1. Unit: detik.
(Opsional) Konfigurasikan pengaturan lanjutan sesuai kebutuhan bisnis Anda, seperti parameter di bagian Scheduling Rules, Startup Commands, Environment Variables, Persistent Storage, Local Storage, Application Life Cycle Management, dan Log Collection Settings. Untuk informasi lebih lanjut, lihat Pengaturan Lanjutan.
Setelah mengonfigurasi parameter, klik OK.
Periksa hasil
Di halaman change list aplikasi, periksa status peluncuran bertahap dan nilai parameter Version di sebelah kanan parameter Description. Jika semua tahap berstatus Sukses dan nilai parameter Version telah berubah menjadi V2, peluncuran bertahap berhasil.
Kembalikan aplikasi
Selama peluncuran bertahap, jika aplikasi tidak diperbarui ke versi baru di satu atau lebih instans, peluncuran bertahap berstatus Executing. Saat memperbarui aplikasi, jika instans aplikasi di tahap pertama berhenti merespons, Anda dapat membuka halaman change list dan klik Roll Back untuk mengembalikan aplikasi di instans tersebut ke paket penyebaran dan konfigurasi versi sebelumnya.
Kesalahan mungkin terjadi selama peluncuran bertahap. Untuk informasi lebih lanjut tentang cara memecahkan masalah kesalahan, lihat Bagaimana cara memecahkan masalah dalam proses perubahan?
Kesalahan seperti ketidaktersediaan paket penyebaran dan kegagalan pemeriksaan kesehatan dapat menyebabkan kegagalan pembaruan aplikasi. Pembaruan aplikasi saat ini secara otomatis dihentikan, dan aplikasi dikembalikan.
Selama pembaruan, periode timeout maksimum untuk satu tahap adalah 30 menit. Jika proses pembaruan ditangguhkan karena kesalahan timeout, Anda harus membuka halaman change list untuk menghentikan proses dan mengembalikan aplikasi.