Penskalaan manual untuk kumpulan pekerja

Halaman ini menunjukkan cara menskalakan kumpulan pekerja secara manual.

Ringkasan

Penskalaan manual memungkinkan Anda menetapkan jumlah instance tertentu tanpa memerlukan deployment ulang. Hal ini memberi Anda opsi untuk menulis logika penskalaan sendiri menggunakan sistem eksternal. Lihat Kafka Autoscaler untuk contohnya.

Pertimbangan penagihan saat menggunakan penskalaan manual

Saat Anda menggunakan penskalaan manual, semua instance yang Anda minta akan ditagih sebagai instance aktif, meskipun instance tersebut sedang tidak digunakan. Untuk mengetahui detail penagihan lengkap, lihat halaman harga.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk men-deploy kumpulan pekerja 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 kumpulan pekerja 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 penskalaan

Mengubah mode penskalaan atau mengubah jumlah instance manual tidak akan membuat revisi baru.

Untuk mengonfigurasi mode penskalaan, gunakan Google Cloud konsol, Google Cloud CLI, YAML, Terraform, atau REST API:

Konsol

  1. Di Google Cloud konsol, buka Cloud Run:

    Buka Cloud Run

  2. Jika Anda mengonfigurasi kumpulan pekerja baru, pilih Kumpulan pekerja dari menu, lalu klik Deploy container. Jika Anda mengonfigurasi kumpulan pekerja yang ada, klik kumpulan pekerja untuk menampilkan panel detailnya, lalu klik ikon pensil di samping Penskalaan di kanan atas panel detail.

  3. Temukan formulir Penskalaan (untuk kumpulan pekerja baru) atau formulir Edit penskalaan untuk kumpulan pekerja yang ada.

    gambar

  4. Di kolom berlabel Jumlah instance, tentukan jumlah instance container untuk layanan.

  5. Selesaikan spesifikasi.

  6. Klik Buat untuk kumpulan pekerja baru atau Simpan untuk kumpulan pekerja yang ada.

gcloud

Untuk menentukan penskalaan untuk kumpulan pekerja baru, gunakan perintah deploy:

gcloud run worker-pools deploy WORKER_POOL \
    --instances=INSTANCE_COUNT \
    --image IMAGE_URL

Ganti kode berikut:

  • WORKER_POOL: nama kumpulan pekerja Anda.
  • INSTANCE_COUNT: jumlah instance untuk kumpulan pekerja. Tindakan ini akan menetapkan kumpulan pekerja ke penskalaan manual. Tentukan nilai 0 untuk menonaktifkan kumpulan pekerja.
  • IMAGE_URL: referensi ke image container yang berisi kumpulan pekerja, seperti us-docker.pkg.dev/cloudrun/container/worker-pool:latest.

Tentukan penskalaan untuk kumpulan pekerja yang ada menggunakan perintah update berikut:

gcloud run worker-pools update WORKER_POOL \
   --instances=INSTANCE_COUNT

YAML

  1. Jika Anda membuat kumpulan pekerja baru, lewati langkah ini. Jika Anda memperbarui kumpulan pekerja yang ada, download konfigurasi YAML-nya:

    gcloud run worker-pools describe WORKER_POOL --format export > worker-pool.yaml
  2. Contoh berikut berisi konfigurasi YAML:

    apiVersion: run.googleapis.com/v1
    kind: WorkerPool
    metadata:
      name: WORKER_POOL
      annotations:
        run.googleapis.com/manualInstanceCount: `INSTANCE_COUNT`

    Ganti kode berikut:

    • WORKER_POOL: nama kumpulan pekerja Cloud Run Anda.
    • INSTANCE_COUNT: jumlah instance yang Anda skalakan secara manual untuk kumpulan pekerja. Tentukan nilai 0 untuk menonaktifkan kumpulan pekerja.
  3. Buat atau perbarui kumpulan pekerja menggunakan perintah berikut:

    gcloud run worker-pools replace worker-pool.yaml

    Perintah gcloud run worker-pools replace secara default menggunakan file worker-pool.yaml jika ada.

Terraform

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

resource "google_cloud_run_v2_worker_pool" "default" {
  name     = "WORKER_POOL"
  location = "REGION"

  template {
    containers {
      image = "IMAGE_URL"
    }
  }
  scaling {
    scaling_mode = "MANUAL"
    manual_instance_count = "INSTANCE_COUNT"
  }
}

Ganti kode berikut:

  • WORKER_POOL: nama kumpulan pekerja.
  • REGION: region—misalnya, europe-west1. Google Cloud
  • IMAGE_URL: referensi ke image container yang berisi kumpulan pekerja, seperti us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
  • INSTANCE_COUNT: jumlah instance untuk kumpulan pekerja. Tindakan ini akan menetapkan kumpulan pekerja ke penskalaan manual. Tentukan nilai 0 untuk menonaktifkan kumpulan pekerja.

REST API

Untuk memperbarui jumlah instance untuk kumpulan pekerja tertentu, kirim permintaan PATCH HTTP ke Cloud Run Admin API workerPools endpoint.

Misalnya, menggunakan curl:

    curl -H "Content-Type: application/json" \
    -H "Authorization: Bearer ACCESS_TOKEN" \
    -X PATCH \
    -d '{"scaling":{"manualInstanceCount":INSTANCE_COUNT }}' \
    https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/workerPools/WORKER_POOL?update_mask=scaling.manualInstanceCount

Ganti kode berikut:

  • ACCESS_TOKEN: token akses yang valid untuk akun yang memiliki izin IAM untuk memperbarui kumpulan pekerja. Misalnya, jika login ke gcloud, Anda dapat mengambil token akses menggunakan gcloud auth print-access-token. Dari dalam instance container Cloud Run, Anda dapat mengambil token akses menggunakan server metadata instance container.
  • INSTANCE_COUNT: jumlah instance untuk kumpulan pekerja.
  • PROJECT_ID: Project ID. Google Cloud
  • REGION: region tempat kumpulan pekerja di- deploy. Google Cloud
  • WORKER_POOL: nama kumpulan pekerja.

Melihat konfigurasi penskalaan untuk kumpulan pekerja

  1. Di Google Cloud konsol, buka Cloud Run:

    Buka Cloud Run

  2. Klik Kumpulan pekerja untuk menampilkan daftar kumpulan pekerja yang di-deploy.

  3. Klik kumpulan pekerja yang ingin Anda periksa untuk menampilkan panel detailnya.

  4. Setelan penskalaan saat ini ditampilkan di atas daftar revisi kumpulan pekerja: Penskalaan: Manual (Instance: ).

Menonaktifkan kumpulan pekerja

Untuk menonaktifkan kumpulan pekerja, gunakan perintah berikut untuk menetapkan penskalaan ke nol:

gcloud run worker-pools update WORKER_POOL --instances=0

Ganti WORKER_POOL dengan nama kumpulan pekerja Anda.