Pelajari cara mengaktifkan instance nonaktif untuk layanan Anda dengan mengonfigurasi setelan instance minimum.
Secara default, layanan Knative meningkatkan skala hingga jumlah instance berdasarkan jumlah permintaan masuk. Namun, jika layanan 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 melayani permintaan.
Instance yang tetap berjalan dengan cara ini menimbulkan biaya penagihan.
Revisi dan instance minimum
Instance minimum dimulai hanya jika revisi dapat ditangani. Revisi dapat ditangani jika salah satu hal berikut terpenuhi:
- Aplikasi menerima persentase traffic.
- Sudah 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 min-instances
menonaktifkan, dengan setelan
di 0
. Anda dapat mengubah setelan default ini menggunakan konsol Google Cloud, atau Google Cloud CLI saat men-deploy layanan baru atau mengupdate layanan yang ada dan men-deploy revisi:
Konsol
Buka penyaluran Knative di Konsol Google Cloud:
Klik Buat Layanan jika Anda mengonfigurasi layanan baru yang akan di-deploy. Jika Anda mengonfigurasi layanan yang ada, klik layanan tersebut, lalu klik Edit & Deploy New Revision.
Di bagian Setelan lanjutan, klik Penampung.
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 Create untuk men-deploy image ke inferensi Knative dan tunggu hingga deployment selesai.
Command line
Untuk layanan yang ada, tetapkan jumlah minimum instance container dengan menjalankan perintah
gcloud run services update
menggunakan parameter--min-instances
:gcloud run services update SERVICE --min-instances MIN-VALUE
Ganti:
- SERVICE dengan nama layanan Anda.
- MIN-VALUE dengan jumlah instance container yang diinginkan yang akan tetap aktif, siap untuk menerima permintaan. Tentukan
default
untuk menghapus semua setelan instance minimum.
Untuk layanan baru, tetapkan jumlah minimum instance container dengan menjalankan perintah
gcloud run deploy
dengan parameter--min-instances
:gcloud run deploy SERVICE --image=IMAGE_URL --min-instances MIN-VALUE
Ganti:
- SERVICE dengan nama layanan Anda.
- IMAGE_URL dengan mereferensikan ke image container, misalnya,
gcr.io/cloudrun/hello
. - MIN-VALUE dengan jumlah instance penampung yang diinginkan agar tetap aktif, siap untuk menerima permintaan. Tentukan
default
untuk 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 menjadi file bernama
service.yaml
di ruang kerja lokal:gcloud run services describe SERVICE --format export > service.yaml
Ganti SERVICE dengan nama layanan penayangan Knative Anda.
Dalam 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 penampung yang diinginkan agar tetap aktif, siap untuk menerima permintaan. Tentukan
default
untuk menghapus semua setelan instance minimum.
- MIN-VALUEcode> dengan jumlah instance penampung yang diinginkan agar tetap aktif, siap untuk menerima permintaan. Tentukan
Ganti layanan dengan konfigurasi baru menggunakan perintah berikut:
gcloud run services replace service.yaml