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?
- Būtina sąlyga: sugeneruokite privatų raktą ir sertifikatą
- Kaip sukurti slaptą TLS „Kubernetes“?
- Kaip sukurti paslaptį per „Yaml“ failą?
- Kaip įterpti paslaptį į „Kubernetes Pod“?
- Išvada
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 sertifikatasEikite į 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į
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į
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 : v1duomenis :
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
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
Norėdami peržiūrėti „base64“ užkoduotą raktą, naudokite „ cat
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: v1rūš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į