Halaman ini menjelaskan cara mengonfigurasi variabel lingkungan untuk layanan 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 diperlukan guna mengonfigurasi dan men-deploy layanan Cloud Run, minta administrator untuk memberi Anda peran IAM berikut:
-
Cloud Run Developer (
roles/run.developer
) di layanan Cloud Run -
Service Account User (
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 layanan 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 menggunakan konsol Google Cloud, CLI gcloud, atau file YAML saat membuat layanan baru atau men-deploy revisi baru:
Konsol
Di konsol Google Cloud, buka Cloud Run:
Klik Deploy container dan pilih Service untuk mengonfigurasi layanan baru. Jika Anda mengonfigurasi layanan yang sudah ada, klik layanan, lalu klik Edit dan deploy revisi baru.
Jika Anda mengonfigurasi layanan baru, isi halaman setelan layanan awal, lalu klik Container, volume, networking, security untuk memperluas halaman konfigurasi layanan.
Klik tab Container.
- Klik Add Variable untuk menambahkan variabel baru, dan tentukan nama yang Anda inginkan untuk variabel tersebut, serta nilainya di kolom Name dan Value.
Klik Buat atau Deploy.
gcloud
Anda dapat mengubah variabel lingkungan sekaligus men-deploy layanan, atau mengupdate layanan tersebut setelah layanan berhasil dibuat:
Untuk menentukan variabel lingkungan saat men-deploy layanan, gunakan flag --set-env-vars
:
gcloud run deploy SERVICE --image IMAGE_URL --set-env-vars KEY1=VALUE1,KEY2=VALUE2
Ganti:
- SERVICE dengan nama layanan Anda.
- KEY1=VALUE1,KEY2=VALUE2, dengan daftar nama dan nilai variabel yang dipisahkan koma.
- 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. 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-nya:
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 perbarui 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 pernyataan ENV
dalam Dockerfile untuk menetapkan nilai default dari 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 halaman Detail layanan.
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.
Memperbarui variabel lingkungan
Anda dapat memperbarui variabel lingkungan runtime untuk layanan yang ada. Ini adalah pendekatan non-destruktif yang mengubah atau menambahkan variabel lingkungan runtime, tetapi tidak menghapusnya.
Konsol
Untuk memperbarui variabel lingkungan runtime menggunakan Google Cloud Console:
Di konsol Google Cloud, buka Cloud Run:
Pilih layanan 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 layanan yang sudah ada, gunakan flag --update-env-vars
:
gcloud run services update SERVICE --update-env-vars KEY1=VALUE1,KEY2=VALUE2
Ganti:
- SERVICE dengan nama layanan Anda.
- KEY1=VALUE1,KEY2=VALUE2, dengan daftar nama dan nilai variabel yang dipisahkan koma.
Untuk memperbarui variabel lingkungan layanan multi-region yang ada, gunakan perintah gcloud beta run multi-region-services update
.
Menghapus variabel lingkungan
Konsol
Untuk menghapus variabel lingkungan runtime menggunakan Google Cloud Console:
Di konsol Google Cloud, buka Cloud Run:
Pilih layanan Anda dari daftar, lalu klik Edit dan deploy revisi baru.
Klik tab Container.
Di tab Variables and secrets, gerakkan kursor ke sebelah kiri kolom Value dari variabel lingkungan yang Anda hapus, untuk menampilkan ikon
Delete, lalu klik ikon tersebut.Klik Done.
Klik Deploy.
gcloud
Untuk menghapus variabel lingkungan layanan yang ada secara selektif,gunakan flag --remove-env-vars
:
gcloud run services update SERVICE --remove-env-vars KEY1,KEY2
Ganti:
- SERVICE dengan nama layanan 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 services update SERVICE --clear-env-vars
Ganti:
- SERVICE dengan nama layanan Anda.
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 selanjutnya
Anda dapat menggunakan variabel lingkungan untuk menetapkan konfigurasi buildpacks. Untuk mengetahui detail dalam bahasa tertentu, lihat dokumentasi buildpack dalam bahasa: