Menetapkan instance maksimum untuk layanan

Halaman ini menjelaskan cara menetapkan jumlah maksimum instance yang dapat digunakan untuk layanan Cloud Run Anda menggunakan perilaku penskalaan otomatis Cloud Run default. Untuk menskalakan layanan Anda secara manual, lihat Penskalaan manual.

Menentukan instance maksimum di Cloud Run memungkinkan Anda membatasi penskalaan layanan sebagai respons terhadap permintaan masuk, meskipun setelan maksimum ini dapat terlampaui untuk jangka waktu yang singkat karena keadaan seperti lonjakan traffic.

Anda dapat menggunakan setelan ini sebagai salah satu cara untuk mengontrol biaya Anda atau untuk membatasi jumlah koneksi ke layanan cadangan seperti ke database.

Untuk informasi tentang batas maksimum instance yang mungkin diterapkan pada layanan Anda, baca Batas instance maksimum.

Untuk informasi selengkapnya tentang cara Cloud Run melakukan penskalaan otomatis pada instance container, baca Penskalaan otomatis instance.

Menerapkan instance maksimum di tingkat layanan versus tingkat revisi

Anda dapat mengonfigurasi instance maksimum di tingkat layanan atau di tingkat revisi. Google merekomendasikan agar Anda menggunakan instance maksimum tingkat layanan, kecuali jika Anda memiliki kebutuhan khusus untuk membatasi instance di tingkat revisi.

Saat menerapkan instance maksimum, setelan akan berlaku sebagai berikut:

  • Tingkat layanan: segera
  • Tingkat revisi: saat deployment revisi

Revisi yang diberi tag dan instance maksimum tingkat layanan

Revisi yang diberi tag akan dimulai, tetapi hanya dihitung ke instance maksimum tingkat layanan jika merupakan bagian dari pembagian traffic.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan untuk mengonfigurasi dan men-deploy layanan Cloud Run, minta administrator Anda untuk memberi Anda peran IAM berikut:

Untuk mengetahui daftar peran dan izin IAM yang terkait dengan Cloud Run, lihat Peran IAM Cloud Run dan Izin IAM Cloud Run. Jika layanan Cloud Run Anda berinteraksi dengan Google Cloud API, seperti Library Klien Cloud, lihat panduan konfigurasi identitas layanan. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat izin deployment dan mengelola akses.

Mengonfigurasi instance maksimum tingkat layanan

Anda dapat mengubah setelan instance maksimum menggunakan konsol Google Cloud , Google Cloud CLI, atau file YAML saat Anda membuat layanan baru atau men-deploy revisi baru.

Konsol

  1. Di konsol Google Cloud , buka Cloud Run:

    Buka Cloud Run

  2. Jika Anda mengonfigurasi layanan baru, pilih Layanan, lalu klik Deploy container untuk menampilkan formulir Buat layanan. Cari formulir Penskalaan layanan.

  3. Jika Anda mengonfigurasi layanan yang ada, klik layanan untuk menampilkan panel detailnya, lalu klik Edit setelan penskalaan tingkat layanan di kanan atas panel detail.

  4. Di kolom berlabel Maximum number of instances, tentukan jumlah maksimum instance container yang diperlukan, menggunakan nilai bilangan bulat apa pun dari 1 hingga batas maksimum yang mungkin untuk layanan Anda.

  5. Klik Buat untuk layanan baru atau Deploy untuk layanan yang sudah ada.

gcloud

Anda dapat memperbarui jumlah maksimum instance untuk layanan tertentu menggunakan perintah berikut:

gcloud beta run services update SERVICE --max MAX-VALUE

Ganti

  • SERVICE: nama layanan Anda.
  • MAX-VALUE: jumlah maksimum instance container yang diperlukan, menggunakan nilai bilangan bulat apa pun dari 1 hingga batas maksimum yang memungkinkan untuk layanan Anda.

Anda juga dapat mengatur jumlah maksimum instance selama deployment menggunakan perintah:

gcloud beta run deploy --image IMAGE_URL --max MAX-VALUE

Ganti

  • IMAGE_URL dengan referensi ke image container misalnya, us-docker.pkg.dev/cloudrun/container/hello:latest. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentuk LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG .
  • MAX-VALUE: jumlah maksimum instance container yang diperlukan, menggunakan nilai bilangan bulat apa pun dari 1 hingga batas maksimum.

YAML

Setiap perubahan konfigurasi akan menghasilkan revisi baru. Revisi selanjutnya juga akan otomatis mendapatkan setelan konfigurasi ini, kecuali jika Anda melakukan pembaruan eksplisit untuk mengubahnya.

  1. Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download konfigurasi YAML-nya:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Perbarui atribut run.googleapis.com/maxScale::

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      annotations:
        run.googleapis.com/launch-stage: BETA
        run.googleapis.com/maxScale: 'MAX-INSTANCE'

    Ganti

    • SERVICE: nama layanan Cloud Run Anda
    • MAX-INSTANCE: jumlah maksimum instance container yang diperlukan, menggunakan nilai bilangan bulat apa pun dari 1 hingga batas maksimum yang memungkinkan untuk layanan Anda.
  3. Buat atau perbarui layanan menggunakan perintah berikut:

    gcloud run services replace service.yaml

Melihat instance maksimum tingkat layanan

Untuk melihat setelan instance maksimum tingkat layanan saat ini untuk layanan Cloud Run Anda:

Konsol

  1. Di konsol Google Cloud , buka Cloud Run:

    Buka Cloud Run

  2. Klik layanan tersebut untuk membuka panel Detail layanan.

  3. Lihat setelan saat ini di kanan atas panel detail layanan, di samping Penskalaan.

gcloud

  1. Gunakan perintah berikut:

    gcloud run services describe SERVICE
  2. Temukan nilai untuk Scaling: Auto (Min: MIN_VALUE, Max: MAX_VALUE) dalam konfigurasi yang ditampilkan.

Mengonfigurasi instance maksimum tingkat revisi

Setiap perubahan konfigurasi akan menghasilkan revisi baru. Revisi selanjutnya juga akan otomatis mendapatkan setelan konfigurasi ini, kecuali jika Anda melakukan pembaruan eksplisit untuk mengubahnya.

Secara default, layanan Cloud Run dikonfigurasi untuk melakukan penskalaan hingga maksimum 100 instance.

Anda dapat mengubah setelan instance maksimum menggunakan konsol Google Cloud , Google Cloud CLI, atau file YAML saat Anda membuat layanan baru atau men-deploy revisi baru.

Konsol

  1. Di konsol Google Cloud , buka Cloud Run:

    Buka Cloud Run

  2. Temukan dan klik layanan yang ingin Anda perbarui dalam daftar layanan untuk membuka detail layanan tersebut.

  3. Klik Edit dan deploy revisi baru untuk menampilkan formulir deployment revisi.

  4. Klik tab Container.

  5. Temukan bagian Penskalaan revisi. Di kolom berlabel Maximum number of instances, tentukan jumlah maksimum instance container.

  6. Klik Deploy.

gcloud

Anda dapat memperbarui jumlah maksimum instance untuk layanan tertentu menggunakan perintah berikut:

gcloud beta run services update SERVICE --max-instances MAX-VALUE

Ganti

  • SERVICE: nama layanan Anda.
  • MAX-VALUE: jumlah maksimum instance container yang diperlukan, menggunakan nilai bilangan bulat apa pun dari 1 hingga batas maksimum.

YAML

  1. Jika Anda membuat layanan baru, lewati langkah ini. Jika Anda mengupdate layanan yang sudah ada, download konfigurasi YAML-nya:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Perbarui atribut autoscaling.knative.dev/maxScale::

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        metadata:
          annotations:
            autoscaling.knative.dev/maxScale: 'MAX-INSTANCE'
          name: REVISION

    Ganti

    • SERVICE: nama layanan Cloud Run Anda
    • MAX-INSTANCE: jumlah maksimum instance container yang diperlukan, menggunakan nilai bilangan bulat apa pun dari 1 hingga batas maksimum.
    • REVISION dengan nama revisi baru atau hapus (jika ada). Jika Anda memberikan nama revisi baru, nama tersebut harus memenuhi kriteria berikut:
      • Dimulai denganSERVICE-
      • Hanya berisi huruf kecil, angka, dan -
      • Tidak diakhiri dengan -
      • Tidak melebihi 63 karakter
  3. Buat atau perbarui layanan menggunakan perintah berikut:

    gcloud run services replace service.yaml

Melihat setelan instance maksimum tingkat revisi

Untuk melihat setelan instance maksimum tingkat revisi saat ini untuk layanan Cloud Run Anda:

Konsol

  1. Di konsol Google Cloud , buka Cloud Run:

    Buka Cloud Run

  2. Klik layanan tersebut untuk membuka panel Detail layanan.

  3. Klik tab Revisi.

  4. Di panel detail di sebelah kanan, lihat setelan Instance maks. revisi yang tercantum di bagian tab Container.

gcloud

  1. Gunakan perintah berikut:

    gcloud run services describe SERVICE
  2. Temukan nilai untuk Jumlah instance maks.: dalam konfigurasi yang ditampilkan.

Menggunakan instance minimum atau maksimum tingkat layanan dan tingkat revisi

Tabel berikut menunjukkan perilaku jika Anda menggabungkan instance maksimum tingkat layanan dengan instance minimum atau maksimum tingkat revisi:

Setelan tingkat layanan Setelan tingkat revisi Perilaku
Jumlah maksimum instance tingkat layanan ditetapkan Instance maksimum tingkat revisi ditetapkan Batas instance maksimum efektif adalah nilai yang lebih kecil antara instance maksimum tingkat revisi dan instance maksimum tingkat layanan.
Jumlah maksimum instance tingkat layanan ditetapkan Setelan instance minimum tingkat revisi Jika instance maksimum tingkat layanan ditetapkan ke nilai yang lebih rendah daripada instance minimum tingkat revisi, revisi akan memulai instance hingga instance maksimum tingkat layanan, dan tidak akan mencapai instance minimum tingkat revisi yang dikonfigurasi.

Menggunakan instance maksimum tingkat layanan dengan pembagian traffic

Jika Anda menggunakan pemisahan traffic, instance maksimum tingkat layanan didistribusikan di seluruh revisi berdasarkan proporsi pemisahan traffic. Misalnya, jika instance maksimum tingkat layanan = 100, pembagian traffic 50/50 akan mengalokasikan 50 instance maksimum tingkat layanan ke setiap revisi. Tabel berikut menunjukkan contoh skenario konfigurasi:

Contoh konfigurasi Perilaku yang dihasilkan
Setelan instance maksimum tingkat layanan (skenario tanpa setelan tingkat revisi): 100
  • Pemisahan traffic untuk Revisi A: 10%
  • Pemisahan traffic untuk Revisi B: 10%
  • Pemisahan traffic untuk Revisi C : 80%
Sebagian instance maksimum tingkat layanan dialokasikan untuk setiap revisi. Jumlah instance maksimum efektif untuk setiap revisi ditetapkan berdasarkan pembagian traffic. Instance maksimum untuk Revisi A adalah 10, Revisi B adalah 10, dan Revisi C adalah 80.