Cara Membuat TLS Rahasia di Kubernetes

Cara Membuat Tls Rahasia Di Kubernetes



Kubernetes adalah alat sumber terbuka yang digunakan untuk menjalankan dan mengelola aplikasi dalam container di dalam cluster. Ia melakukan berbagai tugas untuk mengontrol, menjalankan, dan mengamankan kredensial aplikasi melalui rahasia dan masuknya.

Ingress digunakan untuk mengatur lalu lintas masuk aplikasi dan juga untuk penghentian SSL. Sebaliknya, rahasia digunakan untuk menyimpan informasi rahasia dan sertifikat TLS untuk aplikasi.

Posting ini akan menggambarkan:







Apa Rahasia Kubernetes?

Rahasia adalah salah satu sumber daya Kubernetes, yang digunakan untuk menyimpan informasi rahasia seperti kredensial login pengguna, kunci, sertifikat, atau token. Rahasianya dapat dibuat secara individual dan dihubungkan ke pod. Ini mencegah pengembang memberikan data rahasia dalam kode dan juga memberikan lapisan keamanan tambahan. Berbagai jenis rahasia dapat dibuat dan digunakan. Rahasia yang paling umum digunakan adalah:



Rahasia Generik: Rahasia umum digunakan untuk menyimpan informasi dasar seperti kata sandi, token, kunci API, kunci OAuth, dan sebagainya.



Rahasia TLS: Rahasia TLS digunakan untuk menyimpan kunci pribadi dan sertifikat yang ditandatangani oleh CA. Untuk memastikan keamanan aplikasi yang berjalan di dalam Kubernetes dan untuk mengamankan komunikasi di dalam cluster, pengguna biasanya perlu membuat dan menyematkan rahasia TLS ke dalam pod.





Registri Docker: Ini digunakan untuk menyimpan kredensial registri buruh pelabuhan untuk dengan mudah menarik gambar dari registri.

Prasyarat: Hasilkan Kunci Pribadi dan Sertifikat

Untuk membuat sertifikat dan kunci pribadi untuk peningkatan keamanan, gunakan OpenSSL yang membuat CSR (permintaan penandatanganan sertifikat) dan kunci pribadi. Kemudian, gunakan CSR untuk menghasilkan sertifikat yang ditandatangani sendiri atau sertifikat CA.



Untuk memanfaatkan perintah OpenSSL di Windows, pengguna diharuskan menginstal Git. Untuk tujuan ini, ikuti tautan kami “ Instal git di Windows ' artikel.

Setelah menginstal git, ikuti petunjuk di bawah ini untuk membuat kunci pribadi dan sertifikat yang ditandatangani.

Langkah 1: Luncurkan Terminal Git Bash

Lakukan penelusuran untuk “ Git Bash ” di menu Start dan luncurkan terminal:

Untuk memeriksa direktori saat ini gunakan “ pwd ' memerintah:

pwd

Saat ini, kami bekerja di direktori %USERPROFILE%:

Langkah 2: Buat Direktori Baru

Buat direktori baru untuk menyimpan sertifikat dan kunci pribadi:

mkdir sertifikat

Arahkan ke direktori yang baru dibuat menggunakan “ CD ' memerintah:

CD sertifikat

Langkah 3: Hasilkan Kunci Pribadi

Sekarang, buat kunci pribadi melalui perintah yang diberikan. Di sini, kunci pribadi yang dihasilkan akan disimpan di “ mycert.key ”:

membuka kunci genp -algoritma RSA -keluar mycert.key

Langkah 4: Hasilkan CSR

Untuk menghasilkan CSR (permintaan layanan sertifikat) untuk mendapatkan sertifikat yang ditandatangani, gunakan perintah yang diberikan:

persyaratan terbuka -baru -kunci mycert.key -keluar mycert.csr

Langkah 5: Hasilkan Sertifikat

Terakhir, dengan menggunakan kunci pribadi dan CSR yang dihasilkan, buat sertifikat dan simpan di “ mycert.crt ” mengajukan. Untuk tujuan ini, jalankan perintah di bawah ini:

membuka sl x509 -permintaan -di dalam mycert.csr -kunci tanda mycert.key -keluar mycert.crt -hari 365

Setelah membuat sertifikat TLS, pengguna dapat membuat TLS rahasia dengan mengikuti bagian di bawah ini.

Bagaimana Cara Membuat TLS Rahasia di Kubernetes?

Untuk memastikan keamanan aplikasi dan komunikasi yang aman di dalam dan di luar cluster Kubernetes, sertifikat TLS (Transport Layer Security) sangat penting yang digunakan dalam enkripsi data. Rahasia Kubernetes memungkinkan kita menyematkan sertifikat TLS dengan pod yang berjalan melalui TLS rahasia. Untuk membuat TLS rahasia di Kubernetes, ikuti petunjuk berikut.

Langkah 1: Mulai Klaster Minikube

Untuk memulai cluster minikube, pertama-tama luncurkan Windows PowerShell sebagai administrator. Setelah itu, buat dan jalankan cluster menggunakan “ minikube dimulai ' memerintah:

minikube dimulai

Langkah 2: Dapatkan Node

Akses node Kubernetes untuk memeriksa apakah cluster sudah dimulai atau belum:

minikube mendapatkan node

Langkah 3: Buat TLS Rahasia

Buat rahasia TLS di Kubernetes menggunakan “ kubectl buat rahasia –cert= –kunci= ' memerintah. Di sini, tipe rahasianya bisa berupa “ umum ', ' tl ', atau ' registrasi buruh pelabuhan ”. Untuk membuat rahasia TLS, kami telah menetapkan tipe rahasia sebagai “tls”:

kubectl buat rahasia tls demo-rahasia --sertifikat =C:\Users\Dell\cert\mycert.crt --kunci =C:\Users\Dell\cert\mycert.key

Langkah 4: Dapatkan Rahasia

Untuk konfirmasi, catat rahasia Kubernetes menggunakan perintah yang diberikan:

kubectl dapatkan rahasia

Di sini, Anda dapat melihat kami telah secara efektif menciptakan “ rahasia demo ” yang berisi “ 2 ”nilai data:

Langkah 5: Jelaskan Rahasia

Untuk melihat bagaimana data dilihat atau disimpan secara rahasia, jelaskan rahasianya menggunakan “ kubectl mendeskripsikan rahasia ' memerintah:

kubectl mendeskripsikan rahasia demo-rahasia

Anda dapat melihat nilai disimpan dalam byte dan tidak dapat dilihat secara langsung, tidak seperti ConfigMaps Kubernetes:

Bagaimana Cara Membuat TLS Rahasia Melalui File Yaml?

Untuk membuat TLS rahasia melalui file yaml, pertama-tama buatlah “ rahasia.yml ” file, tambahkan sertifikat berkode tls base64 dalam ' tls.crt ”, dan tambahkan kunci yang dikodekan base64 dalam ' tls.kunci ”.

Untuk demonstrasi, ikuti langkah-langkah yang tercantum.

Langkah 1: Buat File Yaml

Buat file bernama “ rahasia.yml ” dan tempelkan kode yang diberikan:

versi api : v1

data
:

tls.crt
: 'sertifikat berkode base64'

tls.kunci
: 'kunci yang dikodekan base64'

baik
: Rahasia

metadata
:

nama
: rahasia mitos

ruang nama
: bawaan

jenis
: kubernetes.io/tls

Dalam cuplikan di atas, ganti nilai kunci “tls.crt” dan “tls.key” dengan sertifikat dan nilai kunci asli Anda:

Langkah 2: Buat Rahasia

Sekarang, terapkan file yaml rahasia melalui “ kubectl terapkan -f ' memerintah:

kubectl terapkan -F rahasia.yml

Outputnya menunjukkan bahwa kita telah berhasil membuat “ rahasia mitos ” menggunakan file yaml:

Catatan: Lihat Sertifikat TLS dan Kunci Pribadi

Untuk melihat sertifikat yang dikodekan base64 dan menggunakannya dalam file yaml, jalankan perintah “ cat | base64 ” perintah di terminal git bash:

kucing mycert.crt | base64

Untuk melihat kunci yang dikodekan base64, gunakan “ cat | base64 ' memerintah:

kucing mycert.key | base64

Bagaimana Cara Menyematkan TLS Rahasia Dengan Kubernetes Pod?

Setelah membuat TSL rahasia, pengguna dapat menyematkannya dengan pod Kubernetes. Untuk melakukannya, gunakan petunjuk berikut.

Langkah 1: Buat File Yaml

Buatlah file bernama “ pod.yml ” file dan tempel cuplikan di bawah ini ke dalam file:

versi api: v1

jenis: Pod

metadata:

nama: demo-pod

spesifikasi:

wadah:

- nama: html-lanjutan

gambar: rafia098 / html-img: 1.0

envDari:

- rahasiaRef:

nama: demo-rahasia

Dalam cuplikan di atas:

  • baik ” kunci menentukan sumber daya Kubernetes yang dibuat pengguna.
  • nama ” kunci akan mengatur nama pod.
  • kontainer Kunci ” akan menyimpan informasi kontainer.
  • nama ” di bawah kunci “containers” akan mengatur nama container.
  • gambar Kunci ” akan menyediakan gambar aplikasi atau container untuk membuat dan memulai aplikasi di dalam container.
  • envFrom ” kunci akan mengatur variabel lingkungan dari sumber daya Kubernetes lainnya. Di sini, untuk menyematkan TLS rahasia ke dalam pod, “ rahasiaRef ” digunakan untuk memberikan referensi rahasia. Untuk menyematkan TLS rahasia di atas, tentukan nama rahasia di kunci “nama”.

Langkah 2: Buat atau Tingkatkan Pod

Selanjutnya, buka folder tempat “ pod.yml ” file dibuat:

CD C:\Users\Dell\Documents\Kubernetes\Secret

Terapkan file yaml untuk membuat atau mengkonfigurasi ulang pod menggunakan “ kubectl terapkan ' memerintah:

kubectl terapkan -F pod.yml

Langkah 3: Akses Pod Kubernetes

Untuk verifikasi, daftarkan pod Kubernetes:

kubectl dapatkan pod

Di sini, Anda dapat melihat kami telah membuat “ demo-pod ” berhasil:

Langkah 4: Jelaskan Podnya

Untuk memeriksa apakah pod telah menyematkan TLS rahasia atau tidak, jelaskan pod tersebut menggunakan perintah di bawah ini:

kubectl mendeskripsikan pod demo-pod

Output di bawah ini menunjukkan bahwa kita telah berhasil menyematkan rahasia TLS dengan pod:

Kami telah membahas cara membuat TLS rahasia dan menyematkannya dengan aplikasi Kubernetes yang berjalan di pod.

Kesimpulan

Untuk membuat TLS rahasia di Kubernetes, pertama-tama buatlah sertifikat bertanda tangan TLS dan kunci pribadi. Setelah itu, mulai cluster Kubernetes dan jalankan perintah “ kubectl buat rahasia –cert= –kunci= ' memerintah. Pengguna juga dapat membuat TLS rahasia menggunakan manifes yaml. Postingan ini telah mengilustrasikan cara membuat TLS rahasia dan cara menyematkan rahasia tersebut dengan aplikasi atau pod yang sedang berjalan.