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?
- Condiție preliminară: generați cheia privată și certificatul
- Cum se creează TLS secret în Kubernetes?
- Cum se creează un secret prin fișierul Yaml?
- Cum să încorporați secretul cu Kubernetes Pod?
- Concluzie
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 certNavigaț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
Pasul 4: Obțineți secrete
Pentru confirmare, enumerați secretul Kubernetes folosind comanda dată:
kubectl devine secretAici, 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
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 : v1date :
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
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ă
Pentru a vizualiza cheia codificată base64, utilizați „ cat
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: v1fel: 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 podAici, 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-podRezultatul 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