Dokumen ini memberikan jawaban atas pertanyaan-pertanyaan umum terkait penggunaan Knative dalam kluster Container Service for Kubernetes (ACK).
Indeks
Apa perbedaan antara Knative Alibaba Cloud dan Knative open source?
Ingress mana yang perlu saya gunakan saat menginstal Knative?
Izin apa yang diperlukan untuk menggunakan Knative dengan pengguna atau peran RAM?
Berapa lama waktu yang dibutuhkan untuk mengurangi jumlah pod menjadi nol?
Apakah saya dikenai biaya untuk komponen Activator ACK Knative?
Apa perbedaan antara Knative Alibaba Cloud dan Knative open source?
Knative Alibaba Cloud menyediakan kemampuan layanan yang ditingkatkan berdasarkan Knative open source, termasuk operasi & pemeliharaan, kemudahan penggunaan, elastisitas, Ingress, layanan berbasis acara, serta pemantauan dan peringatan. Untuk informasi lebih lanjut, lihat Perbandingan antara Knative Alibaba Cloud dan Knative open-source.
Ingress mana yang perlu saya gunakan saat menginstal Knative?
Knative Alibaba Cloud mendukung empat jenis Ingress: Application Load Balancer (ALB) Ingresses, Microservices Engine (MSE) Ingresses, Service Mesh (ASM) Ingresses, dan Kourier Ingresses. ALB Ingress cocok untuk load balancing pada lapisan aplikasi. MSE cloud-native Ingress cocok untuk skenario mikro-layanan. ASM Ingress menyediakan kemampuan Istio. Jika Anda hanya memerlukan kemampuan dasar Ingress, Anda dapat menggunakan Kourier Ingress. Untuk informasi lebih lanjut, lihat Pilih Ingress untuk Knative.
Izin apa yang diperlukan untuk menggunakan Knative dengan pengguna atau peran RAM
Izin untuk mengakses semua namespace dalam kluster diperlukan. Berikut adalah langkah-langkah untuk memberi otorisasi kepada pengguna atau peran Resource Access Management (RAM).
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Authorizations.
Klik tab RAM Users, dalam daftar pengguna RAM, klik Modify Permissions yang sesuai dengan pengguna RAM target.
Di area Add Permissions, pilih kluster yang akan diberi otorisasi, lalu pilih Semua Namespace sebagai Namespace, dan selesaikan otorisasi sesuai petunjuk.
Berapa lama waktu yang dibutuhkan untuk mengurangi jumlah pod menjadi nol?
Jumlah waktu yang diperlukan untuk mengurangi jumlah pod menjadi nol bergantung pada tiga parameter berikut:
stable-window: jendela waktu sebelum operasi penskalaan masuk dilakukan. Sebelum pod diskalakan masuk, sistem mengamati dan mengevaluasi metrik dalam jendela waktu tersebut dan tidak langsung melakukan operasi penskalaan masuk.scale-to-zero-grace-period: periode tenggang sebelum jumlah pod dikurangi menjadi nol. Selama periode ini, sistem tidak langsung menghentikan atau menghapus pod terakhir meskipun tidak ada permintaan baru yang diterima. Ini membantu merespons lalu lintas burst.scale-to-zero-pod-retention-period: periode retensi pod terakhir sebelum jumlah pod dikurangi menjadi nol.
Untuk mengurangi jumlah pod menjadi nol, pastikan kondisi berikut terpenuhi:
Tidak ada permintaan yang diterima selama jendela waktu yang ditentukan oleh parameter
stable-window.Periode retensi pod terakhir yang ditentukan oleh parameter
scale-to-zero-pod-retention-periodtelah terlewati.Jumlah waktu yang digunakan untuk beralih ke mode proxy untuk layanan Kubernetes serverless lebih lama daripada periode tenggang yang ditentukan oleh parameter
scale-to-zero-grace-period.
Periode retensi pod terakhir sebelum jumlah pod dikurangi menjadi nol tidak melebihi nilai yang dihitung berdasarkan rumus berikut: stable-window + Max["scale-to-zero-grace-period", "scale-to-zero-pod-retention-period"]. Jika Anda ingin secara paksa menetapkan periode retensi pod terakhir sebelum jumlah pod dikurangi menjadi nol, kami sarankan Anda menggunakan parameter scale-to-zero-pod-retention-period.
Bagaimana cara menggunakan sumber daya GPU di Knative?
Anda dapat menambahkan anotasi k8s.aliyun.com/eci-use-specs ke bagian spec.template.metadata.annotation dari konfigurasi Layanan Knative untuk menentukan tipe instans Elastic Compute Service (ECS) yang dipercepat GPU. Anda juga dapat menambahkan bidang nvidia.com/gpu ke bagian spec.containers.resources.limits untuk menentukan jumlah sumber daya GPU yang diperlukan oleh Layanan Knative.
Untuk informasi lebih lanjut, lihat Konfigurasikan sumber daya GPU.
Bagaimana cara menggunakan berbagi GPU di Knative?
Anda dapat merujuk ke Contoh penggunaan berbagi GPU untuk berbagi GPU untuk mengaktifkan fitur berbagi GPU untuk node, dan tentukan jumlah maksimum sumber daya GPU yang tersedia di Knative melalui parameter aliyun.com/gpu-mem. Untuk informasi lebih lanjut, lihat Gunakan sumber daya GPU.
Secara default, Knative menurunkan jumlah instance menjadi nol selama jam sepi. Bagaimana cara mengurangi latensi start dingin?
Secara default, versi open source Knative menurunkan jumlah instance menjadi nol selama jam sepi untuk mengurangi biaya instance. Saat permintaan berikutnya tiba, aplikasi dialokasikan ke instance baru. Sistem harus terlebih dahulu mengalokasikan sumber daya infrastruktur menggunakan penjadwal Kubernetes, lalu menarik gambar aplikasi dan memulai aplikasi. Meskipun pendekatan ini mengurangi biaya, ini menghasilkan start dingin dengan latensi panjang saat aplikasi dimulai.
Untuk menghindari latensi start dingin, kami sarankan Anda menggunakan salah satu solusi berikut:
Konfigurasikan instance cadangan: Cadangkan instance burstable spesifikasi rendah dan biaya rendah burstable instance untuk menyeimbangkan biaya dan latensi start dingin Knative. Saat permintaan pertama tiba, instance cadangan memproses permintaan dan mulai membuat instance spesifikasi default. Setelah instance spesifikasi default dibuat, semua permintaan baru berikutnya diteruskan ke instance ini. Instance cadangan dilepaskan setelah memproses semua permintaan yang dikirim kepadanya. Untuk informasi lebih lanjut, lihat Konfigurasikan instance cadangan.
Elastic Container Instance menyediakan cache gambar. Anda dapat membuat snapshot cache dari gambar lalu menggunakan snapshot cache untuk menerapkan pod pada instance kontainer elastis. Ini mengurangi lapisan gambar yang perlu Anda unduh dan oleh karena itu mempercepat pembuatan pod. Untuk informasi lebih lanjut, lihat Gunakan cache gambar untuk mempercepat pembuatan pod untuk Layanan Knative.
Apakah saya dikenai biaya untuk komponen Activator ACK Knative?
Ya. Activator adalah komponen bidang data yang berjalan sebagai pod dan menggunakan sumber daya instance Anda.
Bagaimana cara mengonfigurasi port mendengarkan di Knative?
Port mendengarkan aplikasi harus sesuai dengan port containerPort di Knative, yang default-nya adalah 8080. Untuk informasi lebih lanjut tentang cara mengonfigurasi port mendengarkan kustom, lihat Konfigurasikan port mendengarkan kustom.