Mengonfigurasi variabel lingkungan untuk tugas

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

  1. Di konsol Google Cloud , buka halaman tugas Cloud Run:

    Buka Cloud Run

  2. 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.

  3. Klik Container, Volume, Koneksi, Keamanan untuk memperluas halaman properti tugas.

  4. Klik tab Variabel.

    gambar

    • 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.
  5. 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 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 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

  1. 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
    1. Update atribut name dan value di bawah env seperti yang ditunjukkan di bawah containers::
    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.

  2. 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 resource google_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 :

  1. Di konsol Google Cloud , buka Cloud Run:

    Buka Cloud Run

  2. Pilih tugas Anda dari daftar, lalu klik Edit dan deploy revisi baru.

  3. Klik tab Container.

  4. Di tab Variables and secrets, edit kolom Name atau Value, lalu klik Done.

  5. 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

  1. Di konsol Google Cloud , buka halaman tugas Cloud Run:

    Buka tugas Cloud Run

  2. Klik tugas yang Anda minati untuk membuka halaman Detail pekerjaan.

  3. Klik Lihat dan Edit konfigurasi tugas.

  4. Temukan setelan variabel lingkungan di detail konfigurasi.

gcloud

  1. Gunakan perintah berikut:

    gcloud run jobs describe JOB_NAME
  2. 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 :

  1. Di konsol Google Cloud , buka Cloud Run:

    Buka Cloud Run

  2. Pilih tugas Anda dari daftar, lalu klik Edit dan deploy revisi baru.

  3. Klik tab Container.

  4. 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.

  5. Klik Selesai.

  6. 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.