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. Secara khusus, Cloud Run akan memasukkan variabel lingkungan PORT
ke dalam container Anda. Anda sebaiknya tidak mengaturnya
sendiri.
Peran yang diperlukan
Untuk mendapatkan izin yang diperlukan untuk mengonfigurasi dan men-deploy layanan Cloud Run, minta administrator untuk memberi Anda peran IAM berikut:
-
Developer Cloud Run (
roles/run.developer
) di layanan Cloud Run -
Service Account User (
roles/iam.serviceAccountUser
) pada 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 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.
Menetapkan variabel lingkungan
Perubahan konfigurasi apa pun akan memunculkan "revisi" baru. Tiap revisi berikutnya juga akan secara otomatis mengandung perubahan konfigurasi tersebut, kecuali jika Anda membuat update yang eksplisit untuk perubahan secara khusus.
Anda dapat mengatur variabel lingkungan menggunakan konsol Google Cloud, command line gcloud, atau dengan file YAML saat membuat layanan baru atau men-deploy revisi baru:
Konsol
Di konsol Google Cloud, buka Cloud Run:
Klik Deploy container lalu pilih Service untuk mengonfigurasi layanan baru. Jika Anda mengonfigurasi layanan yang ada, klik service, lalu klik Edit and deploy new revision.
Jika Anda mengonfigurasi layanan baru, isi layanan awal halaman setelan, lalu klik Container, volume, networking, security untuk meluaskan konfigurasi layanan Google Cloud.
Klik tab Container.
- 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 ingin 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 Deploy.
gcloud
Untuk menetapkan, mengupdate, atau menghapus variabel lingkungan dari layanan yang telah ada, gunakan perintah gcloud run services update. Anda dapat menggunakan salah satu flag berikut, sesuai yang dibutuhkan:
Anda dapat mengubah variabel lingkungan sekaligus men-deploy layanan, atau mengupdate layanan tersebut setelah layanan berhasil dibuat:
gcloud run deploy [SERVICE] --image IMAGE_URL --update-env-vars KEY1=VALUE1,KEY2=VALUE2 gcloud run services update SERVICE --update-env-vars KEY1=VALUE1,KEY2=VALUE2
- Ganti SERVICE dengan nama layanan Anda.
- Ganti KEY1=VALUE1,KEY2=VALUE2 dengan daftar nama variabel yang diinginkan beserta nilainya dan pisahkan dengan tanda koma.
- Ganti IMAGE_URL dengan sebuah referensi ke container image, sebagai
contoh,
us-docker.pkg.dev/cloudrun/container/hello:latest
. Jika Anda menggunakan Artifact Registry, repositori REPO_NAME harus sudah dibuat. URL memiliki bentukLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
.
YAML
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
Update atribut
name
danvalue
di bawah atributenv
yang terletak di bawah atributcontainers:
:apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE spec: template: metadata: name: REVISION spec: containers: - image: IMAGE env: - name: KEY-1 value: VALUE-1 - name: KEY-N value: VALUE-N
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. Struktur URL-nya adalahLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
- KEY-1, VALUE-1 dengan nama variabel lingkungan dan nilainya. Secara opsional tambahkan variabel dan nilai lainnya sesuai yang diinginkan.
- REVISION dengan sebuah nama revisi baru atau hapus saja (jika ada). Jika Anda memberikan nama revisi baru, nama tersebut harus memenuhi kriteria berikut:
- Dimulai dengan
SERVICE-
- Hanya berisi huruf kecil, angka, dan
-
- Tidak diakhiri dengan
-
- Tidak melebihi 63 karakter
- Dimulai dengan
Buat atau update 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
variabel lingkungan foo
ke bar
, dan variabel lingkungan baz
ke quux
. Update variabel lingkungan sesuai kebutuhan spesifik
Anda:
Menetapkan banyak variabel lingkungan
Jika Anda memiliki terlalu banyak variabel lingkungan yang tidak dapat dicantumkan dengan mudah dalam
format KEY1=VALUE1,KEY2=VALUE2
, secara alternatif Anda dapat menambahkan flag
yang tercantum di atas 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=..."
Menetapkan variabel lingkungan default dalam container
Anda dapat menggunakan ENV
di Dockerfile untuk menetapkan nilai default variabel lingkungan:
ENV KEY1=VALUE1,KEY2=VALUE2
Urutan prioritas: container vs layanan atau variabel tugas
Jika Anda menetapkan variabel lingkungan default di dalam container dan juga menetapkan variabel lingkungan dengan nama yang sama pada layanan atau tugas Cloud Run, maka nilai yang ditetapkan pada layanan akan diutamakan.
Lihat setelan variabel lingkungan
Untuk melihat setelan variabel lingkungan saat ini pada tugas Cloud Run Anda:
Konsol
Di konsol Google Cloud, buka Cloud Run:
Klik layanan yang Anda minati untuk membuka Detail layanan kami.
Klik tab Revisi.
Pada panel detail di sebelah kanan, setelan variabel lingkungan tercantum di bagian tab Container.
gcloud
Gunakan perintah berikut:
gcloud run services describe SERVICE
Temukan setelan variabel lingkungan di konfigurasi yang ditampilkan.
Kode sampel
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 selanjutnya
Anda dapat menggunakan variabel lingkungan untuk menetapkan Buildpack konfigurasi Anda. Untuk mengetahui detail dalam bahasa tertentu, lihat dokumentasi Buildpacks dalam bahasa: