Kaip sukurti slaptą TLS „Kubernetes“.

Kaip Sukurti Slapta Tls Kubernetes



„Kubernetes“ yra atvirojo kodo įrankis, naudojamas klasterio viduje esančiai konteinerinei programai vykdyti ir valdyti. Jis atlieka įvairias užduotis, skirtas valdyti, vykdyti ir apsaugoti programos kredencialus per slaptą ir įvestą informaciją.

Ingress naudojamas programų gaunamam srautui valdyti ir SSL nutraukimui. Priešingai, paslaptys naudojamos konfidencialiai informacijai ir TLS sertifikatams saugoti.

Šis įrašas parodys:







Kokios yra Kubernetes paslaptys?

Paslaptys yra vienas iš „Kubernetes“ išteklių, naudojamų konfidencialiai informacijai, tokiai kaip vartotojo prisijungimo kredencialai, raktai, sertifikatai ar prieigos raktai, saugoti. Paslaptys gali būti sukurtos atskirai ir sujungtos su ankštimis. Tai neleidžia kūrėjui pateikti konfidencialių duomenų kode ir taip pat suteikia papildomą saugumo lygį. Galima sukurti ir panaudoti įvairių rūšių paslaptis. Dažniausiai naudojamos paslaptys yra šios:



Bendra paslaptis: Bendrosios paslaptys naudojamos pagrindinei informacijai, tokiai kaip slaptažodžiai, prieigos raktai, API raktai, OAuth raktai ir pan., saugoti.



TLS paslaptis: TLS paslaptys naudojamos saugoti privačius raktus ir sertifikatus, kuriuos pasirašo CA. Norint užtikrinti Kubernetes veikiančių programų saugumą ir užtikrinti ryšį klasteryje, vartotojas paprastai turi sukurti ir įterpti TLS paslaptis į podėlį.





Docker registras: Jis naudojamas docker registro kredencialams saugoti, kad būtų galima lengvai ištraukti vaizdus iš registro.

Būtina sąlyga: sugeneruokite privatų raktą ir sertifikatą

Norėdami sukurti sertifikatą ir privatųjį raktą, kad pagerintumėte saugumą, naudokite OpenSSL, kuri sukuria CSR (sertifikato pasirašymo užklausą) ir privatųjį raktą. Tada naudokite CSR, kad sukurtumėte savarankiškai pasirašytus arba CA sertifikatus.



Norėdami naudoti „OpenSSL“ komandas sistemoje „Windows“, vartotojai turi įdiegti „Git“. Šiuo tikslu vadovaukitės mūsų nuoroda ' Įdiekite git sistemoje Windows ' straipsnis.

Įdiegę git, vadovaukitės toliau pateiktomis instrukcijomis, kad sugeneruotumėte privatų raktą ir pasirašytą sertifikatą.

1 veiksmas: paleiskite „Git Bash“ terminalą

Atlikite paiešką pagal „ Gitas Bashas “ meniu Pradėti ir paleiskite terminalą:

Norėdami patikrinti esamą katalogą, naudokite „ pwd “ komanda:

pwd

Šiuo metu dirbame %USERPROFILE% kataloge:

2 veiksmas: sukurkite naują katalogą

Sukurkite naują katalogą, kad išsaugotumėte sertifikatus ir privatųjį raktą:

mkdir sertifikatas

Eikite į naujai sukurtą katalogą naudodami „ cd “ komanda:

cd sertifikatas

3 veiksmas: sugeneruokite privatų raktą

Dabar sugeneruokite privatų raktą naudodami nurodytą komandą. Čia sugeneruotas privatus raktas bus išsaugotas „ mycert.key “:

openssl genpkey - algoritmas RSA -išeina mycert.key

4 veiksmas: sukurkite CSR

Norėdami sugeneruoti CSR (sertifikato paslaugos užklausą), kad gautumėte pasirašytą sertifikatą, naudokite nurodytą komandą:

openssl req - naujas -Raktas mycert.key -išeina mycert.csr

5 veiksmas: sugeneruokite sertifikatą

