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:
- Developer Cloud Run (
roles/run.developer) di layanan Cloud Run - Pengguna Akun Layanan (
roles/iam.serviceAccountUser) di identitas layanan - Pembaca Artifact Registry (
roles/artifactregistry.reader) di repositori Artifact Registry dari image container yang di-deploy (jika berlaku)
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
Di Google Cloud konsol, buka Cloud Run:
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.
Temukan formulir Penskalaan (untuk kumpulan pekerja baru) atau formulir Edit penskalaan untuk kumpulan pekerja yang ada.
Di kolom berlabel Jumlah instance, tentukan jumlah instance container untuk layanan.
Selesaikan spesifikasi.
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
0untuk 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
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
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
0untuk menonaktifkan kumpulan pekerja.
Buat atau perbarui kumpulan pekerja menggunakan perintah berikut:
gcloud run worker-pools replace worker-pool.yaml
Perintah
gcloud run worker-pools replacesecara default menggunakan fileworker-pool.yamljika 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
0untuk 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 menggunakangcloud 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
Di Google Cloud konsol, buka Cloud Run:
Klik Kumpulan pekerja untuk menampilkan daftar kumpulan pekerja yang di-deploy.
Klik kumpulan pekerja yang ingin Anda periksa untuk menampilkan panel detailnya.
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.