Kako stvoriti tajni TLS u Kubernetesu

Kako Stvoriti Tajni Tls U Kubernetesu



Kubernetes je alat otvorenog koda koji se koristi za izvođenje i upravljanje kontejnerskom aplikacijom unutar klastera. Obavlja različite zadatke za kontrolu, pokretanje i osiguranje vjerodajnica aplikacije putem tajnih i ulaznih podataka.

Ingress se koristi za upravljanje dolaznim prometom aplikacije i također za SSL terminaciju. Nasuprot tome, tajne se koriste za pohranjivanje povjerljivih informacija i TLS certifikata za primjenu.

Ovaj post će ilustrirati:







Koje su tajne Kubernetesa?

Tajne su jedan od resursa Kubernetesa, koji se koristi za pohranjivanje povjerljivih informacija kao što su korisničke vjerodajnice za prijavu, ključevi, certifikati ili tokeni. Tajne se mogu kreirati pojedinačno i povezati s mahunama. Sprječava razvojnog programera da pruži povjerljive podatke u kodu i također pruža dodatni sloj sigurnosti. Mogu se stvoriti i koristiti različite vrste tajni. Najčešće korištene tajne su:



Generička tajna: Generičke tajne koriste se za pohranu osnovnih informacija kao što su lozinke, tokeni, API ključevi, OAuth ključevi i tako dalje.



TLS tajna: TLS tajne koriste se za pohranu privatnih ključeva i certifikata koje je potpisao CA. Kako bi se osigurala sigurnost aplikacija koje se izvode unutar Kubernetesa i za osiguravanje komunikacije unutar klastera, korisnik obično mora stvoriti i ugraditi TLS tajne u pod.





Docker registar: Koristi se za pohranjivanje vjerodajnica registra dockera za jednostavno izvlačenje slika iz registra.

Preduvjet: Generirajte privatni ključ i certifikat

Za izradu certifikata i privatnog ključa za poboljšanje sigurnosti upotrijebite OpenSSL koji stvara CSR (zahtjev za potpisivanje certifikata) i privatni ključ. Zatim upotrijebite CSR za generiranje samopotpisanih ili CA certifikata.



Za korištenje OpenSSL naredbi u sustavu Windows, korisnici moraju instalirati Git. U tu svrhu pratite naše povezane ' Instalirajte git na Windows ” članak.

Nakon instalacije gita, slijedite upute u nastavku za generiranje privatnog ključa i potpisanog certifikata.

Korak 1: Pokrenite Git Bash terminal

Potražite ' Git Bash ” u izborniku Start i pokrenite terminal:

Za provjeru trenutnog imenika koristite ' pwd ” naredba:

pwd

Trenutno radimo u direktoriju %USERPROFILE%:

Korak 2: Stvorite novi imenik

Napravite novi direktorij za spremanje certifikata i privatnog ključa:

mkdir cert

Dođite do novostvorenog imenika koristeći ' CD ” naredba:

CD cert

Korak 3: Generirajte privatni ključ

Sada generirajte privatni ključ kroz zadanu naredbu. Ovdje će generirani privatni ključ biti spremljen u ' mycert.ključ ”:

openssl genpkey -algoritam RSA -van mycert.ključ

Korak 4: Generirajte CSR

Da biste generirali CSR (zahtjev za uslugu certifikata) za dobivanje potpisanog certifikata, koristite zadanu naredbu:

openssl req -novi -ključ mycert.ključ -van mycert.csr

Korak 5: Generirajte certifikat

Na kraju, koristeći generirani privatni ključ i CSR, izradite certifikat i spremite ga u ' mycert.crt ' datoteka. U tu svrhu izvršite naredbu u nastavku:

openssl x509 -req -u mycert.csr -tipka mycert.ključ -van mycert.crt -dani 365

Nakon generiranja TLS certifikata, korisnik može stvoriti tajni TLS slijedeći odjeljak u nastavku.

Kako stvoriti tajni TLS u Kubernetesu?

Kako bi se osigurala sigurnost aplikacije i sigurna komunikacija unutar i izvan Kubernetes klastera, neophodni su TLS (Transport Layer Security) certifikati koji se koriste u šifriranju podataka. Tajna Kubernetesa omogućuje nam ugradnju TLS certifikata s pokrenutim podovima putem tajnog TLS-a. Za izradu tajnog TLS-a u Kubernetesu prođite kroz sljedeće upute.

Korak 1: Pokrenite Minikube Cluster

Da biste pokrenuli minikube klaster, prvo pokrenite Windows PowerShell kao administrator. Nakon toga kreirajte i pokrenite klaster koristeći ' minikube početak ” naredba:

minikube početak

Korak 2: Nabavite čvorove

Pristupite Kubernetes čvoru da provjerite je li klaster pokrenut ili ne:

minikube dobiti čvorove

Korak 3: Stvorite tajni TLS

Stvorite TLS tajnu u Kubernetesu koristeći ' kubectl create secret –cert= –key= ” naredba. Ovdje tajni tip može biti ' generički ', ' tls ', ili ' docker-registar ”. Za izradu TLS tajne, postavili smo vrstu tajne kao 'tls':

kubectl stvoriti tajnu tls demo-tajnu --cert =C:\Korisnici\Dell\cert\mycert.crt --ključ =C:\Korisnici\Dell\cert\mycert.key