Galiausiai, naudodami sugeneruotą privatų raktą ir CSR, sukurkite sertifikatą ir išsaugokite jį „ mycert.crt “ failą. Šiuo tikslu vykdykite žemiau esančią komandą:

openssl x509 -req mycert.csr - signkey mycert.key -išeina mycert.crt - dienas 365

Sugeneravęs TLS sertifikatus, vartotojas gali sukurti slaptą TLS vadovaudamasis toliau pateikta dalimi.

Kaip sukurti slaptą TLS „Kubernetes“?

Siekiant užtikrinti programų saugumą ir saugų ryšį Kubernetes klasteryje ir už jo ribų, TLS (Transport Layer Security) sertifikatai yra būtini, naudojami duomenų šifravimui. „Kubernetes“ paslaptis leidžia mums įterpti TLS sertifikatą su veikiančiais blokais per slaptą TLS. Norėdami sukurti slaptą TLS „Kubernetes“, vadovaukitės toliau pateiktomis instrukcijomis.

1 veiksmas: paleiskite „Minikube Cluster“.

Norėdami paleisti minikube klasterį, pirmiausia paleiskite Windows PowerShell kaip administratorių. Po to sukurkite ir paleiskite klasterį naudodami „ minikube pradžia “ komanda:

minikube pradžia

2 veiksmas: gaukite mazgus

Prisijunkite prie Kubernetes mazgo, kad patikrintumėte, ar klasteris paleistas, ar ne:

minikube gauti mazgus

3 veiksmas: sukurkite slaptą TLS

Sukurkite TLS paslaptį „Kubernetes“ naudodami „ kubectl sukurti paslaptį –cert= –key= “ komanda. Čia slaptasis tipas gali būti ' bendrinis ', ' tls “ arba „ dokeris-registras “. Norėdami sukurti TLS paslaptį, paslapties tipą nustatėme kaip „tls“:

kubectl sukurti slaptą tls demo-slaptą -- Cert =C:\Users\Dell\cert\mycert.crt --Raktas =C:\Users\Dell\cert\mycert.key

4 veiksmas: gaukite paslaptis

Norėdami patvirtinti, nurodykite Kubernetes paslaptį naudodami nurodytą komandą:

kubectl gauti paslaptį

Čia galite pamatyti, kad mes efektyviai sukūrėme „ demo paslaptis “, kuriame yra “ 2 ” duomenų reikšmės:

5 veiksmas: apibūdinkite paslaptį

Norėdami pamatyti, kaip duomenys yra peržiūrimi arba saugomi slaptai, apibūdinkite paslaptį naudodami „ kubectl aprašykite paslaptį “ komanda:

kubectl aprašykite slaptą demonstracinę paslaptį

Galite matyti, kad reikšmės yra saugomos baitais ir negali būti tiesiogiai peržiūrimos, kitaip nei Kubernetes ConfigMaps:

Kaip sukurti slaptą TLS per „Yaml“ failą?

Norėdami sukurti slaptą TLS per yaml failą, pirmiausia sukurkite „ paslaptis.yml “ failą, pridėkite tls base64 užkoduotas sertifikatas viduje ' tls.crt “ klavišą ir pridėkite „Base64“ užkoduotas raktas viduje ' tls.key “.

Norėdami parodyti, atlikite nurodytus veiksmus.

1 veiksmas: sukurkite „Yaml“ failą

Sukurkite failą pavadinimu ' paslaptis.yml “ ir įklijuokite nurodytą kodą:

apiVersion : v1

duomenis
:

tls.crt
: 'base64 koduotas sertifikatas'

tls.key
: 'base64 koduotas raktas'

malonus
: Paslaptis

metaduomenys
:

vardas
: mitų paslaptis

vardų erdvė
: numatytas

tipo
: kubernetes.io/tls

Aukščiau pateiktame fragmente pakeiskite „tls.crt“ ir „tls.key“ raktų reikšmes originaliu sertifikatu ir rakto reikšmėmis:

2 veiksmas: sukurkite paslaptį

