Halaman ini menjelaskan cara mengonfigurasi variabel lingkungan untuk tugas Cloud Run Anda.
Saat Anda menetapkan variabel lingkungan (environment variable), variabel tersebut dimasukkan ke dalam container dan dapat diakses oleh kode Anda. Variabel lingkungan ditetapkan dalam format pasangan kunci/nilai (key/value).
Nama yang dilindungi
Variabel lingkungan yang didefinisikan di dalam container runtime contract terkategorikan sebagai "dilindungi" dan tidak boleh diubah.
Jumlah maksimum variabel lingkungan
Perhatikan bahwa Anda dapat menetapkan maksimum 1.000 variabel lingkungan per container untuk setiap tugas Cloud Run.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mengonfigurasi tugas Cloud Run, minta administrator Anda untuk memberikan peran IAM berikut pada tugas:
-
Cloud Run Developer (
roles/run.developer
) - tugas Cloud Run -
Pengguna Akun Layanan (
roles/iam.serviceAccountUser
) - 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 tugas 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 menyetel variabel lingkungan untuk tugas baru dan yang sudah ada. Perhatikan bahwa tanda
--set-env-vars
adalah tindakan destruktif yang menghapus variabel lingkungan
yang ditetapkan sebelumnya dan tidak disertakan dalam daftar variabel lingkungan baru.
Anda dapat menetapkan variabel lingkungan menggunakan konsol Google Cloud , gcloud CLI, atau file YAML:
Konsol
Di konsol Google Cloud , buka halaman tugas Cloud Run:
Pilih Tugas dari menu, lalu klik Deploy container untuk mengisi halaman setelan tugas awal. Jika Anda mengonfigurasi tugas yang ada, pilih tugas, lalu klik Edit.
Klik Container, Volume, Koneksi, Keamanan untuk memperluas halaman properti tugas.
Klik tab Variabel.
- Lakukan hal berikut:
- Jika Anda ingin menambahkan variabel, klik Add Variable, dan tentukan nama dan nilai yang Anda inginkan untuk variabel tersebut pada kotak teks Nama dan Nilai.
- Jika Anda ingin mengubah nilai dari sebuah variabel, maka ganti nilai yang ada di kotak teks Nilai dengan nilai yang Anda inginkan.
- Jika Anda menghapus satu atau beberapa variabel lingkungan, arahkan kursor Anda ke sebelah kiri kotak teks Nilai dari variabel yang sedang Anda hapus untuk menampilkan ikon Sampah, lalu klik ikon tersebut.
- Lakukan hal berikut:
Klik Buat atau Perbarui.
gcloud
Untuk menentukan variabel lingkungan saat
men-deploy tugas,
gunakan flag --set-env-vars
:
gcloud run jobs deploy JOB_NAME --image IMAGE_URL --update-env-vars KEY1=VALUE1,KEY2=VALUE2
Untuk menentukan variabel lingkungan saat
memperbarui tugas,
gunakan tanda --set-env-vars
setelah tugas dibuat:
gcloud run jobs create JOB_NAME --image IMAGE_URL --update-env-vars KEY1=VALUE1,KEY2=VALUE2 gcloud run jobs update JOB_NAME --update-env-vars KEY1=VALUE1,KEY2=VALUE2
Ganti:
- JOB_NAME dengan nama tugas Anda.
- KEY1=VALUE1,KEY2=VALUE2, dengan daftar nama variabel dan nilainya yang dipisahkan koma.
- IMAGE_URL dengan referensi ke
image container, misalnya,
us-docker.pkg.dev/cloudrun/container/job:latest
.
Menetapkan banyak variabel lingkungan
Jika Anda memiliki banyak variabel lingkungan yang tidak dapat dicantumkan dalam formatKEY1=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 variabel lingkungan, jika
variabel lingkungan Anda mengandung karakter koma sebagai nilai, Anda perlu
meng-escape karakter pemisah tersebut dengan menentukan
karakter pemisah yang berbeda, misalnya, @
:
--set-env-vars "^@^KEY1=value1,value2,value3@KEY2=..."
YAML
Jika Anda membuat tugas baru, lewati langkah ini. Jika Anda memperbarui tugas yang ada, download konfigurasi YAML-nya:
gcloud run jobs describe JOB_NAME --format export > job.yaml
- Update atribut
name
danvalue
di bawahenv
seperti yang ditunjukkan di bawahcontainers:
:
apiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB spec: template: spec: template: spec: containers: - image: IMAGE env: - name: KEY-1 value: VALUE-1 - name: KEY-N value: VALUE-N
Ganti KEY-1, VALUE-1 dengan variabel lingkungan dan nilai. Secara opsional, tambahkan variabel dan nilai lainnya sesuai kebutuhan.
Anda juga dapat menentukan konfigurasi lainnya, seperti variabel lingkungan atau batas memori.
- Update atribut
Perbarui konfigurasi job yang ada:
gcloud run jobs replace job.yaml
Terraform
Untuk mempelajari cara menerapkan atau menghapus konfigurasi Terraform, lihat Perintah dasar Terraform.
Tambahkan kode berikut ke resourcegoogle_cloud_run_v2_job
di konfigurasi Terraform Anda:resource "google_cloud_run_v2_job" "default" {
name = "JOB_NAME"
location = "REGION"
template {
template {
containers {
image = "us-docker.pkg.dev/cloudrun/container/job"
env {
name = "KEY-1"
value = "VALUE-1"
}
env {
name = "KEY-N"
value = "VALUE-N"
}
}
}
}
}
Ganti:
- JOB_NAME dengan nama tugas Cloud Run Anda.
- REGION dengan region Google Cloud . Contohnya,
europe-west1
. - KEY-1 dengan variabel lingkungan.
- VALUE-1 dengan nilai.
Anda dapat menambahkan lebih banyak blok env
untuk menetapkan variabel lingkungan tambahan.
Menetapkan variabel lingkungan default dalam container
Anda dapat menggunakan statement ENV
dalam Dockerfile untuk menetapkan nilai default dari variabel lingkungan:
ENV KEY1=VALUE1,KEY2=VALUE2
Urutan prioritas: variabel container versus tugas
Jika Anda menetapkan variabel lingkungan default di dalam container dan juga menetapkan variabel lingkungan dengan nama yang sama pada tugas Cloud Run, maka nilai yang ditetapkan pada tugas akan diutamakan.
Memperbarui variabel lingkungan
Anda dapat memperbarui variabel lingkungan untuk tugas yang ada. Ini adalah pendekatan non-destruktif yang mengubah atau menambahkan variabel lingkungan, tetapi tidak menghapus variabel lingkungan yang ditetapkan sebelumnya.
Konsol
Untuk memperbarui variabel lingkungan menggunakan konsol Google Cloud :
Di konsol Google Cloud , buka Cloud Run:
Pilih tugas Anda dari daftar, lalu klik Edit dan deploy revisi baru.
Klik tab Container.
Di tab Variables and secrets, edit kolom Name atau Value, lalu klik Done.
Klik Deploy.
gcloud
Untuk memperbarui variabel lingkungan tugas yang ada, gunakan tanda
--update-env-vars
:
gcloud run jobs update JOB_NAME --update-env-vars KEY1=VALUE1,KEY2=VALUE2
Ganti:
- JOB_NAME dengan nama tugas Anda.
- KEY1=VALUE1,KEY2=VALUE2, dengan daftar nama variabel dan nilai yang dipisahkan koma.
Lihat setelan variabel lingkungan
Untuk melihat setelan variabel lingkungan saat ini untuk tugas Cloud Run Anda:
Konsol
Di konsol Google Cloud , buka halaman tugas Cloud Run:
Klik tugas yang Anda minati untuk membuka halaman Detail pekerjaan.
Klik Lihat dan Edit konfigurasi tugas.
Temukan setelan variabel lingkungan di detail konfigurasi.
gcloud
Gunakan perintah berikut:
gcloud run jobs describe JOB_NAME
Temukan setelan variabel lingkungan di konfigurasi yang ditampilkan.
Menghapus variabel lingkungan
Anda dapat menghapus variabel lingkungan untuk tugas yang ada.
Konsol
Untuk menghapus variabel lingkungan menggunakan konsol Google Cloud :
Di konsol Google Cloud , buka Cloud Run:
Pilih tugas Anda dari daftar, lalu klik Edit dan deploy revisi baru.
Klik tab Container.
Di tab Variables and secrets, arahkan kursor Anda ke sebelah kiri kolom Value dari variabel lingkungan yang sedang Anda hapus, untuk menampilkan ikon
Hapus, lalu klik ikon tersebut.Klik Selesai.
Klik Deploy.
gcloud
Untuk menghapus variabel lingkungan tugas yang ada secara selektif, gunakan flag
--remove-env-vars
:
gcloud run jobs update JOB_NAME --remove-env-vars KEY1,KEY2
Ganti:
- JOB_NAME dengan nama tugas Anda.
- KEY1,KEY2, dengan daftar nama variabel yang dipisahkan koma.
Atau, hapus semua variabel lingkungan yang ditetapkan sebelumnya dengan flag --clear-env-vars
:
gcloud run jobs update JOB_NAME --clear-env-vars
Ganti:
- JOB_NAME dengan nama tugas Anda.