Mengonfigurasi variabel lingkungan

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:

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

  1. Di konsol Google Cloud, buka Cloud Run:

    Buka Cloud Run

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

  3. Jika Anda mengonfigurasi layanan baru, isi halaman setelan layanan awal, lalu klik Container, volume, networking, security untuk memperluas halaman konfigurasi layanan.

  4. Klik tab Container.

    gambar

    • Klik Add Variable untuk menambahkan variabel baru, dan tentukan nama yang Anda inginkan untuk variabel tersebut, serta nilainya di kolom Name dan Value.
  5. 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 bentuk LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG .

YAML

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

    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 adalah LOCATION-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 denganSERVICE-
      • Hanya berisi huruf kecil, angka, dan -
      • Tidak diakhiri dengan -
      • Tidak melebihi 63 karakter
  3. 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:

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-env-var"
  location = "us-central1"

  deletion_protection = false # set to "true" in production

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"

      # Environment variables
      env {
        name  = "foo"
        value = "bar"
      }
      env {
        name  = "baz"
        value = "quux"
      }
    }
  }
}

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

  1. Di konsol Google Cloud, buka Cloud Run:

    Buka Cloud Run

  2. Klik layanan yang Anda minati untuk membuka halaman Detail layanan.

  3. Klik tab Revisi.

  4. Pada panel detail di sebelah kanan, setelan variabel lingkungan tercantum di bagian tab Container.

gcloud

  1. Gunakan perintah berikut:

    gcloud run services describe SERVICE
  2. 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:

  1. Di konsol Google Cloud, buka Cloud Run:

    Buka Cloud Run

  2. Pilih layanan 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 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:

  1. Di konsol Google Cloud, buka Cloud Run:

    Buka Cloud Run

  2. Pilih layanan 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 Done.

  6. 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 buildpack. Untuk mengetahui detail dalam bahasa tertentu, lihat dokumentasi buildpack dalam bahasa: