Pelajari cara membuat ConfigMap, lalu mengonfigurasi layanan dan revisi penayangan Knative Anda untuk menggunakan ConfigMap tersebut.
Kasus penggunaan umum untuk layanan adalah menggunakan ConfigMaps untuk memisahkan kode aplikasi dari konfigurasi. ConfigMap mirip dengan Secret, kecuali 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 penggunaan ConfigMaps di dokumentasi Google Kubernetes Engine.
Saat mengaktifkan penampung untuk mengakses ConfigMaps, Anda dapat memilih salah satu opsi berikut:
- Pasang ConfigMap sebagai volume, dengan entri ConfigMap tersedia sebagai file di volume yang terpasang. Hal ini direkomendasikan karena memastikan Anda mendapatkan ConfigMap versi terbaru saat membacanya.
- Teruskan ConfigMap menggunakan variabel lingkungan.
Membuat ConfigMap
Ada beberapa cara untuk membuat ConfigMap, seperti yang dijelaskan di halaman ConfigMaps dalam dokumentasi GKE. Untuk memudahkan Anda, langkah-langkah berikut menunjukkan cara sederhana untuk membuat ConfigMap.
Saat membuat ConfigMap, pastikan Anda membuatnya dalam namespace yang sama dengan cluster yang menjalankan layanan penayangan 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 dan jalur
--from-file
untuk setiap direktori yang berisi satu atau beberapa file konfigurasi. - Flag
--from-literal
dan pasangan nilai kunci untuk setiap pasangan yang ingin Anda tambahkan ke ConfigMap.
- Flag dan jalur
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 dapat menyediakannya untuk layanan penayangan Knative baik sebagai volume maupun sebagai variabel lingkungan menggunakan Konsol Google Cloud atau Google Cloud CLI saat Anda men-deploy layanan baru atau memperbarui layanan yang ada dan men-deploy revisi:
Konsol
Buka penayangan Knative di konsol Google Cloud:
Klik Buat Layanan jika Anda mengonfigurasi layanan baru yang akan di-deploy. Jika Anda mengonfigurasi layanan yang ada, klik layanan, lalu klik Edit & Deploy New revision.
Di bagian Setelan lanjutan, klik Variabel dan Rahasia.
Di bagian Reference a ConfigMap, pilih ConfigMap yang diinginkan dari menu pulldown.
- Di menu pulldown Reference method, pilih cara Anda ingin menggunakan ConfigMap, yang 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:
- Masukkan Name variabel dan pilih nilai ConfigMap yang sesuai dari menu pulldown Key.
- Klik Add untuk menambahkan nilai ConfigMap lain.
- Masukkan Name variabel dan pilih nilai ConfigMap yang sesuai dari menu pulldown Key.
- Klik Done.
Klik Berikutnya untuk melanjutkan ke bagian berikutnya.
Di bagian Configure bagaimana layanan ini dipicu, pilih konektivitas yang ingin Anda gunakan untuk memanggil layanan.
Klik Create untuk men-deploy image ke penayangan 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, perbarui ConfigMap dengan menjalankan perintah
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 daftar pasangan nama dan nilai yang dipisahkan koma untuk setiap ConfigMap.
Untuk setiap KEY, Anda dapat menentukan jalur pemasangan, atau menyediakan variabel lingkungan. Tentukan jalur pemasangan dengan diawali dengan garis miring
/
. Semua kunci lain berkaitan dengan variabel lingkungan. Untuk setiap VALUE, tentukan nama ConfigMap. Cara menentukan beberapa parameter.
Opsi parameter perintah
Untuk menentukan beberapa kumpulan key-value pair, 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 parameter--set-config-maps
:gcloud run deploy SERVICE --image=IMAGE_URL --set-config-maps KEY1=VALUE1,KEY2=VALUE2
Ganti:
- IMAGE_URL dengan mereferensikan 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 menyediakan variabel lingkungan. Tentukan jalur pemasangan dengan diawali dengan garis miring
/
. Semua kunci lain berkaitan dengan variabel lingkungan. Untuk setiap VALUE, tentukan nama ConfigMap. Cara menentukan beberapa parameter.
Opsi parameter perintah
Untuk menentukan beberapa kumpulan key-value pair, Anda dapat menentukan beberapa parameter agar mudah dibaca. Contoh:[...] --update-config-maps "KEY=VALUE1" \ --update-config-maps "KEY=VALUE2" \ --update-config-maps "KEY=VALUE3"
- IMAGE_URL dengan mereferensikan ke image container, misalnya,