Menggunakan secret

Pelajari cara membuat Secret dan mengonfigurasi layanan dan revisi penayangan Knative Anda 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 Anda akses ke Secret, Anda dapat memasang setiap Secret sebagai volume, yang akan membuat entri dalam Secret tersebut tersedia untuk container sebagai file. Anda harus memasang Secret untuk memastikan 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 dalam namespace yang sama dengan cluster yang menjalankan layanan Knative inferensi. 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 menggunakan perintah kubectl saja:

    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 mengupdate layanan yang ada dan men-deploy revisi:

Konsol

  1. Buka penayangan 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 New revision.

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

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

    • Di menu pulldown Reference method, pilih cara Anda ingin menggunakan Secret, yang dipasang sebagai volume atau diekspos sebagai variabel lingkungan.
    • Jika Anda menggunakan mount sebagai volume, tentukan jalurnya, lalu klik Done.
    • Jika Anda menampilkan konten sebagai variabel lingkungan:
      1. Berikan Name variabel dan pilih nilai Secret yang sesuai dari menu pulldown Key.
      2. Klik Add untuk menambahkan nilai secret lainnya.
      3. Berikan Name variabel dan pilih nilai Secret yang sesuai dari menu pulldown Key.
      4. Klik Done.

  5. Klik Berikutnya untuk melanjutkan ke bagian berikutnya.

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

  7. Klik Create untuk men-deploy image ke penayangan Knative dan tunggu hingga deployment selesai.

gcloud

Anda dapat menggunakan Google Cloud CLI untuk mengaitkan Secret dengan layanan baru atau memperbarui 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 yang dimulai 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 rahasia. Cara menentukan beberapa parameter.
    • Opsi parameter perintah

      Untuk menentukan beberapa kumpulan key-value pair, Anda dapat menentukan beberapa parameter agar mudah dibaca. 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 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 Secret. Untuk setiap KEY, Anda menentukan jalur yang dimulai 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 rahasia. Cara menentukan beberapa parameter.
    • Opsi parameter perintah

      Untuk menentukan beberapa kumpulan key-value pair, Anda dapat menentukan beberapa parameter agar mudah dibaca. Contoh:
      [...]
      --update-secrets "KEY=VALUE1" \
      --update-secrets "KEY=VALUE2" \
      --update-secrets "KEY=VALUE3"