全部产品
Search
文档中心

Container Service for Kubernetes:Ikhtisar Knative

更新时间:Jul 29, 2025

Knative adalah framework serverless berbasis Kubernetes open source. Framework ini mendukung penskalaan pod otomatis berdasarkan permintaan sumber daya, manajemen versi, dan rilis canary untuk aplikasi. Saat tidak ada lalu lintas yang diproses, jumlah pod diskalakan menjadi nol. Container Service for Kubernetes (ACK) Knative sepenuhnya kompatibel dengan API Knative dan Kubernetes open source. Kapabilitas ACK Knative ditingkatkan di berbagai dimensi, seperti mempertahankan instans untuk mengurangi waktu cold start dan mendukung fitur penskalaan prediktif berdasarkan komponen Advanced Horizontal Pod Autoscaler (AHPA).

Mengapa menggunakan Knative dalam kluster Kubernetes?

Pengenalan Knative

Knative adalah framework serverless berbasis Kubernetes open source yang menyediakan standar orkestrasi cloud-native dan lintas platform untuk aplikasi serverless. Untuk mengimplementasikan standar ini, Knative mengintegrasikan pembuatan kontainer, manajemen beban kerja, dan model event, memberikan manfaat sebagai berikut:

  • Fokus lebih besar pada logika bisnis: Knative menyediakan konfigurasi aplikasi yang sederhana dan penskalaan otomatis, sehingga pengembang dapat fokus pada logika bisnis. Hal ini mengurangi beban operasi & pemeliharaan serta mengurangi kebutuhan untuk memikirkan sumber daya tingkat bawah.

  • Standardisasi: Saat Anda menerapkan kode bisnis ke platform serverless, kompilasi dan penerapan kode sumber serta manajemen event harus dipertimbangkan. Solusi serverless dan solusi FPGA as a Service (FaaS) yang disediakan oleh komunitas dan penyedia cloud memiliki standar yang berbeda. Knative menyediakan kerangka kerja serverless yang standar dan umum.

    Sebagai contoh, jika Anda ingin menggunakan mode berbasis event di Knative, Anda dapat memodifikasi file YAML yang sesuai dan menerapkan file tersebut di kluster tanpa perlu mengikat file ke layanan cloud. Ini memudahkan migrasi lintas platform.

  • Kemudahan penggunaan: Knative dapat secara otomatis mengemas kode ke dalam gambar kontainer dan menerbitkan gambar tersebut sebagai Layanan. Knative juga dapat dengan cepat menerapkan fungsi ke kluster Kubernetes dan menjalankannya sebagai kontainer.

  • Penskalaan otomatis dan manajemen versi: Knative dapat secara otomatis mengurangi jumlah pod menjadi nol saat tidak ada lalu lintas yang diproses, menghemat sumber daya. Knative juga menyediakan berbagai fitur, seperti manajemen versi dan rilis canary.

  • Knative Eventing: Knative menyediakan model event untuk berinteraksi dengan sistem event eksternal dan merutekan event ke Layanan atau fungsi untuk diproses.

Lihat Pengenalan Layanan Knative untuk detail lebih lanjut.

Komponen Utama

Knative terdiri dari komponen inti berikut, yang menyediakan fitur berbeda:

  • Knative Serving: Menyediakan kemampuan manajemen beban kerja serverless. Knative Serving memungkinkan penyebaran serverless, manajemen versi, dan rilis canary untuk aplikasi Anda. Knative Serving juga mendukung penskalaan pod otomatis berdasarkan permintaan sumber daya. Jika tidak ada lalu lintas yang diproses, jumlah pod diskalakan menjadi nol.

  • Knative Eventing: Menyediakan kemampuan manajemen event, yang memungkinkan Anda berinteraksi dengan sumber event eksternal, mendaftarkan dan berlangganan event, serta menyaring event. Sistem event memisahkan produsen event dan konsumen event.

  • Knative Functions: Memungkinkan Anda membuat, membangun, dan menerapkan Layanan Knative secara efisien. Anda dapat menerapkan fungsi tanpa status, berbasis event, sebagai Layanan Knative ke kluster Kubernetes menggunakan Knative Functions tanpa perlu memiliki pemahaman mendalam tentang tumpukan teknologi tingkat bawah, seperti Kubernetes, kontainer, dan Knative.

Mengapa menggunakan ACK Knative?

