Menggunakan ConfigMaps

Pelajari cara membuat ConfigMap, lalu konfigurasi layanan dan revisi inferensi Knative untuk menggunakan ConfigMap tersebut.

Kasus penggunaan umum untuk layanan adalah menggunakan ConfigMaps untuk memisahkan kode aplikasi dari konfigurasi. ConfigMap mirip dengan Secret, kecuali bahwa Anda menggunakan Secret untuk informasi sensitif dan menggunakan ConfigMap untuk menyimpan data non-sensitif seperti string koneksi, kredensial publik, nama host, dan URL. Anda dapat mempelajari lebih lanjut cara menggunakan ConfigMaps dalam dokumentasi Google Kubernetes Engine.

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

  • Pasang ConfigMap sebagai volume, dengan entri ConfigMap tersedia sebagai file dalam volume yang dipasang. Tindakan ini direkomendasikan karena memastikan Anda mendapatkan versi terbaru ConfigMap saat membacanya.
  • Teruskan ConfigMap menggunakan variabel lingkungan.

Membuat ConfigMap

Ada beberapa cara untuk membuat ConfigMap, seperti yang dijelaskan di ConfigMaps dalam dokumentasi GKE. Untuk memudahkan Anda, langkah-langkah berikut menunjukkan cara sederhana untuk membuat ConfigMap.

Saat membuat ConfigMap, pastikan Anda membuatnya di namespace yang sama dengan cluster yang menjalankan layanan inferensi Knative. Petunjuk ini 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 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 sehingga tersedia untuk cluster di namespace default.

Membuat ConfigMap tersedia untuk layanan

Setelah membuat ConfigMap, Anda dapat membuatnya tersedia untuk layanan inferensi Knative sebagai volume atau sebagai variabel lingkungan menggunakankonsol atau Google Cloud CLI saat men-deploy layanan baru atau mengupdate layanan yang ada dan men-deploy revisi: Google Cloud

Konsol

  1. Buka inferensi Knative di Google Cloud konsol:

    Buka inferensi Knative

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

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

  4. Di bagian Referensi ConfigMap, pilih ConfigMap yang diinginkan dari menu pull-down.

    • Di menu pull-down Metode referensi, pilih cara Anda ingin menggunakan ConfigMap, yang dipasang sebagai volume atau diekspos sebagai variabel lingkungan.
    • Jika Anda menggunakan pemasangan sebagai volume, tentukan jalur, lalu klik Selesai.
    • Jika Anda mengekspos sebagai variabel lingkungan:
      1. Berikan Nama variabel dan pilih nilai ConfigMap nilai yang sesuai dari menu pull-down Kunci.
      2. Klik Tambahkan untuk menambahkan nilai ConfigMap lain.
      3. Berikan Nama variabel dan pilih nilai ConfigMap nilai yang sesuai dari menu pull-down Kunci.
      4. Klik Selesai.

  5. Klik Berikutnya untuk melanjutkan ke bagian berikutnya.

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

  7. Klik Buat untuk men-deploy image ke inferensi Knative dan tunggu hingga deployment selesai.

Command line

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

  • Untuk layanan yang ada, update ConfigMap dengan menjalankan gcloud run services update perintah 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 daftar pasangan nama dan nilai yang dipisahkan koma untuk setiap ConfigMap. Untuk setiap KEY, Anda dapat menentukan jalur pemasangan, atau memberikan variabel lingkungan. Tentukan jalur pemasangan dengan memulai dengan garis miring /. Semua kunci lainnya sesuai dengan variabel lingkungan. Untuk setiap VALUE, tentukan 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 gcloud run deploy perintah dengan --set-config-maps parameter:

    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 daftar pasangan nama dan nilai yang dipisahkan koma untuk setiap ConfigMap. Untuk setiap KEY, Anda dapat menentukan jalur pemasangan, atau memberikan variabel lingkungan. Tentukan jalur pemasangan dengan memulai dengan garis miring /. Semua kunci lainnya sesuai dengan variabel lingkungan. Untuk setiap VALUE, tentukan 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"