全部产品
Search
文档中心

Container Service for Kubernetes:Lakukan rilis bertahap untuk layanan berdasarkan pemisahan lalu lintas di Knative

更新时间:Dec 04, 2025

Knative mengelola distribusi lalu lintas di antara berbagai Revisi. Anda dapat menggunakan Konsol untuk menentukan persentase lalu lintas untuk setiap Revisi dan menyesuaikannya berdasarkan pengamatan hingga 100% lalu lintas Layanan diarahkan ke versi baru. Proses ini menyelesaikan rilis bertahap.

Prasyarat

Langkah 1: Buat layanan Knative

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, temukan kluster yang diinginkan lalu klik namanya. Di panel navigasi kiri, pilih Applications > Knative.

  3. Pada tab Service Management di halaman Knative, atur Namespace menjadi default. Klik Create Service. Lalu, klik Create untuk menerapkan Layanan bernama helloworld-go.

    Tabel berikut menjelaskan item konfigurasi utama. Untuk informasi selengkapnya tentang item konfigurasi, lihat Deploy a Knative service.

    Item Konfigurasi

    Deskripsi

    Service Name

    Nama kustom layanan. Dalam contoh ini, nama layanan adalah helloworld-go.

    Image Name

    Anda dapat mengklik Select Image. Pada kotak dialog yang muncul, pilih citra dan versi yang diperlukan, lalu klik OK.

    Anda juga dapat memasukkan registry privat. Formatnya adalah domainname/namespace/imagename:tag. Misalnya, registry.cn-hangzhou.aliyuncs.com/knative-sample/helloworld-go:73fbdd56.

    Access Protocol

    HTTP dan gRPC didukung.

    Catatan

    gRPC dikembangkan berdasarkan standar protokol HTTP/2 dan protokol serialisasi Protocol Buffers (protobuf), serta mendukung berbagai bahasa pemrograman. Dibandingkan dengan HTTP, HTTP/2 lebih ringkas dan efisien dalam mengirim dan menerima data.

    Container Port

    Port kontainer yang ingin Anda ekspos. Nomor port harus berada dalam rentang 1 hingga 65535.

    Jika kolom Status untuk layanan target menampilkan Success, layanan telah diterapkan.

  4. Pada halaman Services, temukan nama domain untuk Layanan helloworld-go di kolom Default Domain dan alamat IP gerbang di kolom Gateway.

  5. Jalankan perintah berikut untuk mengakses Layanan helloworld-go:

    curl -H "Host: <nama domain default>" http://<IP gerbang akses> # Ganti <nama domain default> dan <IP gerbang akses> dengan nilai aktualnya.

    Output yang diharapkan:

    Hello World!

    Output ini menunjukkan bahwa Layanan telah dibuat dan dapat diakses.

Langkah 2: Lakukan rilis bertahap dengan membuat revisi

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, temukan kluster yang diinginkan lalu klik namanya. Di panel navigasi kiri, pilih Applications > Knative.

  3. Buat revisi.

    1. Pada tab Service Management, klik Details di kolom Actions untuk layanan target.

    2. Klik Create Revision. Pada halaman Basic Information, klik Advanced Settings. Atur variabel lingkungan untuk revisi baru menjadi TARGET=Knative dan klik Next.

      11

    3. Pada wizard Traffic Splitting Settings, atur Traffic Percentage untuk revisi terbaru menjadi 0 dan klik Create.

      Catatan

      Jumlah persentase lalu lintas untuk semua revisi harus 100.

    4. Setelah membuat layanan, pilih tab Services untuk melihat detail versi layanan baru.

    5. Anda dapat menjalankan perintah berikut untuk mengakses Layanan helloworld-go:

      curl -H "Host: <nama domain default>" http://<IP gerbang akses> # Ganti <nama domain default> dan <IP gerbang akses> dengan nilai aktualnya.

      Output yang diharapkan:

      Hello World!

      Output ini menunjukkan bahwa Layanan telah dibuat dan dapat diakses. Karena Traffic Percentage untuk versi baru adalah 0, permintaan ke layanan helloworld-go masih diarahkan ke versi lama.

  4. Ubah rasio lalu lintas untuk melakukan rilis bertahap.

    1. Pada halaman Service Management, klik Details di kolom Actions untuk layanan target.

    2. Klik Split Traffic. Pada kotak dialog Split Traffic, atur Traffic Ratio menjadi 50% untuk versi baru dan lama, lalu klik OK.

    3. Setelah mengatur Traffic Percentage layanan, klik tab Service Management untuk melihat detail versi layanan baru dan lama.

    4. Jalankan perintah berikut untuk mengakses Layanan.

      while true; do curl -H "Host: <nama domain default>" http://<IP gerbang akses>; sleep 1; done # Ganti <nama domain default> dan <IP gerbang akses> dengan nilai aktualnya.
      Catatan

      Perintah ini berjalan terus-menerus hingga Anda menghentikannya secara manual. Anda dapat menekan Ctrl+C untuk menghentikan perintah.

      Output yang diharapkan:

      Hello World!
      Hello Knative!
      Hello World!
      Hello Knative!
      Hello World!
      Hello Knative!
      ...

      Karena Traffic Ratio diatur menjadi 50% untuk versi baru dan lama, lalu lintas ke layanan helloworld-go dibagi rata di antara keduanya.

      Anda dapat melanjutkan rilis bertahap layanan dengan menyesuaikan Traffic Ratio. Rilis bertahap selesai ketika Traffic Ratio untuk versi baru mencapai 100%. Selama proses ini, jika Anda mengalami masalah pada versi baru, Anda dapat melakukan rollback kapan saja dengan menyesuaikan Traffic Ratio.

Referensi

Anda dapat mengimplementasikan penskalaan otomatis untuk Layanan Knative berdasarkan jumlah permintaan lalu lintas. Untuk informasi selengkapnya, lihat Implement auto scaling for a service based on the number of traffic requests.