ACK Knative sepenuhnya kompatibel dengan API Knative dan Kubernetes open source. ACK Knative juga meningkatkan Kapabilitas sebagai Layanan dan menyediakan solusi yang lebih komprehensif.

  • Kapabilitas sebagai Layanan: Memungkinkan Anda menerapkan aplikasi hanya dengan beberapa klik. Anda tidak perlu membeli sumber daya untuk membangun sistem. Konsol disediakan dan operasi visual didukung untuk menyederhanakan penggunaan kluster Kubernetes dan Knative.

  • O&M yang Disederhanakan:

    • Hosting komponen utama: Di kluster ACK, komponen utama, Knative Serving dan Knative Eventing, dibuat dan dihosting oleh ACK. Ini memastikan ketersediaan tinggi, dan tidak ada biaya yang dikenakan untuk penggunaan sumber daya.

    • Hosting gateway: ACK Knative menyediakan empat jenis gateway: Application Load Balancer (ALB), Microservices Engine (MSE), Service Mesh (ASM), dan Kourier. Pengontrol gateway layanan cloud dibuat oleh ACK untuk menyediakan layanan gateway yang sepenuhnya dihosting dan bebas O&M, kecuali untuk Kourier. Kourier kompatibel dengan versi open source.

  • Integrasi ekosistem: Berintegrasi dengan mulus dengan layanan komputasi cloud Alibaba (Elastic Container Instance dan ECS), observabilitas (Simple Log Service dan Managed Service for Prometheus), dan integrasi aplikasi (EventBridge). Anda dapat menggunakan Layanan Knative untuk mengimplementasikan kemampuan seperti logging, pemantauan, dan peringatan, pengiriman berkelanjutan, dan Eventing, tanpa perlu membeli server atau membangun Layanan.

  • Lebih banyak fitur: Berdasarkan Knative open source, ACK Knative menyediakan solusi siap pakai dan lebih luas berdasarkan skenario bisnis aktual. Bagian berikut menggambarkan solusi-solusi tersebut.

    • Instans terjadwal: Secara default, Knative open source menskalakan jumlah pod menjadi nol selama jam-jam sepi untuk mengurangi biaya. Namun, lain kali Anda memulai aplikasi, aplikasi akan mengalami cold start yang memakan waktu. Untuk mengurangi waktu cold start, kami sarankan Anda menggunakan fitur instans terjadwal untuk memesan instans burstable spesifikasi rendah. Ini membantu Anda menyeimbangkan biaya dan durasi startup.

    • Penskalaan otomatis Knative: Menyediakan Knative Pod Autoscaler (KPA) berbasis permintaan siap pakai dan juga mendukung HPA. Anda dapat mengaktifkan AHPA untuk Layanan Knative. Jika permintaan sumber daya aplikasi Anda berfluktuasi secara periodik, kami sarankan Anda menggunakan AHPA untuk memprediksi permintaan sumber daya. Dengan cara ini, Anda dapat memuat sumber daya yang diperlukan oleh Knative untuk mengurangi waktu cold start.

Untuk informasi lebih lanjut tentang perbandingan antara ACK Knative dan Knative open source, lihat Perbandingan antara Alibaba Cloud Knative dan Knative Open Source.

Skenario Penggunaan

Tabel berikut menggambarkan skenario penggunaan ACK Knative.

Skenario

Deskripsi

Hosting layanan web

  • Penyebaran yang disederhanakan: ACK Knative mengenkapsulasi detail tingkat bawah Kubernetes dan sangat menyederhanakan penyebaran dan manajemen beban kerja dengan menggunakan Layanan Knative.

  • Manajemen multi-versi yang disederhanakan: Mekanisme revisi memastikan bahwa setiap revisi memiliki pengenal unik, yang memudahkan pengelolaan versi berbeda, seperti rollback versi.

  • Rilis canary yang disederhanakan untuk manajemen lalu lintas: ACK Knative menyediakan fitur manajemen lalu lintas. Anda dapat mengatur proporsi lalu lintas yang berbeda untuk Layanan revisi berbeda untuk dengan cepat melakukan rilis canary dan tes A/B.

Aplikasi serverless

  • Fokus pada logika bisnis: Pengembang dapat fokus pada pengembangan logika bisnis daripada sumber daya infrastruktur sebagai layanan (IaaS). Konfigurasi aplikasi juga disederhanakan. Ini mengurangi biaya operasi & pemeliharaan pada infrastruktur tingkat bawah.

  • Penggunaan sumber daya berdasarkan permintaan dan penskalaan otomatis: ACK Knative dapat secara otomatis memperluas sumber daya berdasarkan permintaan dan konkurensi, dan mengurangi jumlah pod menjadi nol saat tidak ada lalu lintas bisnis yang diproses. Ini menghemat sumber daya dan biaya.