Dabar taikykite slaptą yaml failą naudodami „ kubectl apply -f “ komanda:

kubectl taikyti -f paslaptis.yml

Rezultatas rodo, kad sėkmingai sukūrėme mitų paslaptis “ naudojant yaml failą:

Pastaba: peržiūrėkite TLS sertifikatą ir privatų raktą

Norėdami peržiūrėti „base64“ užkoduotą sertifikatą ir naudoti jį „yaml“ faile, paleiskite „ cat | bazė64 “ komanda git bash terminale:

katė mycert.crt | bazė64

Norėdami peržiūrėti „base64“ užkoduotą raktą, naudokite „ cat | bazė64 “ komanda:

katė mycert.key | bazė64

Kaip įterpti slaptą TLS su „Kubernetes Pod“?

Sukūręs slaptą TSL, vartotojas gali įterpti jį su Kubernetes pod. Norėdami tai padaryti, vadovaukitės toliau pateiktomis instrukcijomis.

1 veiksmas: sukurkite „Yaml“ failą

Sukurkite failą pavadinimu ' pod.yml “ failą ir įklijuokite toliau pateiktą fragmentą į failą:

apiVersija: v1

rūšis: ankštis

metaduomenys:

pavadinimas: demo-pod

specifikacija:

konteineriai:

- pavadinimas: html-cont

Nuotrauka: rafia098 / html-img: 1.0

envNuo:

- SecretRef:

pavadinimas: demo-slaptas

Aukščiau pateiktame fragmente:

  • malonus “ klavišas nurodo „Kubernetes“ išteklius, kuriuos kuria vartotojas.
  • vardas “ klavišas nustatys ankšties pavadinimą.
  • konteineriai “ klavišas išsaugos konteinerio informaciją.
  • vardas “ mygtukas po klavišu „sudėtiniai rodiniai“ nustatys konteinerio pavadinimą.
  • vaizdas “ klavišas pateiks programos arba sudėtinio rodinio vaizdą, kad būtų galima sukurti ir paleisti programą konteineryje.
  • envNuo “ klavišas nustatys aplinkos kintamąjį iš kitų „Kubernetes“ išteklių. Norėdami įterpti slaptą TLS į rinkinį, „ slaptasNuor “ naudojamas slaptai nuorodai pateikti. Norėdami įterpti aukščiau pateiktą slaptą TLS, rakte „name“ nurodykite paslapties pavadinimą.

2 veiksmas: sukurkite arba atnaujinkite „Pod“.

Tada atidarykite aplanką, kuriame pod.yml “ sukurtas failas:

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

Taikykite yaml failą, kad sukurtumėte arba iš naujo sukonfigūruotumėte podą naudodami „ kubectl taikyti “ komanda:

kubectl taikyti -f pod.yml

3 veiksmas: pasiekite „Kubernetes Pods“.

Norėdami patikrinti, išvardykite Kubernetes ankštis:

kubectl get pod

Čia galite pamatyti, kad sukūrėme „ demo-pod “ sėkmingai:

4 veiksmas: apibūdinkite podą

Norėdami patikrinti, ar podelyje yra įdėtas slaptasis TLS, apibūdinkite bloką naudodami toliau pateiktą komandą:

kubectl aprašo pod demo-pod

Žemiau pateikta produkcija rodo, kad mes sėkmingai įdėjome TLS paslaptį su pod:

Aprašėme, kaip sukurti slaptą TLS ir įterpti jį į „Kubernetes“ programą, veikiančią podelyje.

Išvada

Norėdami sukurti slaptą TLS „Kubernetes“, pirmiausia sukurkite TLS pasirašytą sertifikatą ir privatųjį raktą. Po to paleiskite „Kubernetes“ klasterį ir paleiskite „ kubectl sukurti paslaptį –cert= –key= “ komanda. Vartotojai taip pat gali sukurti slaptą TLS naudodami yaml manifestą. Šis įrašas iliustruoja, kaip sukurti slaptą TLS ir kaip įterpti paslaptį į veikiančią programą ar podėlį.