Halaman ini menjelaskan cara mengonfigurasi variabel lingkungan untuk kumpulan pekerja Cloud Run Anda.
Setiap perubahan konfigurasi akan menghasilkan revisi baru. Revisi selanjutnya juga akan otomatis mendapatkan setelan konfigurasi ini, kecuali jika Anda melakukan pembaruan eksplisit untuk mengubahnya.
Peran yang diperlukan
Untuk mendapatkan izin yang Anda perlukan untuk mengonfigurasi dan men-deploy kumpulan pekerja Cloud Run, minta administrator Anda untuk memberikan peran IAM berikut:
-
Developer Cloud Run (
roles/run.developer) di kumpulan pekerja Cloud Run -
Pengguna Akun Layanan (
roles/iam.serviceAccountUser) di identitas layanan
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.
Menetapkan variabel lingkungan
Anda dapat menetapkan variabel lingkungan untuk kumpulan pekerja Cloud Run menggunakan Google Cloud konsol, Google Cloud CLI, YAML, atau Terraform:
Konsol
Di Google Cloud konsol, buka Cloud Run:
Pilih Worker pools dari menu, lalu klik Deploy container untuk mengonfigurasi kumpulan pekerja baru. Jika Anda mengonfigurasi kumpulan pekerja yang sudah ada, klik kumpulan pekerja, lalu klik Edit and deploy new revision.
Jika Anda mengonfigurasi kumpulan pekerja baru, isi halaman kumpulan pekerja awal, lalu klik Container(s), Volumes, Networking, Security untuk memperluas halaman konfigurasi kumpulan pekerja.
Klik tab Container.
- Di tab Variables &Secrets, klik Add Variable untuk menambahkan variabel lingkungan baru, lalu tentukan nama yang Anda inginkan untuk variabel tersebut di kolom Name dan Value. Untuk mengetahui informasi selengkapnya tentang cara menetapkan beberapa variabel lingkungan atau meng-escape karakter khusus, lihat Menetapkan beberapa variabel lingkungan.
Klik Create atau Deploy.
gcloud
Untuk menentukan variabel lingkungan saat men-deploy kumpulan pekerja, gunakan the
--set-env-vars flag:
gcloud beta run worker-pools deploy WORKER_POOL --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2
Ganti kode berikut:
- WORKER_POOL: nama kumpulan pekerja Anda
- KEY1=VALUE1,KEY2=VALUE2: daftar nama dan nilai variabel yang dipisahkan koma
- IMAGE_URL: referensi ke image container yang
berisi kumpulan pekerja, seperti
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
Untuk mengetahui informasi selengkapnya tentang cara menetapkan beberapa variabel lingkungan atau meng-escape karakter khusus, lihat Menetapkan beberapa variabel lingkungan.
YAML
Jika Anda membuat kumpulan pekerja baru, lewati langkah ini. Jika Anda memperbarui kumpulan pekerja yang sudah ada, download konfigurasi YAML-nya:
gcloud beta run worker-pools describe WORKER_POOL --format export > workerpool.yaml
Contoh berikut berisi konfigurasi YAML:
apiVersion: run.googleapis.com/v1 kind: WorkerPool metadata: name: WORKER_POOL annotations: run.googleapis.com/launch-stage: BETA spec: template: spec: containers: - name: image: IMAGE_URL env: - name: NAME value: VALUE - name: NAME2 value: VALUE2
Ganti kode berikut:
- WORKER_POOL: nama kumpulan pekerja Cloud Run Anda.
- IMAGE_URL: referensi ke image container yang
berisi kumpulan pekerja, seperti
us-docker.pkg.dev/cloudrun/container/worker-pool:latest - NAME dan VALUE: nama dan nilai variabel lingkungan.
Buat atau perbarui kumpulan pekerja menggunakan perintah berikut:
gcloud beta run worker-pools replace workerpool.yaml
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"
launch_stage = "BETA"
template {
containers {
image = "IMAGE_URL"
env {
name = "KEY1"
value = "VALUE1"
}
env {
name = "KEY2"
value = "VALUE2"
}
}
}
}
Ganti kode berikut:
- WORKER_POOL: nama kumpulan pekerja.
- REGION: region—misalnya,
europe-west1Google Cloud - IMAGE_URL: referensi ke image container yang
berisi kumpulan pekerja, seperti
us-docker.pkg.dev/cloudrun/container/worker-pool:latest - KEY1 dan VALUE1: variabel lingkungan dan nilai. Secara opsional, tambahkan lebih banyak variabel dan nilai sesuai kebutuhan.
Menetapkan variabel lingkungan default dalam container
Anda dapat menggunakan ENV
pernyataan dalam Dockerfile untuk menetapkan nilai default dari variabel lingkungan:
ENV KEY1=VALUE1,KEY2=VALUE2
Urutan prioritas: container versus variabel kumpulan pekerja
Jika Anda menetapkan variabel lingkungan default di dalam container dan juga menetapkan variabel lingkungan dengan nama yang sama pada kumpulan pekerja Cloud Run, maka nilai yang ditetapkan pada kumpulan pekerja akan diutamakan.
Menetapkan beberapa variabel lingkungan
Anda dapat menetapkan beberapa variabel lingkungan menggunakan file .env atau flag --set-env-vars.
Menetapkan beberapa variabel lingkungan menggunakan file .env
Konsol
Di Google Cloud konsol, buka Cloud Run:
Pilih Worker pools dari menu, lalu klik Deploy container untuk mengonfigurasi kumpulan pekerja baru. Jika Anda mengonfigurasi kumpulan pekerja yang sudah ada, klik kumpulan pekerja, lalu klik Edit and deploy new revision.
Jika Anda mengonfigurasi kumpulan pekerja baru, isi halaman kumpulan pekerja awal, lalu klik Container(s), Volumes, Networking, Security untuk memperluas halaman konfigurasi kumpulan pekerja.
Klik tab Container.
- Di tab Variables &Secrets, klik Add Variable dan tempelkan konten file
.envAnda ke kolom Name. Cloud Run akan otomatis mengisi kolom Value dan membuat variabel baru untuk setiap pasangan nilai kunci yang Anda tentukan dalam file.env.
- Di tab Variables &Secrets, klik Add Variable dan tempelkan konten file
Klik Create atau Deploy.
gcloud
Untuk menentukan beberapa variabel lingkungan dari file .env, jalankan perintah berikut:
gcloud beta run worker-pools deploy WORKER_POOL --image IMAGE_URL --env-vars-file=ENV_FILE_PATH
Ganti kode berikut:
- WORKER_POOL: nama kumpulan pekerja.
- IMAGE_URL: referensi ke image container yang
berisi kumpulan pekerja, seperti
us-docker.pkg.dev/cloudrun/container/worker-pool:latest - ENV_FILE_PATH: jalur ke file
.env.
Menetapkan beberapa variabel lingkungan menggunakan flag --set-env-vars
Jika Anda memiliki beberapa variabel lingkungan yang tidak dapat dicantumkan dalam format KEY1=VALUE1,KEY2=VALUE2, Anda dapat mengulangi flag --set-env-vars beberapa kali:
[...] --set-env-vars "KEY1=VALUE1" \ --set-env-vars "KEY2=VALUE2" \ --set-env-vars "KEY3=VALUE3"
Escape karakter koma
Karena karakter koma, digunakan untuk memisahkan antar variabel lingkungan, jika
variabel lingkungan Anda mengandung karakter koma sebagai nilai, Anda perlu
meng-escape karakter pemisah tersebut dengan menentukan "karakter pemisah khusus", contohnya, @:
--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."
Memperbarui variabel lingkungan
Anda dapat memperbarui variabel lingkungan runtime untuk kumpulan pekerja yang sudah ada. Ini adalah pendekatan non-destruktif yang mengubah atau menambahkan variabel lingkungan runtime, tetapi tidak menghapusnya.
Anda dapat memperbarui variabel lingkungan di Google Cloud konsol, Google Cloud CLI, YAML, atau Terraform:
Konsol
Di Google Cloud konsol, buka Cloud Run:
Pilih Worker pools dari menu, lalu klik kumpulan pekerja yang Anda perbarui, kemudian klik Edit and deploy new revision.
Klik Container(s), Volumes, Networking, Security untuk memperluas halaman konfigurasi kumpulan pekerja.
Klik tab Variables &Secrets.
Temukan variabel lingkungan yang ingin Anda perbarui, lalu tentukan nama yang berbeda untuk variabel tersebut, atau nilai yang berbeda di kolom Name dan Value.
Klik Deploy.
gcloud
Untuk memperbarui variabel lingkungan kumpulan pekerja yang sudah ada, gunakan flag
--update-env-vars:
gcloud beta run worker-pools update WORKER_POOL --update-env-vars KEY1=VALUE1,KEY2=VALUE2
Ganti kode berikut:
- WORKER_POOL: nama kumpulan pekerja Anda
- KEY1=VALUE1,KEY2=VALUE2: daftar nama dan nilai variabel yang dipisahkan koma
YAML
Terraform
Untuk memperbarui variabel lingkungan kumpulan pekerja yang sudah ada, buka file main.tf yang sesuai dengan kumpulan pekerja dan edit variabel nama dan nilai.
Kemudian, jalankan perintah untuk menerapkan konfigurasi Terraform.
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Menghapus variabel lingkungan
Konsol
Di Google Cloud konsol, buka Cloud Run:
Pilih Worker pools dari menu, lalu klik kumpulan pekerja yang Anda perbarui, kemudian klik Edit and deploy new revision.
Klik Container(s), Volumes, Networking, Security untuk memperluas halaman konfigurasi kumpulan pekerja.
Klik tab Variables &Secrets.
Temukan variabel lingkungan yang ingin Anda hapus dan klik ikon sampah di sebelah kanan kolom Value untuk menghapus variabel lingkungan.
Klik Deploy.
gcloud
Untuk menghapus variabel lingkungan secara selektif dari kumpulan pekerja yang sudah ada, gunakan
--remove-env-vars
flag:
gcloud beta run worker-pools update WORKER_POOL --remove-env-vars KEY1,KEY2
Ganti kode berikut:
- WORKER_POOL: nama kumpulan pekerja Anda
- KEY1,KEY2: daftar nama variabel yang dipisahkan koma
Atau, hapus semua variabel lingkungan yang ditetapkan sebelumnya
dengan --clear-env-vars
flag:
gcloud beta run worker-pools update WORKER_POOL --clear-env-vars
Ganti WORKER_POOL dengan nama kumpulan pekerja Anda.
Melihat konfigurasi variabel lingkungan untuk kumpulan pekerja
Di Google Cloud konsol, buka Cloud Run:
Klik Worker pools untuk menampilkan daftar kumpulan pekerja yang di-deploy.
Klik kumpulan pekerja yang ingin Anda periksa untuk menampilkan panel detailnya.
Klik tab Containers untuk menampilkan konfigurasi container kumpulan pekerja.
Kode contoh
Untuk mengetahui contoh kode yang menunjukkan cara mengakses variabel lingkungan dalam kode Anda, lihat halaman tentang Menangani konfigurasi sensitif dengan Secret Manager di tutorial autentikasi Pengguna akhir.
Langkah berikutnya
Anda dapat menggunakan variabel lingkungan untuk menetapkan konfigurasi buildpack. Untuk mengetahui detail dalam bahasa tertentu, lihat dokumentasi buildpack dalam bahasa: