Mengonfigurasi batas CPU

Halaman ini menjelaskan cara menentukan jumlah CPU yang akan digunakan untuk setiap instance Cloud Run. Secara default, instance container Cloud Run dibatasi hingga 1 CPU. Anda dapat menaikkan atau menurunkan nilai ini seperti yang dijelaskan di halaman ini.

Halaman ini juga menjelaskan cara mengaktifkan atau menonaktifkan peningkatan CPU startup, fitur yang meningkatkan alokasi CPU untuk sementara selama proses startup instance guna mengurangi latency pengaktifan.

Mengatur dan mengupdate batas CPU

Secara default, setiap instance dibatasi hingga 1 CPU. Anda dapat meningkatkannya menggunakan nilai bilangan bulat hingga maksimum 8 CPU.

CPU dan memori

Berikut adalah persyaratan minimum memori untuk CPU:

CPU Minimum memori
4 2 GiB
6 4 GiB
8 4 GiB

Atau, jika ingin menggunakan kurang dari 1 CPU, Anda dapat memilih angka berapa pun antara 0,08 hingga 1, dengan kelipatan 0,01. Setiap nilai di atas 1 harus berupa nilai bilangan bulat. Jika Anda menggunakan kurang dari 1 CPU, persyaratan berikut harus diterapkan:

Setelan Persyaratan
Memori Diperlukan minimal 0,5 CPU untuk mengatur batas memori di atas 512MiB.
Diperlukan minimal 1 CPU untuk menetapkan batas memori lebih dari 1GiB.
Serentak Konkurensi maksimum harus ditetapkan ke 1.
CPU yang dialokasikan alokasi CPU harus ditetapkan ke CPU yang dialokasikan hanya selama pemrosesan permintaan.
Lingkungan eksekusi Anda harus menggunakan lingkungan eksekusi generasi pertama.

Peran yang diperlukan

Untuk mendapatkan izin yang diperlukan guna mengonfigurasi dan men-deploy layanan Cloud Run, minta administrator 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 antarmuka layanan Cloud Run Anda 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 batas CPU

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

Anda dapat menetapkan batas CPU menggunakan console Google Cloud, command line gcloud atau file YAML saat membuat layanan baruatau men-deploy revisi baru

Console

  1. Di konsol Google Cloud, buka Cloud Run:

    Buka Cloud Run

  2. Klik Deploy container dan pilih Service untuk mengonfigurasi layanan baru. Jika Anda mengonfigurasi layanan yang sudah ada, klik layanan, lalu klik Edit dan deploy revisi baru.

  3. Jika Anda mengonfigurasi layanan baru, isi halaman setelan layanan awal, lalu klik Container, volume, networking, security untuk memperluas halaman konfigurasi layanan.

  4. Klik tab Container.

    gambar

    • Pilih batas CPU yang diinginkan dari daftar dropdown, menggunakan Custom jika Anda ingin menggunakan kurang dari 1 CPU. Pilih nilai CPU 1, 2, 4, 6, atau 8, atau untuk kurang dari 1 CPU, tentukan angka dari 0,08 hingga kurang dari 1,00, dengan kelipatan 0,01. (Lihat tabel di bagian bawah Menetapkan dan mengupdate batas CPU untuk setelan yang diperlukan.)
  5. Klik Buat atau Deploy.

gcloud

Anda dapat memperbarui batas CPU untuk layanan tertentu menggunakan perintah berikut:

gcloud run services update SERVICE --cpu CPU

Ganti

  • SERVICE dengan nama layanan Anda.
  • CPU dengan batas CPU yang diinginkan. Tentukan nilai CPU 1, 2, 4, 6, atau 8 atau untuk CPU yang kurang dari 1, tentukan angka dari 0,08 ke kurang dari 1,00, dengan kelipatan 0,01. (Lihat tabel di bagian bawah Menetapkan dan mengupdate batas CPU untuk setelan yang diperlukan.)

Anda juga dapat menetapkan CPU selama deployment menggunakan perintah:

gcloud run deploy --image IMAGE_URL --cpu CPU

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 .
  • CPU dengan nilai CPU 1, 2, 4, 6, atau 8 atau kurang dari 1 CPU, tentukan angka dari 0,08 hingga kurang dari 1,00, dengan kelipatan 0,01. (Lihat tabel di bagian bawah Menetapkan dan mengupdate batas CPU untuk setelan yang diperlukan.)

