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. Secara khusus, Cloud Run akan memasukkan variabel lingkungan PORT ke dalam container Anda. Anda sebaiknya tidak mengaturnya sendiri.

Jumlah maksimum variabel lingkungan

Perhatikan bahwa Anda dapat menetapkan maksimum 1.000 variabel lingkungan per penampung untuk setiap tugas Cloud Run.

Peran yang diperlukan

Untuk mendapatkan izin yang Anda perlukan untuk mengonfigurasi tugas Cloud Run, minta administrator untuk memberi Anda peran IAM berikut pada tugas:

  • Cloud Run Developer (roles/run.developer) - tugas Cloud Run
  • Service Account User (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 menetapkan 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. Klik Deploy container dan pilih Job untuk mengisi halaman setelan tugas awal. Jika Anda mengonfigurasi tugas yang sudah ada, pilih tugas, lalu klik Edit.

  3. Klik Container, variabel dan secret, 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 flag --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 yang dipisahkan koma dan nilainya.
  • IMAGE_URL dengan referensi ke image container, misalnya, us-docker.pkg.dev/cloudrun/container/job:latest.

Menetapkan banyak variabel lingkungan

Jika 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 antar 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 mengupdate 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 dan nilai lingkungan. 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 = "us-central1"

  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.
  • KEY-1 dengan variabel lingkungan.
  • VALUE-1 dengan nilai.

Atau, tambahkan 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, 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 Google Cloud konsol:

  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 flag --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 dan nilai variabel 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 tab Configuration.

  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 Google Cloud konsol:

  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, gerakkan kursor ke sebelah kiri kolom Value dari variabel lingkungan yang Anda hapus, untuk menampilkan ikon Delete, 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.