Menggunakan secret

Pelajari cara membuat Secret dan mengonfigurasi penayangan Knative Anda layanan dan revisi untuk menggunakan Secret tersebut.

Kasus penggunaan umum layanan adalah untuk mengakses aplikasi pihak ketiga melalui nama pengguna dan {i>password.<i} Untuk Google Kubernetes Engine, praktik terbaiknya adalah menyimpan jenis informasi sensitif ini di Kubernetes Secret.

Untuk memberi container Anda akses ke Secret, Anda dapat memasang setiap Secret sebagai volume, yang membuat entri dalam Secret tersedia untuk kontainer sebagai . Anda harus memasang Secret untuk memastikan bahwa Anda mendapatkan versi setiap Secret saat dibaca.

Anda juga bisa meneruskan Secret menggunakan variabel lingkungan.

Membuat Secret

Langkah-langkah berikut ini hanya menunjukkan cara membuat Secret tetapi ada beberapa cara untuk membuat Secret, seperti yang dijelaskan dalam Rahasia topik.

Ketika membuat Secret, pastikan Anda membuatnya di namespace yang sama dengan yang menjalankan layanan penayangan Knative Anda. Di contoh, namespace default akan digunakan.

Untuk membuat Secret dalam 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'
    

Menyediakan Secret untuk layanan

Anda dapat mengaitkan secret ke layanan menggunakan Konsol Google Cloud atau alat command line saat Anda men-deploy aplikasi service atau memperbarui layanan yang ada dan men-deploy revisi:

Konsol

  1. Buka penyaluran 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 Revisi Baru.

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

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

    • Di Reference method menu pulldown, pilih cara Anda ingin menggunakan Secret Anda, atau terekspos sebagai variabel lingkungan.
    • Jika Anda menggunakan mount sebagai volume, tentukan jalurnya, lalu klik Selesai.
    • Jika Anda mengekspos sebagai variabel lingkungan:
      1. Berikan Nama variabel dan pilih yang sesuai Nilai rahasia dari menu pulldown Kunci.
      2. Klik Add untuk menambahkan nilai secret lainnya.
      3. Berikan Nama variabel dan pilih yang sesuai Nilai rahasia dari menu pulldown Kunci.
      4. Klik Done.

  5. Klik Berikutnya untuk melanjutkan ke bagian berikutnya.

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

  7. Klik Create untuk men-deploy image ke inferensi Knative, lalu tunggu hingga deployment selesai.

gcloud

Anda dapat menggunakan Google Cloud CLI untuk mengaitkan Secret dengan layanan baru atau untuk memperbarui layanan yang ada:

  • Untuk layanan yang ada, perbarui Secret dengan menjalankan 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 dipisahkan koma daftar pasangan nama dan nilai untuk setiap Secret. Untuk setiap KEY yang Anda tentukan jalur dengan dimulai dengan garis miring / untuk memasang Secret dalam bentuk 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 pasangan nilai kunci, 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 --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 dipisahkan koma daftar pasangan nama dan nilai untuk setiap Secret. Untuk setiap KEY yang Anda tentukan jalur dengan dimulai dengan garis miring / untuk memasang Secret dalam bentuk 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 pasangan nilai kunci, Anda dapat menentukan beberapa parameter agar mudah dibaca. Contoh:
      [...]
      --update-secrets "KEY=VALUE1" \
      --update-secrets "KEY=VALUE2" \
      --update-secrets "KEY=VALUE3"