YAML

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

    gcloud run services describe SERVICE --format export > service.yaml
  2. Perbarui atribut cpu:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          name: REVISION
        spec:
          containers:
          - image: IMAGE
            resources:
              limits:
                cpu: CPU

    Ganti

    • SERVICE dengan nama layanan Cloud Run Anda
    • 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
    • CPU dengan nilai batas CPU yang diinginkan. Tentukan nilai CPU 1, 2, 4, 6, atau 8 atau untuk CPU yang kurang dari 1, tentukan angka dari 0,08 ke kurang dari 1,00, dengan kelipatan 0,01. (Lihat tabel di bagian bawah Menetapkan dan mengupdate batas CPU untuk setelan yang diperlukan.)
    • 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

Terraform

Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.

Resource google_cloud_run_v2_service berikut menentukan batas CPU di bagian template.containers.resources.limits. Ganti 1 dengan jumlah CPU yang diinginkan.

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-cpu"
  location = "us-central1"

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
      resources {
        limits = {
          # CPU usage limit
          cpu = "1"
        }
      }
    }
  }
}

Setel peningkatan CPU startup

Fitur peningkatan CPU startup untuk revisi menyediakan CPU tambahan selama waktu startup instance dan selama 10 detik setelah instance dimulai.

Peningkatan CPU yang sebenarnya dapat bervariasi, bergantung pada setelan batas CPU Anda:

Batas CPU CPU yang ditingkatkan
0-1 2
2 4
4 8
6 8
8 8

Anda akan dikenai biaya untuk peningkatan CPU yang dialokasikan selama durasi waktu startup container. Misalnya, jika waktu startup container Anda adalah 15 detik, dan Anda mengalokasikan 2 CPU, dengan peningkatan CPU startup, Anda akan dikenakan biaya untuk 4 CPU selama waktu startup instance (yang mungkin lebih singkat) termasuk 10 detik setelah kontainer Anda selesai dimulai, dan untuk 2 CPU selama sisa siklus proses kontainer.

Anda dapat mengaktifkan atau menonaktifkan peningkatan CPU startup menggunakan console Google Cloud atau Google Cloud CLI.

Console

  1. Di konsol Google Cloud, buka Cloud Run:

    Buka Cloud Run

  2. Klik Deploy container dan pilih Service untuk mengonfigurasi layanan baru. Jika Anda mengonfigurasi layanan yang ada, klik service, lalu klik Edit and deploy new revision.

  3. Jika Anda mengonfigurasi layanan baru, isi halaman setelan layanan awal, lalu klik Container, volume, networking, security untuk memperluas halaman konfigurasi layanan.

  4. Klik tab Container.

    gambar

    • Untuk mengaktifkan peningkatan CPU startup pilih kotak centang Startup CPU boost. Untuk menonaktifkan fitur ini, hapus centang pada kotak.
  5. Klik Buat atau Deploy.

gcloud

  1. Anda dapat mengaktifkan peningkatan startup CPU untuk layanan tertentu menggunakan perintah berikut:

    gcloud run services update SERVICE --cpu-boost

    Ganti SERVICE dengan nama layanan Anda.

    Anda dapat mengaktifkan peningkatan CPU startup selama deployment menggunakan perintah:

    gcloud run deploy --image IMAGE_URL --cpu-boost

    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 .

  2. Anda dapat menonaktifkan peningkatan startup CPU untuk layanan tertentu menggunakan perintah berikut:

    gcloud run services update SERVICE --no-cpu-boost

    Ganti SERVICE dengan nama layanan Anda.

    Anda dapat menonaktifkan peningkatan CPU startup selama deployment menggunakan perintah:

    gcloud run deploy --image IMAGE_URL --no-cpu-boost

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 run.googleapis.com/startup-cpu-boost dengan menentukan 'true' untuk mengaktifkan peningkatan CPU startup atau 'false' untuk menonaktifkan:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/startup-cpu-boost: 'true'

    Ganti

    • SERVICE dengan nama layanan Cloud Run Anda
  3. Buat atau update layanan menggunakan perintah berikut:

    gcloud run services replace service.yaml

Lihat setelan CPU

Untuk melihat setelan CPU terkini untuk layanan Cloud Run Anda:

Console

  1. Di konsol Google Cloud, buka Cloud Run:

    Buka Cloud Run

  2. Klik layanan yang Anda minati untuk membuka Detail layanan kami.

  3. Klik tab Revisi.

  4. Di panel detail sebelah kanan, setelan CPU dicantumkan di bagian tab Container.

gcloud

  1. Gunakan perintah berikut:

    gcloud run services describe SERVICE
  2. Temukan setelan CPU di konfigurasi yang ditampilkan.