Ingress digunakan untuk menguruskan trafik masuk aplikasi dan juga untuk penamatan SSL. Sebaliknya, rahsia digunakan untuk menyimpan maklumat sulit dan sijil TLS untuk permohonan.
Catatan ini akan menggambarkan:
- Apakah Rahsia Kubernetes?
- Prasyarat: Jana Kunci Peribadi dan Sijil
- Bagaimana untuk Mencipta TLS Rahsia dalam Kubernetes?
- Bagaimana untuk Mencipta Rahsia Melalui Fail Yaml?
- Bagaimana untuk Membenamkan Rahsia Dengan Kubernetes Pod?
- Kesimpulan
Apakah Rahsia Kubernetes?
Rahsia ialah salah satu sumber Kubernetes, digunakan untuk menyimpan maklumat sulit seperti bukti kelayakan log masuk pengguna, kunci, sijil atau token. Rahsia boleh dibuat secara individu dan disambungkan ke pod. Ia menghalang pembangun daripada menyediakan data sulit dalam kod dan juga menyediakan lapisan keselamatan tambahan. Pelbagai jenis rahsia boleh dicipta dan digunakan. Rahsia yang paling biasa digunakan ialah:
Rahsia Generik: Rahsia generik digunakan untuk menyimpan maklumat asas seperti kata laluan, token, kunci API, kunci OAuth dan sebagainya.
Rahsia TLS: Rahsia TLS digunakan untuk menyimpan kunci peribadi dan sijil yang ditandatangani oleh CA. Untuk memastikan keselamatan aplikasi yang berjalan di dalam Kubernetes dan untuk menjamin komunikasi dalam kelompok, pengguna biasanya perlu mencipta dan membenamkan rahsia TLS ke pod.
Pendaftaran Docker: Ia digunakan untuk menyimpan kelayakan pendaftaran docker untuk menarik imej dari registri dengan mudah.
Prasyarat: Jana Kunci Peribadi dan Sijil
Untuk mencipta sijil dan kunci persendirian untuk peningkatan keselamatan, gunakan OpenSSL yang mencipta CSR (permintaan tandatangan sijil) dan kunci persendirian. Kemudian, gunakan CSR untuk menjana sijil yang ditandatangani sendiri atau CA.
Untuk menggunakan arahan OpenSSL pada Windows, pengguna dikehendaki memasang Git. Untuk tujuan ini, ikuti pautan kami ' Pasang git pada Windows ' artikel.
Selepas memasang git, ikut arahan di bawah untuk menjana kunci peribadi dan sijil yang ditandatangani.
Langkah 1: Lancarkan Terminal Git Bash
Buat carian untuk ' Git Bash ” dalam menu Mula dan lancarkan terminal:
Untuk menyemak direktori semasa gunakan ' pwd ” perintah:
pwdPada masa ini, kami sedang bekerja dalam direktori %USERPROFILE%:
Langkah 2: Cipta Direktori Baharu
Buat direktori baharu untuk menyimpan sijil dan kunci peribadi:
mkdir sijilNavigasi ke direktori yang baru dibuat menggunakan ' cd ” perintah:
cd sijil
Langkah 3: Jana Kunci Peribadi
Sekarang, jana kunci peribadi melalui arahan yang diberikan. Di sini, kunci peribadi yang dijana akan disimpan dalam ' mycert.key ”:
openssl genpkey -algoritma RSA -keluar mycert.key
Langkah 4: Jana CSR
Untuk menjana CSR (permintaan perkhidmatan sijil) untuk mendapatkan sijil yang ditandatangani, gunakan arahan yang diberikan:
openssl req -baru -kunci mycert.key -keluar mycert.csr
Langkah 5: Jana Sijil
Akhir sekali, menggunakan kunci persendirian dan CSR yang dijana, buat sijil dan simpannya dalam ' mycert.crt ” fail. Untuk tujuan ini, laksanakan arahan di bawah:
openssl x509 -req -dalam mycert.csr -tanda tanda mycert.key -keluar mycert.crt -hari 365
Selepas menjana sijil TLS, pengguna boleh mencipta TLS rahsia dengan mengikuti bahagian di bawah.
Bagaimana untuk Mencipta TLS Rahsia dalam Kubernetes?
Untuk memastikan keselamatan aplikasi dan komunikasi selamat di dalam dan di luar kelompok Kubernetes, sijil TLS (Transport Layer Security) adalah penting yang digunakan dalam penyulitan data. Rahsia Kubernetes membolehkan kami membenamkan sijil TLS dengan pod berjalan melalui TLS rahsia. Untuk mencipta TLS rahsia dalam Kubernetes, ikuti arahan berikut.
Langkah 1: Mulakan Kluster Minikube
Untuk memulakan kluster minikube, mula-mula, lancarkan Windows PowerShell sebagai pentadbir. Selepas itu, buat dan jalankan kluster menggunakan ' permulaan minikube ” perintah:
permulaan minikube
Langkah 2: Dapatkan Nod
Akses nod Kubernetes untuk menyemak sama ada kluster dimulakan atau tidak:
minikube dapatkan nod
Langkah 3: Cipta TLS Rahsia
Cipta rahsia TLS dalam Kubernetes menggunakan “ kubectl cipta rahsia
Langkah 4: Dapatkan Rahsia
Untuk pengesahan, senaraikan rahsia Kubernetes menggunakan arahan yang diberikan:
kubectl dapatkan rahsiaDi sini, anda boleh lihat kami telah mencipta ' rahsia demo ” yang mengandungi “ 2 ” nilai data:
Langkah 5: Terangkan Rahsia
Untuk melihat cara data dilihat atau disimpan secara rahsia, huraikan rahsia menggunakan ' kubectl menerangkan rahsia
Anda boleh melihat nilai disimpan dalam bait dan tidak boleh dilihat secara langsung tidak seperti Kubernetes ConfigMaps:
Bagaimana untuk Mencipta TLS Rahsia Melalui Fail Yaml?
Untuk mencipta TLS rahsia melalui fail yaml, mula-mula, buat ' rahsia.yml ” fail, tambahkan sijil dikodkan tls base64 di dalam ' tls.crt ” kekunci, dan tambahkan kunci berkod base64 di dalam ' tls.key ”.
Untuk demonstrasi, ikuti langkah yang disenaraikan.
Langkah 1: Buat Fail Yaml
Buat fail bernama ' rahsia.yml ” dan tampal kod yang diberikan:
apiVersion : v1data :
tls.crt : 'sijil berkod base64'
tls.key : 'kunci berkod base64'
baik hati : Rahsia
metadata :
nama : mytls-rahsia
ruang nama : lalai
menaip : kubernetes.io/tls
Dalam coretan di atas, gantikan nilai kunci 'tls.crt' dan 'tls.key' dengan sijil asal dan nilai kunci anda:
Langkah 2: Cipta Rahsia
Sekarang, gunakan fail yaml rahsia melalui ' kubectl apply -f
Output menunjukkan bahawa kami telah berjaya mencipta ' mytls-rahsia ” menggunakan fail yaml:
Nota: Lihat Sijil TLS dan Kunci Peribadi
Untuk melihat sijil yang dikodkan base64 dan menggunakannya dalam fail yaml, jalankan “ cat
Untuk melihat kunci yang dikodkan base64, gunakan ' kucing
Bagaimana untuk Membenamkan TLS Rahsia Dengan Kubernetes Pod?
Selepas mencipta TSL rahsia, pengguna boleh membenamkannya dengan pod Kubernetes. Untuk berbuat demikian, gunakan arahan berikut.
Langkah 1: Buat Fail Yaml
Buat fail bernama ' pod.yml ” dan tampalkan coretan di bawah ke dalam fail:
apiVersion: v1jenis: Pod
metadata:
nama: demo-pod
spesifikasi:
bekas:
- nama: html-samb
gambar: rafia098 / html-img: 1.0
envFrom:
- secretRef:
nama: rahsia demo
Dalam coretan di atas:
- “ baik hati kunci ” menentukan sumber Kubernetes yang dibuat oleh pengguna.
- “ nama kunci ” akan menetapkan nama pod.
- “ bekas kunci ” akan menyimpan maklumat bekas.
- “ nama kekunci ” di bawah kekunci “bekas” akan menetapkan nama bekas.
- “ gambar kunci ” akan memberikan aplikasi atau imej bekas untuk mencipta dan memulakan aplikasi di dalam bekas.
- “ envFrom kunci ” akan menetapkan pembolehubah persekitaran daripada sumber Kubernetes yang lain. Di sini, untuk membenamkan TLS rahsia dalam pod, ' rahsiaRuj ” digunakan untuk menyediakan rujukan rahsia. Untuk membenamkan TLS rahsia di atas, nyatakan nama rahsia dalam kekunci 'nama'.
Langkah 2: Buat atau Tingkatkan Pod
Seterusnya, buka folder di mana ' pod.yml ” fail dibuat:
cd C:\Users\Dell\Documents\Kubernetes\Rahsia
Gunakan fail yaml untuk mencipta atau mengkonfigurasi semula pod menggunakan ' kubectl memohon ” perintah:
kubectl memohon -f pod.yml
Langkah 3: Akses Kubernetes Pods
Untuk pengesahan, senaraikan pod Kubernetes:
kubectl dapatkan podDi sini, anda boleh lihat kami telah mencipta ' demo-pod ” berjaya:
Langkah 4: Terangkan Pod
Untuk menyemak sama ada pod telah membenamkan TLS rahsia atau tidak, huraikan pod menggunakan arahan di bawah:
kubectl menerangkan pod demo-podOutput di bawah menunjukkan bahawa kami telah berjaya membenamkan rahsia TLS dengan pod:
Kami telah membincangkan cara mencipta TLS rahsia dan membenamkannya dengan aplikasi Kubernetes yang dijalankan dalam pod.
Kesimpulan
Untuk mencipta TLS rahsia dalam Kubernetes, mula-mula buat sijil bertandatangan TLS dan kunci peribadi. Selepas itu, mulakan kluster Kubernetes dan jalankan “ kubectl cipta rahsia