Pelajari cara membuat Secret dan mengonfigurasi layanan dan revisi penayangan Knative untuk menggunakan Secret tersebut.
Kasus penggunaan umum untuk layanan adalah mengakses aplikasi pihak ketiga melalui nama pengguna dan sandi. Untuk Google Kubernetes Engine, praktik terbaiknya adalah menyimpan jenis informasi sensitif ini dalam objek Secret Kubernetes.
Untuk memberi container akses ke Secret, Anda dapat memasang setiap Secret sebagai volume, yang membuat entri dalam Secret tersedia untuk penampung sebagai file. Anda harus memasang Secret untuk memastikan bahwa Anda mendapatkan versi terbaru dari setiap Secret saat dibaca.
Anda juga dapat meneruskan Secret menggunakan variabel lingkungan.
Membuat Secret
Langkah-langkah berikut hanya menunjukkan cara membuat Secret, tetapi ada beberapa cara untuk membuat Secret, seperti yang dijelaskan dalam topik Secret.
Saat membuat Secret, pastikan Anda membuatnya di namespace yang sama dengan
cluster yang menjalankan layanan penayangan Knative. Dalam contoh
ini, namespace default
digunakan.
Untuk membuat Secret di namespace default
cluster Anda:
Buat Secret menggunakan file:
echo -n 'devuser' > ./username.txt echo -n 'S!B\*d$zDsb' > ./password.txt kubectl create secret generic user-creds --from-file=./username.txt --from-file=./password.txt
Buat Secret hanya menggunakan perintah
kubectl
:kubectl create secret generic user-creds --from-literal=username=devuser --from-literal=password='S!B\*d$zDsb'
Membuat Secret tersedia untuk layanan
Anda dapat mengaitkan secret dengan layanan menggunakan konsol Google Cloud atau alat command line saat 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 sudah ada, klik layanan tersebut, lalu klik Edit & Deploy New Revision.
Di bagian Setelan lanjutan, klik Variabel dan Secret.
Di bagian Referensikan Secret, pilih secret yang diinginkan dari menu drop-down.
- Di menu pull-down Referensi metode, pilih cara Anda ingin menggunakan Secret, yang dipasang sebagai volume atau diekspos sebagai variabel lingkungan.
- Jika Anda menggunakan pemasangan sebagai volume, tentukan jalurnya, lalu klik Selesai.
- Jika Anda mengekspos sebagai variabel lingkungan:
- Berikan Nama variabel dan pilih nilai Secret yang sesuai dari menu drop-down Kunci.
- Klik Tambahkan untuk menambahkan nilai secret lain.
- Berikan Nama variabel dan pilih nilai Secret yang sesuai dari menu drop-down Kunci.
- Klik Done.
Klik Berikutnya untuk melanjutkan ke bagian berikutnya.
Di bagian Configure how this service is triggered, pilih konektivitas yang ingin Anda gunakan untuk memanggil layanan.
Klik Create untuk men-deploy image ke layanan Knative dan tunggu deployment selesai.
gcloud
Anda dapat menggunakan Google Cloud CLI untuk mengaitkan Secret dengan layanan baru atau mengupdate layanan yang ada:
Untuk layanan yang ada, perbarui Secret dengan menjalankan perintah
gcloud run services update
dengan salah satu parameter berikut:Contoh:
gcloud run services update SERVICE --update-secrets 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 Secret.
Untuk setiap KEY, Anda menentukan
jalur dengan memulai dengan garis miring
/
untuk memasang Secret sebagai file. Secara opsional, Anda dapat mengecualikan garis miring untuk memasang Secret sebagai variabel lingkungan. Untuk setiap VALUE, tentukan nama secret. Cara menentukan beberapa parameter.
Opsi parameter perintah
Untuk menentukan beberapa kumpulan pasangan nilai kunci, Anda dapat menentukan beberapa parameter untuk keterbacaan. Contoh:[...] --update-secrets "KEY=VALUE1" \ --update-secrets "KEY=VALUE2" \ --update-secrets "KEY=VALUE3"
Untuk layanan baru, kaitkan Secret dengan menjalankan perintah
gcloud run deploy
dengan parameter--set-secrets
:gcloud run deploy SERVICE --image=IMAGE_URL --set-secrets 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 Secret.
Untuk setiap KEY, Anda menentukan
jalur dengan memulai dengan garis miring
/
untuk memasang Secret sebagai file. Secara opsional, Anda dapat mengecualikan garis miring untuk memasang Secret sebagai variabel lingkungan. Untuk setiap VALUE, tentukan nama secret. Cara menentukan beberapa parameter.
Opsi parameter perintah
Untuk menentukan beberapa kumpulan pasangan nilai kunci, Anda dapat menentukan beberapa parameter untuk keterbacaan. Contoh:[...] --update-secrets "KEY=VALUE1" \ --update-secrets "KEY=VALUE2" \ --update-secrets "KEY=VALUE3"
- IMAGE_URL dengan referensi ke image container,
misalnya,