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?
- Preduvjet: Generirajte privatni ključ i certifikat
- Kako stvoriti tajni TLS u Kubernetesu?
- Kako stvoriti tajnu putem Yaml datoteke?
- Kako ugraditi tajnu s Kubernetes Podom?
- Zaključak
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:
pwdTrenutno radimo u direktoriju %USERPROFILE%:
Korak 2: Stvorite novi imenik
Napravite novi direktorij za spremanje certifikata i privatnog ključa:
mkdir certDođ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
Korak 4: Dobijte tajne
Za potvrdu, popišite Kubernetes tajnu koristeći danu naredbu:
kubectl dobiti tajnuOvdje 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
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 : v1podaci :
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
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
Kako biste vidjeli base64 kodirani ključ, koristite “ cat
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: v1vrsta: 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 mahunuOvdje 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-podIspis 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