Topik ini menjelaskan isu umum yang mungkin Anda temui saat menggunakan Knative di kluster ACK beserta solusinya.
Indeks
-
Apa perbedaan antara Knative Alibaba Cloud dan Knative open-source?
-
Izin apa saja yang diperlukan untuk menggunakan Knative dengan Pengguna RAM atau role?
-
Berapa lama waktu yang dibutuhkan Pod Knative untuk melakukan skala turun hingga nol?
-
Bagaimana cara mengonfigurasi port listening untuk layanan Knative?
Apa perbedaan antara Knative Alibaba Cloud dan Knative open-source?
Knative Alibaba Cloud menyempurnakan Knative open-source dalam berbagai aspek, termasuk operasi dan pemeliharaan, kemudahan penggunaan, elastisitas, gerbang, kemampuan berbasis event, serta Pemantauan Peringatan. Untuk informasi selengkapnya, lihat Perbandingan Knative Alibaba Cloud dan Knative open-source.
Gerbang mana yang harus saya pilih saat menginstal Knative?
Knative Alibaba Cloud mendukung tiga gerbang: ALB, ASM, dan Kourier. ALB dioptimalkan untuk load balancing lapisan aplikasi. ASM menyediakan kemampuan service mesh berbasis Istio. Jika Anda hanya memerlukan fungsionalitas gerbang dasar, pilih Kourier. Untuk informasi selengkapnya, lihat Pilih gerbang untuk Knative.
Izin apa saja yang diperlukan untuk menggunakan Knative dengan Pengguna RAM atau role?
Anda harus memiliki izin untuk mengakses semua namespace di kluster. Berikan izin tersebut sebagai berikut.
Masuk ke Container Service Management Console . Di panel navigasi sebelah kiri, klik Authorizations.
-
Klik tab RAM Users. Di daftar Pengguna RAM, klik Manage Permissions di samping Pengguna RAM target.
-
Di area Add Permissions, pilih kluster yang akan diberi otorisasi, atur namespace ke semua namespace, lalu selesaikan otorisasi sesuai petunjuk.
Berapa lama waktu yang dibutuhkan Pod Knative untuk melakukan skala turun hingga nol?
Waktu yang dibutuhkan pod untuk melakukan skala turun hingga nol bergantung pada tiga parameter:
-
stable-window: Jendela stabil. Sebelum melakukan skala turun, sistem mengamati metrik selama periode ini tanpa langsung mengambil tindakan. -
scale-to-zero-grace-period: Timeout untuk skala turun hingga nol. Selama periode ini, sistem tetap mempertahankan pod terakhir meskipun tidak ada permintaan baru guna menangani lonjakan traffic mendadak. -
scale-to-zero-pod-retention-period: Periode retensi untuk pod terakhir sebelum skala turun hingga nol. Ini memungkinkan respons cepat terhadap lonjakan traffic tanpa harus memulai pod baru dari awal.
Pod akan melakukan skala turun hingga nol ketika ketiga kondisi berikut terpenuhi:
-
Tidak ada permintaan yang diterima dalam
stable-window. -
scale-to-zero-pod-retention-periodtelah berakhir. -
Waktu yang dibutuhkan SKS (Serverless Kubernetes Service) untuk beralih ke modus proxy melebihi
scale-to-zero-grace-period, dan pod mulai melakukan skala turun.
Periode retensi maksimum untuk pod yang melakukan skala turun hingga nol adalah stable-window + Max["scale-to-zero-grace-period", "scale-to-zero-pod-retention-period"]. Untuk menetapkan periode retensi tertentu, konfigurasikan parameter scale-to-zero-pod-retention-period.
Bagaimana cara menggunakan resource GPU di Knative?
Di Knative Service, Anda dapat menentukan tipe instans GPU dengan menambahkan bidang k8s.aliyun.com/eci-use-specs ke bagian spec.template.metadata.annotation. Kemudian, Anda dapat mendeklarasikan resource GPU menggunakan bidang nvidia.com/gpu di bagian spec.containers.resources.limits.
Untuk informasi selengkapnya, lihat Gunakan GPU.
Bagaimana cara menggunakan GPU bersama di Knative?
Aktifkan penjadwalan GPU bersama untuk node dengan mengikuti petunjuk di Jalankan contoh penjadwalan GPU bersama. Lalu, konfigurasikan batas resource di Knative Service menggunakan bidang aliyun.com/gpu-mem. Untuk informasi selengkapnya, lihat Aktifkan penjadwalan GPU bersama.
Knative melakukan skala turun instans hingga nol saat tidak ada traffic. Bagaimana cara mengatasi masalah latensi cold start?
Saat aplikasi tidak menerima permintaan, Knative open-source secara default melakukan skala turun jumlah instans aplikasi hingga nol untuk mengurangi biaya menjalankan instans persisten. Saat permintaan tiba, aplikasi dialokasikan instans baru, yang melibatkan alokasi dan penjadwalan resource IaaS, pull image, serta startup aplikasi. Meskipun ini mengurangi biaya, hal tersebut menimbulkan latensi cold start.
Jika bisnis Anda sensitif terhadap latensi cold start, pertimbangkan salah satu solusi berikut.
-
Konfigurasikan instans terjadwal: Cadangkan instans burstable instance overview ber-spesifikasi rendah dan berbiaya rendah untuk menyeimbangkan biaya penggunaan Knative dan latensi cold start. Saat permintaan pertama tiba, instans terjadwal melayani permintaan tersebut dan memicu skala keluar instans ber-spesifikasi default. Setelah instans ber-spesifikasi default selesai melakukan skala keluar, permintaan berikutnya akan diarahkan ke instans tersebut. Instans terjadwal secara otomatis offline setelah menyelesaikan permintaannya. Untuk informasi selengkapnya, lihat Konfigurasikan instans terjadwal.
-
Gunakan fitur cache gambar ECI untuk membuat snapshot cache gambar aplikasi Anda terlebih dahulu, lalu buat instans ECI (Pod) dari snapshot tersebut. Hal ini menghindari atau mengurangi unduhan layer image dan meningkatkan kecepatan pembuatan instans. Untuk informasi selengkapnya, lihat Gunakan akselerasi image.
Apakah komponen Activator pada ACK Knative dikenai biaya?
Ya, dikenai biaya. Komponen Activator berjalan sebagai Pod di bidang data dan mengonsumsi resource instans Anda.
Bagaimana cara mengonfigurasi port listening untuk layanan Knative?
Port listening aplikasi harus sesuai dengan containerPort di Knative Service, yang secara default bernilai 8080. Untuk menyesuaikan port listening, lihat Konfigurasikan port listening kustom.