Menggunakan secret

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

  1. Buka penayangan Knative di konsol Google Cloud:

    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 New Revision.

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

  4. 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:
      1. Berikan Nama variabel dan pilih nilai Secret yang sesuai dari menu drop-down Kunci.
      2. Klik Tambahkan untuk menambahkan nilai secret lain.
      3. Berikan Nama variabel dan pilih nilai Secret yang sesuai dari menu drop-down Kunci.
      4. Klik Done.

  5. Klik Berikutnya untuk melanjutkan ke bagian berikutnya.

  6. Di bagian Configure how this service is triggered, pilih konektivitas yang ingin Anda gunakan untuk memanggil layanan.

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