Ikhtisar Knative
Knative adalah platform open-source berbasis Kubernetes untuk membangun dan menjalankan beban kerja serverless. Platform ini membantu Anda men-deploy dan mengelola beban kerja serverless serta membangun platform kelas enterprise untuk beban kerja tersebut.
ACK Serverless mengintegrasikan Knative secara langsung. Untuk menggunakan sumber daya cloud melalui API Knative, buat kluster ACK Serverless dan aktifkan Knative pada kluster tersebut. Controller Knative berjalan tanpa biaya tambahan.
Komponen
Knative terdiri dari dua komponen inti:
Knative Serving: Controller Knative Serving diintegrasikan dengan ACK Serverless dan secara otomatis meminta sumber daya Pod dari kluster.
Knative Gateway: Menangani lalu lintas ingress untuk layanan yang berjalan di dalam kluster. ACK Serverless menggunakan instance Application Load Balancer (ALB) sebagai gerbang masuk Knative, sehingga tidak memerlukan infrastruktur gerbang resident.
ACK Serverless Knative vs. Knative open-source
| Knative open-source | ACK Serverless Knative | |
|---|---|---|
| Gateway Infrastructure | Memerlukan instance gerbang resident (misalnya, Istio); Anda dikenai biaya untuk infrastruktur dan O&M | Menggunakan ALB sebagai gerbang masuk; tidak memerlukan instance gerbang resident |
| Biaya controller Knative | Anda dikenai biaya untuk infrastruktur yang menjalankan controller Knative | Tidak ada biaya untuk controller Knative |
| Perilaku penskalaan | Diskala ke nol selama jam sepi; cold start dapat menyebabkan timeout sesi saat terjadi lonjakan traffic | Mempertahankan satu instans terjadwal; menggunakan instans burstable selama jam sepi untuk mengontrol biaya |
Knative Gateway
Knative open-source mendukung berbagai solusi gerbang masuk: Istio, Gloo, Contour, Kourier, dan Ambassador. Istio merupakan pilihan paling umum karena juga berfungsi sebagai service mesh, tetapi memerlukan minimal dua instance gerbang resident per kluster—saling mencadangkan satu sama lain untuk menjamin ketersediaan tinggi—ditambah biaya infrastruktur dan O&M berkelanjutan untuk sumber daya resident tersebut.
ACK Serverless menggunakan instance ALB sebagai gerbang masuk Knative. Knative Gateway menyediakan kemampuan gerbang yang setara dengan layanan cloud, stabil dan andal, tanpa memerlukan instance gerbang resident, sehingga mengurangi biaya infrastruktur dan beban O&M.
Instans Terpesan
Knative open-source diskala ke nol instans selama jam sepi untuk meminimalkan biaya. Konsekuensinya adalah latensi cold start: ketika traffic kembali, kluster harus mengalokasikan sumber daya, menjadwalkan Pod, menarik gambar, dan menginisialisasi aplikasi sebelum dapat melayani permintaan. Hal ini dapat menyebabkan timeout sesi saat terjadi lonjakan traffic.
ACK Serverless Knative selalu menjalankan satu instans terjadwal. Selama jam sepi, instans komputasi-teroptimalkan diganti dengan instans burstable untuk mengurangi biaya. Saat permintaan tiba, sistem beralih kembali ke instans komputasi-teroptimalkan. Kredit CPU yang terakumulasi selama jam sepi dapat mengimbangi biaya komputasi selama jam sibuk.
Prasyarat
Untuk men-deploy Knative di kluster ACK Serverless, versi kluster harus 1.16 atau lebih baru. Anda dapat men-deploy aplikasi berbasis kontainer di kluster ACK Serverless tanpa perlu membeli node.
Deploy Knative
Deploy Knative di Konsol Container Service for Kubernetes (ACK).
Penagihan
ACK Serverless Knative hanya menagih sumber daya cloud yang digunakan untuk mengelola kluster ACK Serverless Anda: instans kontainer elastis, instance SLB, dan gerbang NAT. Setiap jenis sumber daya ditagih sesuai dengan aturan penagihan-nya.
Langkah berikutnya
Deploy Knative: Aktifkan Knative pada kluster ACK Serverless.
Instans terjadwal: Pelajari cara kerja instans terjadwal dan cara mengonfigurasinya untuk menyeimbangkan biaya dan ketersediaan.