Skenario AI

  • Fokus pada logika bisnis: Dalam skenario komputasi heterogen seperti akselerasi GPU, pengembang dapat fokus pada pengembangan dan penyebaran pekerjaan AI daripada pemeliharaan infrastruktur tingkat bawah.

  • Penggunaan sumber daya berdasarkan permintaan dan penskalaan otomatis: ACK Knative dapat secara otomatis memperluas sumber daya berdasarkan beban kerja aktual. Biaya penggunaan sumber daya untuk layanan inferensi yang beban kerjanya berfluktuasi sangat berkurang.

  • Portabilitas: ACK Knative dapat berjalan di lingkungan yang kompatibel dengan Kubernetes. Layanan Knative dapat diterapkan pada node di cloud, di pusat data, atau bahkan di perangkat edge.

Skenario Knative Eventing

Knative Eventing menyediakan model event untuk menyederhanakan proses menyerap event dari sistem event eksternal. Sebagai contoh, ketika perangkat Internet of Things (IoT) mengirimkan data sensor ke Layanan Knative, ACK Knative dapat mengonfigurasi sumber event yang sesuai untuk menerima data dan memicu logika pemrosesan yang sesuai, seperti penyimpanan data, analisis real-time, pemantauan, dan peringatan.

Prosedur

Gambar berikut menunjukkan cara menggunakan ACK Knative.

Langkah

Deskripsi

Prasyarat

Sebuah kluster ACK yang dikelola yang menjalankan Kubernetes 1.22 atau lebih baru sudah siap. Untuk meningkatkan kluster, lihat Tingkatkan Kluster ACK secara Manual.

Terapkan ACK Knative di konsol dan instal komponen Knative Serving. Untuk informasi lebih lanjut, lihat Terapkan dan Kelola Knative.

Pilih gateway Knative yang ingin Anda instal dan terapkan. ACK Knative mendukung gateway ALB, MSE, ASM, dan Kourier.

  • ALB: Ingress yang sepenuhnya dikelola dan bebas O&M yang diberdayakan oleh layanan ALB Alibaba Cloud untuk manajemen lalu lintas. ALB Ingress juga menyediakan kemampuan penskalaan otomatis.

  • MSE: Ingress generasi berikutnya yang mematuhi standar Ingress Kubernetes. MSE Ingress mendukung semua fitur gateway lalu lintas tradisional.

  • ASM: Platform yang kompatibel dengan Istio yang memungkinkan Anda mengelola lalu lintas aplikasi mikrosecara terpusat. ASM Ingress menyediakan fitur seperti kontrol lalu lintas, observabilitas mesh, dan komunikasi aman antar-layanan untuk menyederhanakan tata kelola layanan dan membantu Anda mengelola layanan yang berjalan di atas infrastruktur komputasi heterogen.

  • Kourier: Ingress ringan open-source yang dikembangkan berdasarkan arsitektur Envoy.

Penyebaran dan manajemen layanan

Tentukan jenis sumber daya yang digunakan:

  • Secara default, sumber daya ECS digunakan untuk menjalankan Layanan Knative.

  • Gunakan sumber daya pod yang disediakan oleh instance kontainer elastis untuk menangani lonjakan lalu lintas. Untuk informasi lebih lanjut, lihat Gunakan instance kontainer elastis di Knative.

  • Gunakan sumber daya GPU dalam skenario seperti inferensi AI. Untuk informasi lebih lanjut, lihat Gunakan GPU di Knative.

  • Jika instance ECS dan instance kontainer elastis berlokasi bersama dalam kluster, Anda dapat menentukan prioritas instans untuk aktivitas penskalaan keluar dengan menggunakan ResourcePolicy. Untuk informasi lebih lanjut, lihat Letakkan Bersama Instance ECS dan Instance Kontainer Elastis di Knative.

  • Anda dapat mengonfigurasi Layanan Knative untuk menggunakan instans preemptible, yang mengurangi penggunaan sumber daya komputasi cloud. Untuk informasi lebih lanjut, lihat Gunakan instans preemptible.

  • Konfigurasikan instans terjadwal untuk memesan instans burstable spesifikasi rendah untuk menyeimbangkan biaya dan durasi startup. Untuk informasi lebih lanjut, lihat Konfigurasikan instans terjadwal.

Penskalaan otomatis:

