Pelajari cara mengaktifkan instance yang tidak ada aktivitas untuk layanan Anda dengan mengonfigurasi setelan instance minimum.
Secara default, inferensi Knative melakukan penskalaan hingga jumlah instance berdasarkan jumlah permintaan yang masuk. Namun, jika layanan Anda memerlukan latensi yang lebih rendah dan Anda ingin membatasi jumlah cold start, perilaku default ini dapat diubah dengan menentukan jumlah minimum instance container yang harus tetap berjalan dan siap untuk melayani permintaan.
Instance yang terus berjalan dengan cara ini akan dikenai biaya penagihan.
Revisi dan instance minimum
Instance minimum dimulai hanya jika revisi dapat ditangani. Revisi dapat ditangani jika salah satu hal berikut terpenuhi:
- Program ini menerima persentase lalu lintas.
- Program ini diberi tag revisi.
Menetapkan dan mengupdate instance minimum
Setiap perubahan konfigurasi akan menghasilkan suatu revisi baru. Revisi berikutnya juga akan otomatis mendapatkan setelan konfigurasi ini, kecuali jika Anda melakukan pembaruan eksplisit untuk mengubahnya.
Secara default, instance container telah menonaktifkan min-instances, dengan setelan di 0. Anda dapat mengubah perilaku default ini menggunakan Google Cloud konsol,
atau Google Cloud CLI saat Anda men-deploy
layanan baru atau memperbarui layanan yang sudah ada dan
men-deploy revisi:
Konsol
Buka inferensi Knative di Google Cloud konsol:
Klik Buat Layanan jika Anda mengonfigurasi layanan baru yang akan di-deploy. Jika Anda mengonfigurasi layanan yang sudah ada, klik layanan tersebut, lalu klik Edit &Deploy Revisi Baru.
Di bagian Setelan lanjutan, klik Container.
Di kolom berlabel Jumlah minimum instance, tentukan jumlah instance container yang diinginkan agar tetap aktif dan siap menerima permintaan.
Klik Berikutnya untuk melanjutkan ke bagian berikutnya.
Di bagian Konfigurasikan cara layanan ini dipicu , pilih konektivitas yang ingin Anda gunakan untuk memanggil layanan.
Klik Buat untuk men-deploy image ke inferensi Knative dan tunggu hingga deployment selesai.
Command line
Untuk layanan yang sudah ada, tetapkan jumlah minimum instance container dengan menjalankan perintah
gcloud run services updatedengan--min-instancesparameter:gcloud run services update SERVICE --min-instances MIN-VALUE
Ganti:
- SERVICE dengan nama layanan Anda.
- MIN-VALUE dengan jumlah instance container yang diinginkan agar tetap aktif dan siap menerima permintaan. Tentukan
defaultuntuk menghapus semua setelan instance minimum.
Untuk layanan baru, tetapkan jumlah minimum instance container dengan menjalankan perintah
gcloud run deploydengan--min-instancesparameter:gcloud run deploy SERVICE --image=IMAGE_URL --min-instances MIN-VALUE
Ganti:
- SERVICE dengan nama layanan Anda.
- IMAGE_URL dengan referensi ke image container, misalnya,
gcr.io/cloudrun/hello. - MIN-VALUE dengan jumlah instance
container yang diinginkan agar tetap aktif dan siap menerima permintaan. Tentukan
defaultuntuk menghapus semua setelan instance minimum.
YAML
Anda dapat mendownload konfigurasi layanan yang ada ke dalam file
YAML dengan perintah gcloud run services describe menggunakan flag
--format=export.
Kemudian, Anda dapat mengubah file YAML tersebut dan men-deploy perubahan tersebut dengan perintah gcloud run services replace.
Anda harus memastikan bahwa Anda hanya mengubah atribut yang ditentukan.
Download konfigurasi layanan Anda ke dalam file bernama
service.yamldi ruang kerja lokal:gcloud run services describe SERVICE --format export > service.yaml
Ganti SERVICE dengan nama layanan inferensi Knative Anda.
Di file lokal Anda, perbarui atribut
autoscaling.knative.dev/minScale::spec: template: metadata: annotations: autoscaling.knative.dev/minScale: 'MIN-INSTANCE'
Ganti:
- MIN-VALUEcode> dengan jumlah instance
container yang diinginkan agar tetap aktif dan siap menerima permintaan. Tentukan
defaultuntuk menghapus semua setelan instance minimum.
- MIN-VALUEcode> dengan jumlah instance
container yang diinginkan agar tetap aktif dan siap menerima permintaan. Tentukan
Ganti layanan dengan konfigurasi barunya menggunakan perintah berikut:
gcloud run services replace service.yaml