Cum se creează TLS secret în Kubernetes

Cum Se Creeaza Tls Secret In Kubernetes



Kubernetes este un instrument open-source care este utilizat pentru a executa și gestiona aplicația containerizată din cluster. Îndeplinește diverse sarcini pentru a controla, rula și securiza acreditările aplicației prin secret și intrare.

Ingress este utilizat pentru a gestiona traficul de intrare în aplicație și, de asemenea, pentru terminarea SSL. În schimb, secretele sunt folosite pentru a stoca informații confidențiale și certificate TLS pentru aplicare.

Această postare va ilustra:







Care sunt secretele Kubernetes?

Secretele sunt una dintre resursele Kubernetes, utilizate pentru a stoca informații confidențiale, cum ar fi acreditările de conectare ale utilizatorului, cheile, certificatele sau jetoanele. Secretele pot fi create individual și conectate la poduri. Împiedică dezvoltatorul să furnizeze date confidențiale în cod și oferă, de asemenea, un nivel suplimentar de securitate. Pot fi create și folosite diferite tipuri de secrete. Cele mai des folosite secrete sunt:



Secret generic: Secretele generice sunt utilizate pentru a stoca informații de bază, cum ar fi parole, jetoane, chei API, chei OAuth și așa mai departe.



Secret TLS: Secretele TLS sunt folosite pentru a stoca cheile private și certificatele care sunt semnate de CA. Pentru a asigura securitatea aplicațiilor care rulează în Kubernetes și pentru a securiza comunicarea în cadrul clusterului, utilizatorul trebuie de obicei să creeze și să încorporeze secrete TLS în pod.





Registrul Docker: Este folosit pentru a stoca acreditările de registru docker pentru a extrage cu ușurință imaginile din registru.

Condiție preliminară: generați cheia privată și certificatul

Pentru a crea certificatul și cheia privată pentru îmbunătățirea securității, utilizați OpenSSL care creează CSR (cererea de semnare a certificatului) și cheia privată. Apoi, utilizați CSR pentru a genera certificatele autosemnate sau CA.



Pentru a utiliza comenzile OpenSSL pe Windows, utilizatorii trebuie să instaleze Git. În acest scop, urmați linkul nostru „ Instalați git pe Windows ' articol.

După instalarea git, urmați instrucțiunile de mai jos pentru a genera o cheie privată și un certificat semnat.

Pasul 1: Lansați Git Bash Terminal

Căutați „ Git Bash ” în meniul Start și lansați terminalul:

Pentru a verifica directorul curent, utilizați „ pwd ”comandă:

pwd

În prezent, lucrăm în directorul %USERPROFILE%:

Pasul 2: Creați un director nou

Creați un director nou pentru a salva certificatele și cheia privată:

mkdir cert

Navigați la directorul nou creat folosind butonul „ CD ”comandă:

CD cert

Pasul 3: Generați cheia privată

Acum, generați cheia privată prin comanda dată. Aici, cheia privată generată va fi salvată în „ mycert.key ”:

openssl genpkey -algoritm RSA - afară mycert.key

Pasul 4: Generați CSR

Pentru a genera CSR (cerere de serviciu de certificat) pentru a obține un certificat semnat, utilizați comanda dată:

openssl req -nou -cheie mycert.key - afară mycert.csr

Pasul 5: Generați certificatul

În cele din urmă, folosind cheia privată generată și CSR, creați un certificat și salvați-l în „ mycert.crt ” dosar. În acest scop, executați comanda de mai jos:

openssl x509 -req -în mycert.csr -cheie de semn mycert.key - afară mycert.crt -zile 365

După generarea certificatelor TLS, utilizatorul poate crea TLS secret urmând secțiunea de mai jos.

Cum se creează TLS secret în Kubernetes?

Pentru a asigura securitatea aplicației și comunicarea securizată în interiorul și în afara clusterului Kubernetes, certificatele TLS (Transport Layer Security) sunt esențiale care sunt utilizate în criptarea datelor. Secretul Kubernetes ne permite să încorporam certificatul TLS cu pod-uri care rulează prin TLS secret. Pentru a crea un TLS secret în Kubernetes, urmați următoarele instrucțiuni.

Pasul 1: Porniți Minikube Cluster

Pentru a porni clusterul minikube, mai întâi, lansați Windows PowerShell ca administrator. După aceea, creați și rulați clusterul folosind „ minikube începe ”comandă:

minikube începe

Pasul 2: Obțineți noduri

Accesați nodul Kubernetes pentru a verifica dacă clusterul este pornit sau nu:

minikube obține noduri

Pasul 3: Creați TLS secret

Creați secretul TLS în Kubernetes folosind „ kubectl create secret –cert= –key= ” comanda. Aici, tipul secret poate fi „ generic ', ' tls ”, sau “ docker-registry ”. Pentru a crea un secret TLS, am setat tipul de secret ca „tls”:

kubectl creați secret tls demo-secret --cert =C:\Utilizatori\Dell\cert\mycert.crt --cheie =C:\Utilizatori\Dell\cert\mycert.key

Pasul 4: Obțineți secrete

Pentru confirmare, enumerați secretul Kubernetes folosind comanda dată:

kubectl devine secret

Aici, puteți vedea că am creat efectiv un „ demo-secret „care conține „ 2 ” valorile datelor:

Pasul 5: Descrieți secretul

Pentru a vedea cum sunt vizualizate sau stocate datele în secret, descrieți secretul utilizând „ kubectl descrie secret ”comandă:

kubectl descrie secret demo-secret

Puteți vedea că valorile sunt stocate în octeți și nu pot fi vizualizate direct, spre deosebire de Kubernetes ConfigMaps:

Cum se creează un TLS secret prin fișierul Yaml?

Pentru a crea un TLS secret printr-un fișier yaml, mai întâi creați un „ secret.yml ” fișier, adăugați certificat codificat tls base64 în ' tls.crt ” și adăugați tasta cheie codificată base64 în ' tls.key ”.

Pentru demonstrație, urmați pașii enumerați.

Pasul 1: Creați fișierul Yaml

Creați un fișier numit „ secret.yml ” și lipiți codul dat:

apiVersion : v1

date
:

tls.crt
: „cert codificat în bază64”

tls.key
: „cheie codificată în bază64”

drăguț
: Secret

metadate
:

Nume
: mytls-secret

spatiu de nume
: Mod implicit

tip
: kubernetes.io/tls

În fragmentul de mai sus, înlocuiți valorile cheii „tls.crt” și „tls.key” cu certificatul și valorile cheii originale:

Pasul 2: Creați un secret

Acum, aplicați fișierul secret yaml prin intermediul „ kubectl aplică -f ”comandă:

se aplică kubectl -f secret.yml

Rezultatul arată că am creat cu succes „ mytls-secret ” folosind fișierul yaml:

Notă: Vedeți certificatul TLS și cheia privată

Pentru a vedea certificatul codificat base64 și a-l utiliza în fișierul yaml, rulați „ pisică | baza64 ”comandă în terminalul git bash:

pisică mycert.crt | baza64

Pentru a vizualiza cheia codificată base64, utilizați „ cat | baza64 ”comandă:

pisică mycert.key | baza64

Cum să încorporați TLS secret cu Pod Kubernetes?

După crearea TSL-ului secret, utilizatorul îl poate încorpora în podul Kubernetes. Pentru a face acest lucru, utilizați următoarele instrucțiuni.

Pasul 1: Creați fișierul Yaml

Faceți un fișier numit „ pod.yml ” și inserați fragmentul de mai jos în fișier:

apiVersion: v1

fel: Pod

metadate:

nume: demo-pod

specificație:

containere:

- nume: html-cont

imagine: rafia098 / html-img: 1.0

envFrom:

- secretRef:

nume: demo-secret

În fragmentul de mai sus:

  • drăguț cheia ” specifică resursa Kubernetes pe care utilizatorul o creează.
  • Nume tasta ” va seta numele podului.
  • containere tasta ” va stoca informațiile containerului.
  • Nume tasta ” de sub tasta „containere” va seta numele containerului.
  • imagine tasta ” va furniza aplicația sau imaginea containerului pentru a crea și a porni aplicația în interiorul containerului.
  • envFrom ” va seta variabila de mediu din alte resurse Kubernetes. Aici, pentru a încorpora TLS secret într-un pod, „ secretRef ” este folosit pentru a furniza o referință secretă. Pentru a încorpora secretul TLS de mai sus, specificați numele secretului în cheia „nume”.

Pasul 2: Creați sau actualizați Podul

Apoi, deschideți folderul în care „ pod.yml ” este creat fișierul:

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

Aplicați fișierul yaml pentru a crea sau reconfigura podul utilizând „ se aplică kubectl ”comandă:

se aplică kubectl -f pod.yml

Pasul 3: Accesați podurile Kubernetes

Pentru verificare, enumerați podurile Kubernetes:

kubectl obține pod

Aici, puteți vedea că am creat „ demo-pod ' cu succes:

Pasul 4: Descrieți podul

Pentru a verifica dacă podul a încorporat TLS secret sau nu, descrieți podul folosind comanda de mai jos:

kubectl descrie pod demo-pod

Rezultatul de mai jos arată că am încorporat cu succes secretul TLS cu pod:

Am explicat cum să creați TLS secret și să îl încorporați în aplicația Kubernetes care rulează în pod.

Concluzie

Pentru a crea TLS secret în Kubernetes, creați mai întâi certificatul semnat TLS și cheia privată. După aceea, porniți cluster-ul Kubernetes și rulați „ kubectl create secret –cert= –key= ” comanda. De asemenea, utilizatorii pot crea TLS secret folosind manifestul yaml. Această postare a ilustrat cum să creați secretul TLS și cum să încorporați secretul cu o aplicație sau un pod care rulează.