Korak 4: Dobijte tajne

Za potvrdu, popišite Kubernetes tajnu koristeći danu naredbu:

kubectl dobiti tajnu

Ovdje možete vidjeti da smo učinkovito stvorili ' demo-tajna ' koji sadrži ' 2 ” vrijednosti podataka:

Korak 5: Opišite tajnu

Da biste vidjeli kako se podaci gledaju ili pohranjuju u tajnosti, opišite tajnu koristeći ' kubectl opišite tajnu ” naredba:

kubectl describe tajna demo-secret

Možete vidjeti da su vrijednosti pohranjene u bajtovima i ne mogu se izravno vidjeti za razliku od Kubernetes ConfigMaps:

Kako stvoriti tajni TLS putem Yaml datoteke?

Da biste stvorili tajni TLS putem yaml datoteke, prvo stvorite ' tajna.yml ” dodajte datoteku tls base64 kodiran certifikat u ' tls.crt ” i dodajte base64 kodirani ključ u ' tls.ključ ”.

Za demonstraciju slijedite navedene korake.

Korak 1: Stvorite Yaml datoteku

Stvorite datoteku pod nazivom ' tajna.yml ” i zalijepite navedeni kod:

apiVerzija : v1

podaci
:

tls.crt
: 'base64 kodirani certifikat'

tls.ključ
: 'base64 kodirani ključ'

ljubazan
: Tajna

metapodaci
:

Ime
: mytls-tajna

imenski prostor
: zadano

tip
: kubernetes.io/tls

U gornjem isječku zamijenite vrijednosti ključa 'tls.crt' i 'tls.key' svojim izvornim certifikatom i vrijednostima ključa:

Korak 2: Stvorite tajnu

Sada primijenite tajnu yaml datoteku putem ' kubectl apply -f ” naredba:

kubectl primijeniti -f tajna.yml

Izlaz pokazuje da smo uspješno stvorili ' mytls-tajna ” koristeći yaml datoteku:

Napomena: pogledajte TLS certifikat i privatni ključ

Da biste vidjeli base64 kodirani certifikat i upotrijebili ga u yaml datoteci, pokrenite ' cat | baza64 ” naredba u git bash terminalu:

mačka mycert.crt | baza64

Kako biste vidjeli base64 kodirani ključ, koristite “ cat | baza64 ” naredba:

mačka mycert.ključ | baza64

Kako ugraditi tajni TLS s Kubernetes Podom?

Nakon što stvori tajni TSL, korisnik ga može ugraditi s Kubernetes podom. Da biste to učinili, upotrijebite sljedeće upute.

Korak 1: Stvorite Yaml datoteku

Napravite datoteku pod nazivom ' pod.yml ” i zalijepite donji isječak u datoteku:

apiVerzija: v1

vrsta: Pod

metapodaci:

naziv: demo-pod

specifikacija:

spremnici:

- naziv: html-kont

slika: rafia098 / html-img: 1.0

envFrom:

- tajniRef:

naziv: demo-tajna

U gornjem isječku:

  • ljubazan ” ključ specificira Kubernetes resurs koji korisnik stvara.
  • Ime ” tipka će postaviti naziv mahune.
  • spremnici ” tipka će pohraniti informacije o spremniku.
  • Ime ” ispod tipke “kontejneri” postavit će naziv spremnika.
  • slika ” ključ će dati aplikaciju ili sliku spremnika za stvaranje i pokretanje aplikacije unutar spremnika.
  • envFrom ” tipka će postaviti varijablu okruženja iz drugih Kubernetes resursa. Ovdje, za ugradnju tajnog TLS-a u pod, ' tajnaRef ” koristi se za pružanje tajne reference. Da biste ugradili gornji tajni TLS, navedite naziv tajne u ključu 'name'.

Korak 2: Stvorite ili nadogradite Pod

Zatim otvorite mapu u kojoj se nalazi ' pod.yml ” kreira se datoteka:

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

Primijenite yaml datoteku za stvaranje ili rekonfiguraciju modula pomoću ' kubectl primijeniti ” naredba:

kubectl primijeniti -f pod.yml

Korak 3: pristupite Kubernetes Podovima

Za provjeru, popišite Kubernetes podove:

kubectl dobiti mahunu

Ovdje možete vidjeti da smo stvorili ' demo-pod ” uspješno:

Korak 4: Opišite pod

Da biste provjerili ima li modul ugrađen tajni TLS ili ne, opišite modul pomoću donje naredbe:

kubectl opisati pod demo-pod

Ispis u nastavku pokazuje da smo uspješno ugradili TLS tajnu s podom:

Objasnili smo kako stvoriti tajni TLS i ugraditi ga u aplikaciju Kubernetes koja se izvodi u modulu.

Zaključak

Da biste stvorili tajni TLS u Kubernetesu, prvo izradite TLS potpisani certifikat i privatni ključ. Nakon toga pokrenite Kubernetes klaster i pokrenite ' kubectl create secret –cert= –key= ” naredba. Korisnici također mogu stvoriti tajni TLS koristeći yaml manifest. Ovaj post je ilustrirao kako stvoriti tajni TLS i kako ugraditi tajni u pokrenutu aplikaciju ili pod.