Manajemen versi dan rilis canary:

  • Kelola versi aplikasi berdasarkan revisi. Sebagai contoh, Anda dapat mengembalikan aplikasi dari versi baru ke versi sebelumnya. Untuk informasi lebih lanjut, lihat Buat revisi.

  • Untuk informasi lebih lanjut tentang cara melakukan rilis canary untuk Layanan Knative berdasarkan proporsi lalu lintas dan revisi, lihat Lakukan rilis canary berdasarkan pemisahan lalu lintas.

Akses ke Layanan Knative:

  • Nama domain default Layanan Knative berada dalam format {route}.{namespace}.{default-example.com}. {default-example.com} adalah akhiran nama domain default. Anda dapat menentukan akhiran nama domain kustom. Untuk informasi lebih lanjut, lihat Konfigurasikan nama domain kustom.

  • Jika Anda ingin menggunakan nama domain kustom untuk mengekspos Layanan Knative, kami sarankan Anda mengonfigurasi sertifikat untuk nama domain tersebut untuk mengamankan transmisi data. Untuk informasi lebih lanjut, lihat Konfigurasikan sertifikat untuk mengakses Layanan melalui HTTPS.

  • Anda dapat mengonfigurasi probe liveness dan readiness untuk memantau dan mengelola status kesehatan dan ketersediaan Layanan. Untuk informasi lebih lanjut, lihat Konfigurasikan probing port di Knative.

Fitur lanjutan

Knative Eventing: Menyediakan arsitektur komprehensif dan sistematis untuk mode berbasis event serverless, yang terdiri dari sumber event, penerimaan dan langganan event, serta penyaringan event.

Knative Functions: Knative Functions menyediakan metode sederhana untuk membuat, membangun, dan menerapkan Layanan Knative. Untuk informasi lebih lanjut, lihat Terapkan Knative Functions.

Layanan inferensi AI:

Service mesh: Integrasikan ASM ke dalam Layanan Knative untuk mengimplementasikan manajemen lalu lintas kompleks dan meningkatkan keamanan layanan.

Observabilitas dan manajemen biaya

Pengumpulan log: Simple Log Service memungkinkan pengumpulan log non-intrusif, konsumsi, pengiriman, kueri, dan analisis fitur. Untuk informasi lebih lanjut, lihat Aktifkan SLS pada Knative.

Dasbor Knative: Hubungkan Knative ke Managed Service for Prometheus untuk melihat statistik seperti latensi respons dan konkurensi permintaan. Untuk informasi lebih lanjut, lihat Lihat dasbor pemantauan Knative.

Pemantauan dan peringatan: Gunakan Simple Log Service untuk mengonfigurasi aturan peringatan berdasarkan data log yang dikumpulkan. Untuk informasi lebih lanjut, lihat Konfigurasikan peringatan untuk Layanan Knative.

Wawasan biaya: Sebagai administrator keuangan di perusahaan TI, Anda dapat mengaktifkan fitur wawasan biaya di Knative untuk menganalisis penggunaan sumber daya dan tren biaya di kluster ACK. Untuk informasi lebih lanjut, lihat Aktifkan fitur wawasan biaya di Layanan Knative.

Penagihan

Saat Anda menggunakan ACK Knative di kluster ACK, ACK Knative tidak dikenakan biaya. Namun, Anda akan dikenakan biaya untuk sumber daya cloud yang dibuat saat menggunakan Knative. Sebagai contoh, jika Anda membuat dan menggunakan instance ECS, instance SLB, dan gateway NAT, Anda akan dikenakan biaya untuk sumber daya tersebut berdasarkan aturan penagihan sumber daya. Untuk informasi lebih lanjut tentang aturan penagihan kluster ACK, lihat Ikhtisar Penagihan dan Penagihan Sumber Daya Produk Cloud.

FAQ

Jika Anda mengalami masalah saat menggunakan ACK Knative, Anda dapat terlebih dahulu merujuk ke FAQ Knative dan menyelesaikan masalah tersebut secara mandiri.

Jika Anda memiliki pertanyaan atau saran tentang Knative, bergabunglah dengan grup DingTalk 23302777.

Referensi

  • Perbarui Knative Serving sesegera mungkin untuk mendapatkan fitur terbaru dan perbaikan bug. Untuk informasi lebih lanjut, lihat Catatan Rilis Knative dan Tingkatkan Knative Serving.

  • Dokumentasi resmi Knative menyediakan tutorial yang menggambarkan cara membangun, menerapkan, dan memantau aplikasi toko online menggunakan Knative. Untuk informasi lebih lanjut, lihat Tutorial Toko Buku Knative.