Menggunakan ConfigMaps

Pelajari cara membuat ConfigMap, lalu mengonfigurasi inferensi Knative Anda layanan dan revisi baru untuk menggunakan ConfigMap tersebut.

Kasus penggunaan umum untuk layanan adalah menggunakan ConfigMaps untuk memisahkan aplikasi kode dari konfigurasi. ConfigMap mirip dengan Secret kecuali yang Anda gunakan Rahasia untuk informasi sensitif dan Anda menggunakan ConfigMap untuk menyimpan data tidak sensitif seperti string koneksi, kredensial publik, nama host, dan URL. Anda dapat mempelajari lebih lanjut cara menggunakan ConfigMaps di Dokumentasi Google Kubernetes Engine.

Saat mengaktifkan container untuk mengakses ConfigMaps, Anda dapat memilih salah satu opsi berikut opsi:

  • Pasang ConfigMap sebagai volume, dengan entri ConfigMap tersedia sebagai file di volume yang terpasang. Opsi ini disarankan karena memastikan bahwa Anda mendapatkan ConfigMap versi terbaru saat Anda membacanya.
  • Teruskan ConfigMap menggunakan variabel lingkungan.

Membuat ConfigMap

Ada beberapa cara untuk membuat ConfigMap, seperti yang dijelaskan dalam ConfigMaps pada dokumentasi GKE. Demi kenyamanan Anda, langkah-langkah berikut menunjukkan cara sederhana untuk membuat ConfigMap.

Ketika membuat ConfigMap, pastikan Anda membuatnya dalam namespace yang sama dengan cluster yang menjalankan layanan penyaluran Knative Anda. Ini petunjuk menggunakan namespace default.

Anda dapat membuat ConfigMap dari command line:

kubectl create configmap NAME DATA

Ganti:

  • NAME adalah nama objek ConfigMap Anda.
  • DATA dapat berupa:

    • Flag --from-file dan jalur untuk setiap direktori yang berisi satu atau beberapa file konfigurasi.
    • Flag --from-literal dan pasangan nilai kunci untuk setiap nilai yang ingin Anda tambahkan ke ConfigMap.

Contoh:

kubectl create configmap special-config --from-literal=special.how=very --from-literal=special.type=charm

ConfigMap dibuat dan diupload di tempat yang tersedia untuk cluster dalam Namespace default.

Menyediakan ConfigMap untuk layanan

Setelah membuat ConfigMap, Anda bisa menyediakannya untuk Layanan penyaluran Knative, baik sebagai volume maupun sebagai lingkungan variabel menggunakan Konsol Google Cloud atau Google Cloud CLI saat Anda men-deploy layanan baru atau mengupdate layanan yang ada dan men-deploy revisi:

Konsol

  1. Buka penyaluran Knative di Konsol Google Cloud:

    Buka penayangan Knative

  2. Klik Buat Layanan jika Anda mengonfigurasi layanan baru yang akan di-deploy. Jika Anda mengonfigurasi layanan yang ada, klik layanan, lalu klik Edit & Deploy Revisi Baru.

  3. Di bagian Setelan lanjutan, klik Variabel dan Rahasia.

  4. Di bagian Reference a ConfigMap, pilih ConfigMap yang diinginkan dari menu pulldown.

    • Di menu pulldown Metode referensi, pilih cara yang ingin Anda gunakan ConfigMap Anda, dipasang sebagai volume atau diekspos sebagai variabel lingkungan.
    • Jika Anda menggunakan mount sebagai volume, tentukan jalurnya, lalu klik Done.
    • Jika Anda mengekspos sebagai variabel lingkungan:
      1. Berikan Nama variabel dan pilih ConfigMap yang sesuai dari menu pulldown Kunci.
      2. Klik Add untuk menambahkan nilai ConfigMap lainnya.
      3. Berikan Nama variabel dan pilih ConfigMap yang sesuai dari menu pulldown Kunci.
      4. Klik Done.

  5. Klik Berikutnya untuk melanjutkan ke bagian berikutnya.

  6. Di bagian Konfigurasi cara layanan ini dipicu, memilih konektivitas yang ingin Anda gunakan untuk memanggil layanan.

  7. Klik Create untuk men-deploy image ke inferensi Knative, lalu tunggu hingga deployment selesai.

Command line

Anda dapat menggunakan Google Cloud CLI untuk menetapkan ConfigMaps untuk layanan baru atau untuk memperbarui layanan yang ada:

  • Untuk layanan yang ada, perbarui ConfigMap dengan menjalankan gcloud run services update dengan salah satu parameter berikut:

    Contoh:

    gcloud run services update SERVICE --update-config-maps KEY1=VALUE1,KEY2=VALUE2
    

    Ganti:

    • SERVICE dengan nama layanan Anda.
    • KEY1=VALUE1,KEY2=VALUE2 dengan dipisahkan koma daftar pasangan nama dan nilai untuk setiap ConfigMap. Untuk setiap KEY, Anda dapat menentukan jalur pemasangan, atau menyediakan variabel lingkungan. Menentukan jalur pemasangan dengan diawali dengan garis miring /. Semua kunci lainnya sesuai dengan variabel lingkungan. Untuk setiap VALUE, tentukan atribut Nama ConfigMap. Cara menentukan beberapa parameter.
    • Opsi parameter perintah

      Untuk menentukan beberapa kumpulan pasangan nilai kunci, Anda dapat menentukan beberapa parameter agar mudah dibaca. Contoh:
      [...]
      --update-config-maps "KEY=VALUE1" \
      --update-config-maps "KEY=VALUE2" \
      --update-config-maps "KEY=VALUE3"
      
  • Untuk layanan baru, tetapkan ConfigMap dengan menjalankan perintah gcloud run deploy dengan --set-config-maps :

    gcloud run deploy SERVICE --image=IMAGE_URL --set-config-maps KEY1=VALUE1,KEY2=VALUE2
    

    Ganti:

    • IMAGE_URL dengan referensi ke image container, misalnya, gcr.io/cloudrun/hello.
    • SERVICE dengan nama layanan Anda.
    • KEY1=VALUE1,KEY2=VALUE2 dengan dipisahkan koma daftar pasangan nama dan nilai untuk setiap ConfigMap. Untuk setiap KEY, Anda dapat menentukan jalur pemasangan, atau menyediakan variabel lingkungan. Menentukan jalur pemasangan dengan diawali dengan garis miring /. Semua kunci lainnya sesuai dengan variabel lingkungan. Untuk setiap VALUE, tentukan atribut Nama ConfigMap. Cara menentukan beberapa parameter.
    • Opsi parameter perintah

      Untuk menentukan beberapa kumpulan pasangan nilai kunci, Anda dapat menentukan beberapa parameter agar mudah dibaca. Contoh:
      [...]
      --update-config-maps "KEY=VALUE1" \
      --update-config-maps "KEY=VALUE2" \
      --update-config-maps "KEY=VALUE3"