全部产品
Search
文档中心

Enterprise Distributed Application Service:Gunakan Konsol EDAS untuk Mengimplementasikan Rilis Canary Aplikasi di Kluster Kubernetes

更新时间:Jul 06, 2025

Untuk aplikasi mikro layanan Spring Cloud atau Dubbo yang diterapkan dalam kluster Kubernetes, Anda dapat mengimplementasikan rilis canary. Rilis canary memungkinkan Anda memverifikasi versi aplikasi baru pada sejumlah kecil instans. Jika verifikasi berhasil, Anda dapat memperbarui aplikasi di semua instans Anda ke versi baru. Ini membuat pembaruan menjadi aman. Topik ini menjelaskan cara menggunakan konsol EDAS untuk mengimplementasikan rilis canary aplikasi di kluster Kubernetes.

Batasan

  • Aplikasi High-Speed Service Framework (HSF): Rilis canary tidak didukung.

  • Aplikasi Dubbo: Anda dapat mengimplementasikan rilis canary aplikasi Dubbo tanpa batasan.

  • Aplikasi Spring Cloud: Jika Anda menggunakan Deployment.Metadata.Name atau Deployment.Metadata.Uid untuk mengonfigurasi beberapa fitur aplikasi, jangan implementasikan rilis canary untuk aplikasi tersebut. Jika tidak, fitur asli aplikasi mungkin abnormal setelah rilis canary.

  • Aplikasi Ingress: Jika aplikasi Anda adalah aplikasi ingress dan Anda menggunakan instance Server Load Balancer (SLB) untuk langsung meneruskan trafik ke aplikasi ingress, kebijakan penerusan trafik SLB tidak mengikuti kebijakan rilis canary.

    Catatan

    Jika Anda tetap ingin menggunakan fitur rilis canary untuk aplikasi ingress, Anda dapat membuat aplikasi klien dan aplikasi server yang memiliki beberapa replika. Kemudian, Anda dapat mengimplementasikan rilis canary untuk aplikasi server dan mengaitkan instance SLB dengan aplikasi klien untuk memungkinkan akses layanan menggunakan SLB.

Prosedur

  1. Masuk ke EDAS console.

  2. Di panel navigasi sisi kiri, pilih Application Management > Applications. Di bilah navigasi atas, pilih wilayah. Di bagian atas halaman Aplikasi, pilih namespace mikro-layanan dari daftar drop-down Namespace Mikro-layanan.

  3. Di halaman Applications, pilih Kubernetes Cluster dari daftar drop-down Cluster Type. Lalu, klik nama application yang ingin Anda implementasikan rilis canary.

  4. Di pojok kanan atas halaman Application Overview, pilih Deploy > Deploy. Di halaman Set Deployment Mode, klik Start Deployment di pojok kanan atas bagian Canary Release (Phased).

  5. Di halaman Canary Release (Phased), konfigurasikan metode penyebaran, kebijakan rilis, dan aturan rilis canary untuk versi baru aplikasi berdasarkan kebutuhan bisnis Anda. Lalu, klik OK.

    1. Konfigurasikan metode penyebaran.

      Parameter

      Deskripsi

      Skenario

      Application Runtime Environment

      Nilainya harus sama dengan yang digunakan untuk penyebaran sebelumnya. Nilai valid:

      • Paket JAR: Lingkungan runtime aplikasi adalah Standard Java Application Runtime Environment. Anda tidak dapat mengubah tipe lingkungan runtime aplikasi.

      • Paket WAR: Lingkungan runtime aplikasi adalah Apache Tomcat. Anda tidak dapat mengubah tipe lingkungan runtime aplikasi. Namun, Anda dapat mengubah versi Apache Tomcat berdasarkan kebutuhan bisnis Anda.

      Cocok untuk aplikasi yang diterapkan menggunakan paket JAR atau WAR

      Java Environment

      Pilih versi JDK dari daftar drop-down berdasarkan kebutuhan bisnis Anda.

      Cocok untuk aplikasi yang diterapkan menggunakan paket JAR atau WAR

      File Uploading Method

      Tipe paket penyebaran harus sama dengan yang digunakan untuk penyebaran sebelumnya. Anda dapat menggunakan paket WAR atau JAR.

      Anda dapat mengunggah paket JAR atau WAR. Anda juga dapat menentukan alamat paket JAR atau WAR.

      • Upload JAR Package atau Upload WAR Package: Pilih paket JAR atau WAR yang telah diunduh.

      • JAR Package Address atau WAR Package Address: Masukkan alamat paket demo.

      Cocok untuk aplikasi yang diterapkan menggunakan paket JAR atau WAR

      Container Registry Repository Type

      Catatan
      • Parameter 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.

      • Anda harus menginstal komponen aliyun-acr-credential-helper. Untuk informasi lebih lanjut, lihat Gunakan komponen aliyun-acr-credential-helper untuk menarik gambar tanpa menggunakan rahasia.

      • Jika Anda ingin menggunakan repositori gambar Container Registry Enterprise Edition, konfigurasikan akses melalui virtual private clouds (VPC). Untuk informasi lebih lanjut, lihat Konfigurasikan ACL 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 menolak untuk menjadwalkan tugas pembuatan ke node yang memiliki label edas.image.build=disable.

      • EDAS secara preferensial menjadwalkan tugas pembuatan ke node yang memiliki label edas.image.build=enable. Namun, EDAS juga dapat menjadwalkan tugas pembuatan ke node yang tidak memiliki label edas.image.build.

      • Tugas pembuatan dapat mentolerir node yang memiliki taint key=edas.image.build, effect=NoSchedule.

      Catatan
      • Jika Anda tidak ingin menjadwalkan tugas pembuatan ke node tertentu, tambahkan label edas.image.build=disable ke node tersebut.

      • Jika Anda ingin menggunakan node sebagai node khusus untuk tugas pembuatan, Anda dapat menambahkan label edas.image.build=enable dan taint key=edas.image.build, effect=NoSchedule ke node tersebut. Ini mencegah pod yang tidak mentolerir taint dijadwalkan ke node tersebut.

      Hanya cocok untuk aplikasi yang diterapkan menggunakan gambar

      Region of Container Registry

      Pilih wilayah tempat gambar Container Registry Anda berada. Parameter ini hanya diperlukan jika Anda menetapkan parameter Container Registry Repository Type ke Container Registry Enterprise Edition.

      Container Registry

      Pilih gambar kontainer Anda. Parameter ini hanya diperlukan jika Anda menetapkan 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. Anda dapat menggunakan timestamp sebagai nomor versi.

      Cocok untuk aplikasi yang diterapkan menggunakan paket JAR atau WAR

      Time Zone

      Pilih zona waktu dari daftar drop-down berdasarkan kebutuhan bisnis Anda.

      Cocok untuk aplikasi yang diterapkan menggunakan paket JAR atau WAR

      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 menentukan bahwa tidak ada batas yang diberlakukan. Jika Anda tidak ingin mengonfigurasi kuota penyimpanan sementara untuk pod, kinerja kluster menentukan kuota maksimum.

      Cocok untuk semua aplikasi

    2. Di bagian Release Policy, konfigurasikan kebijakan rilis.

      Parameter

      Deskripsi

      Number of Instances for Canary Release

      Jumlah instans aplikasi untuk rilis batch pertama. Anda dapat melihat jumlah total instans di sebelah kanan parameter ini. Kami sarankan Anda menetapkan parameter ini ke nilai kurang dari setengah dari jumlah total instans untuk memastikan stabilitas aplikasi.

      Catatan

      Setelah rilis canary diimplementasikan, Anda harus melepaskan batch yang tersisa secara manual.

      Remaining Batches

      Jumlah batch tersisa untuk merilis aplikasi. Setelah rilis batch pertama selesai, aplikasi diterapkan ke instans aplikasi tersisa berdasarkan batch yang ditentukan.

      Batch Mode

      Catatan

      Jika Anda menetapkan parameter Remaining Batches ke nilai lebih besar dari 1, Anda harus mengonfigurasi parameter ini.

      Metode pemrosesan berikut didukung:

      • Automatic: secara otomatis merilis aplikasi dalam batch berdasarkan interval yang ditentukan oleh parameter Interval. Interval: interval untuk melepaskan batch tersisa dalam menit.

      • Manual: secara manual memicu pelepasan batch berikutnya.

      Deployment Interval Between Batches

      Jika jumlah instans aplikasi dalam setiap batch lebih besar dari 1, aplikasi diterapkan ke instans aplikasi pada interval yang ditentukan. Unit: detik.

      Bagian Publish Policy Configuration di sebelah kanan menunjukkan proses untuk rilis canary berdasarkan konfigurasi Anda.

    3. Konfigurasikan aturan rilis canary.

      EDAS mendukung aturan rilis canary berikut: Canary Release by Content dan Canary Release by Ratio.

      Aturan

      Parameter

      Deskripsi

      Canary Release by Content

      1. Klik Add Policy. Di panel Add a canary release by content policy, konfigurasikan parameter Policy Name dan klik Buat Aturan Trafik Masuk dan klik OK.

      2. Pilih kebijakan konten yang dibuat dari daftar drop-down Select Policy.

      Catatan

      Anda dapat mengklik Create Inbound Traffic Rule untuk membuat beberapa aturan trafik masuk. Aturan tersebut dapat berlaku pada saat yang sama.

      Policy Name

      Nama kebijakan rilis canary kustom.

      Protocol Type

      • Spring Cloud

        path: path HTTP relatif.

      • Dubbo

        • Select Service: Pilih layanan dari daftar drop-down.

        • Method: Pilih metode dari daftar drop-down.

      Conditional Mode

      Pilih Meet All Following Conditions atau Meet Any of Following Conditions.

      Conditions

      • Spring Cloud: Konfigurasikan parameter berdasarkan Cookie, Header, atau Parameter.

      • Dubbo: Tetapkan Parameter dan Expression for Getting Parameter Values ke nilai aktual aplikasi Anda.

      Canary Release by Ratio

      Traffic Ratio

      Trafik diteruskan ke grup canary saat ini berdasarkan proporsi yang dikonfigurasi.

      Canary Release By Lane

      1. Klik +Add Policy. Di panel Add Lane Canary Release Policy, konfigurasikan Policy Name, Grup Jalur, dan Jalur, lalu klik OK.

      2. Dalam daftar drop-down Select Policy, pilih kebijakan rilis canary jalur yang sudah dibuat.

      Policy Name

      Nama kebijakan rilis canary jalur kustom.

      Lane Group

      Pilih grup jalur yang ada. Untuk informasi tentang cara membuat grup jalur, lihat Buat grup jalur.

      Lane

      Pilih jalur yang ada. Untuk informasi tentang cara membuat jalur, lihat Buat jalur.

    Setelah rilis canary dimulai, EDAS menerapkan versi baru aplikasi ke grup instans canary yang ditentukan. Kemajuan dan status penyebaran ditampilkan di halaman Upgrade History.

    Catatan

    Anda dapat memeriksa apakah trafik didistribusikan sesuai harapan. Untuk informasi lebih lanjut, lihat Pantau trafik canary.

  6. Setelah trafik untuk rilis canary diverifikasi, klik Start the Next Batch di sebelah kanan halaman Change List. Selesaikan pelepasan batch berikutnya.

    Jika terjadi masalah selama verifikasi, Anda dapat mengklik RollBack di pojok kanan atas halaman Change List. Di kotak dialog yang muncul, klik OK.

    Setelah rilis canary selesai, periksa apakah paket penyebaran adalah versi baru di bagian Deployment specifications halaman Application Overview.