Legg til et SSL/TLS -sertifikat i Kubernetes Cluster

Legg til et SSL/TLS -sertifikat i Kubernetes Cluster

SSL -sertifikater brukes til å sikre applikasjonen som er laget på Kubernetes for fremtidig sikkerhet. La oss ta et nytt sikkert sertifikat, TLS, som inneholder en veldig sikker privat nøkkel. Sertifikater opprettes med sertifikater: K8R.io api. Vi vil lære om SSL -sertifikatkonfigurasjon ved hjelp av detaljerte eksempler. La oss starte med SSL -sertifikatet i Kubernetes. SSL -sertifikater er veldig viktig for nettlesere. Nettleseren, ved hjelp av SSL- og TLS -sertifikater, oppretter en sikker forbindelse med Kubernetes -tjenester.

Forutsetninger:

Hver bruker må ha Ubuntus siste versjon av systemet sitt. Brukeren av Windows -operativsystemet installerer en virtuell boks og legger til Ubuntu eller Linux praktisk talt til systemet. Brukere må være kjent med Kubernetes, KUBECTL -kommandolinjen, belg og klynger, og kjenner klynge DNS for å forstå dette emnet bedre.

La oss se kort på SSL -sertifikatkonfigurasjon i Kubernetes ved å dele hele prosedyren i forskjellige trinn.

Trinn 1: Start Kubernetes kontrollpanel

Vi vil ha et miljø i vår søknad der vi kan kjøre Kubernetes -kommandoer for å utføre Kubernetes -oppgaver. Som et resultat gir Kubernetes oss en lokalbasert beholder som heter “Minikube.”På hver Kubernetes -applikasjonsstart vil vi starte en Minikube i Kubernetes, som i utgangspunktet er en terminal, som er nødvendig for å kjøre Kubernetes -kommandoer. I dette trinnet kjører vi kommandoen for å initialisere Minikube, som er:

> Minikube Start

Når vi kjører denne kommandoen på systemterminalen vår, starter utførelsen av kommandoen med å trykke på ENTER -knappen. Kommandoen viser oss et skjermbilde under festet skjermbilde.

Trinn 2: Generer forespørsel om sertifikat signering

Etter å ha opprettet en klynge ved å bruke Minikube, ønsker vi nå å opprette en sertifikat signeringsforespørsel. I bytte mot denne handlingen kjører vi kommandoen for å signere sertifikatforespørselen og generere en privat nøkkel.

> katt <

Etter utførelse av spørringen genereres forespørselen med den private nøkkelen. Resultatet er knyttet ovenfor som et skjermbilde.

Trinn 3: Opprett et sertifikat signeringsforespørsel manifest i YAML -filen

I dette trinnet vil vi lage en YAML -filmanifest for å lage en CSR i Kubernetes. Vi kjører kommandoen nedenfor:

> katt <

Etter utførelsen av denne kommandoen opprettes en YAML -fil med hell. Og vi sender den til API -serveren, som vist i vedlagte skjermbilde.

Trinn 4: Få status for sertifikatforespørsel Forespørsel

I dette trinnet vil vi se på CSR -statusen sett gjennom API. Vi kan kjøre den gitte kommandoen for å hente statusen til sertifikatforespørselen.

> Kubectl beskriv CSV MY-SVC.My-namespace

Når kommandoen kjøres, vises CSR -status i utgangen, som vist på vedlagte skjermbilde. Statusen til CSR er "verserende", og denne statusen kommer fra API. Navnet på filen er My-SVC. My-namespace og merknader, ber om bruker og emne, emner alternative navn som har DNS-navn og IP-adresser, hendelser osv. er inkludert i CSR -beskrivelsen. Statusen er "verserende", noe som betyr at CSR -sertifikatet ikke er godkjent ennå.

Trinn 5: CSR -sertifikater godkjenning

CSR -sertifikatets status er fremdeles i påvente av. Så i dette tilfellet vil vi sende en spørring til Kubernetes 'API for å godkjenne CSR -sertifikatet. Vi kjører denne kommandoen for godkjenning:

> Kubectl Certificate godkjenner My-SVC .My-namespace

Kommandoen viser utgangen etter utførelse. En autorisert person, for eksempel Kubernetes -administrasjonen, godkjenner CSR -sertifikatet. Når vi er autoriserte brukere, oppretter vi YAML -filer. Som et resultat blir CSR -sertifikatet enkelt godkjent ved bruk av kommandoen, som vist på skjermdumpen nedenfor for avklaring.

My-SVC.My-namespace er godkjent med suksess gjennom sertifikatene.K8s.io api.

Trinn 6: Hent CSR -sertifikatet i Kubernetes

Vi venter nå på å se om CSR -sertifikatet er godkjent. Så vi vil kjøre kommandoen for å få en liste over alle CSR -sertifikater som for tiden er aktive i systemet. Kjør kommandoen:

> Kubectl Få CSR

Navnet på det godkjente CSR -sertifikatet i Kubernetes vises på vedlagte skjermbilde. Denne kommandoen returnerer navnet, alder, signatørnavn, forespørsel, forespurt varighet og betingelse for CSR -sertifikatet.

Trinn 7: Signer sertifikatet ved å opprette myndighet

I dette trinnet vil vi se hvordan sertifikater er signert i Kubernetes. SSL -sertifikatet er godkjent, men ikke signert ennå. Navnet på signatoren vises på sertifikatet i Kubernetes. Vi kjører kommandoen som den forespurte signatoren signerer sertifikatet. Kommandoen er:

> katt <
"CN": "Mitt eksempel signere",
"nøkkel":
"Algo": "RSA",
"Størrelse": 2048


Eof

Kommandoen kjøres for å signere sertifikatet digitalt. Signer signerer de forespurte sertifikatene og oppdaterer API -statusen med kommandoen, “SSL -sertifikat.”Vi opprettet et signeringssertifikat ved å kjøre kommandoen ovenfor, og resultatet vises i vedlagte skjermbilde. Et unikt serienummer har vellykket blitt brukt til å signere sertifikatet.

Trinn 8: Opprett en JSON -fil for å utstede et sertifikat

Etter sertifikatsigneringen oppretter vi en JSON -fil som vi utsteder et sertifikat. Vi oppretter en JSON -fil ved å kjøre følgende kommando med vedlagte skjermbilde:

> Nano SigningFile.JSON

Etter at kommandoen er utført, opprettes JSON -filen som kan vises på skjermdumpen nedenfor.

Trinn 9: Bruk serversignende-konfigurasjon.JSON

I dette trinnet bruker vi server-signering-konfig-filen som er i JSON for å signere og utstede sertifikatene. Vi kjører kommandoen for sertifikat signering med en privat nøkkelfil.

> Kubectl Få CSR My-SVC.my -namespace -o jsonPath = '.spesifikasjon.forespørsel '| \ Base64 -Decode | \ CFSSL Sign -ca CA.PEM -CA CA-Key Ca-Key.PEM -Config Server-Signing-Config.JSON | \ Cfssljson-Pare CA-signert-server

Etter denne kommandoen er sertifikatet som allerede er definert i JSON -filen, signert. Denne CSRs serienummer genereres. Her genererer vi en signert serveringssertifikatfil som heter “CA-signert-server.Pem.”

Trinn 10: Signert sertifikat Last opp i API -objekt

I dette trinnet laster vi opp det signerte sertifikatet til den ventende API -statusen som vi så ovenfor. Kommandoen for opplasting er:

> Kubectl Få CSR My-SVC.MY -NAMESPACE -O JSON | \ jq '.status.sertifikat = "
'$ (Base64 CA-signert-server.pem | tr -d '\ n') '"' | \
> Kubectl erstatning -Raw /APIer /sertifikater.K8s.IO/V1/CertificateSigningRequests/My-SVC.My -navneområde/status -f -

Når denne kommandoen blir utført, lastes opp det signerte sertifikatet når CSR er godkjent. Skjermbildet som er vedlagt viser oss et JSON -format som laster opp det signerte sertifikatet som API -objekter.

Trinn 11: Våkker godkjente sertifikater i Kubernetes

Vi kjører igjen kommandoen for å vise de godkjente sertifikatene i Kubernetes.

> Kubectl Få CSR

Sertifikatet ble godkjent og vellykket utstedt, som vist på skjermdumpen ovenfor.

Trinn 12: Lagre sertifikatet i systemet

I dette trinnet lærer vi hvordan du laster ned det signerte sertifikatet og bruker det med hell i systemet vårt. Vi distribuerer enkelt sertifikatet på serveren. Kommandoen er:

> Kubectl Få CSR My-SVC.my -namespace -o jsonPath = '.status.sertifikat '\
| Base64 -Decode> Server.crt

Trinn 13: Folker sertifikatet

I dette trinnet lærer vi hvordan vi kan fylle sertifikatet på serveren, slik at vi enkelt kan bruke sertifikatet til websikkerhet. Vi kjører kommandoen:

kalsoom@kalsoom> kubectl opprette hemmelig tls -server -cert server.CRT-Key Server-Key.Pem

Ovennevnte skjermbilde viser oss at TLS Secure eller Secret Server er opprettet med suksess med Name Cert Server.CR og å ha privat nøkkel-servernøkkel.Pem.

Trinn 14: Konfigurer kartlegget sertifikatet

I dette trinnet vil vi konfigurere sertifikatet for å sikre at det er et sikkert serveringssertifikat ved å kjøre kommandoen nedenfor:

> KUBECTL Lag ConfigMap Eksempel-servering-CA-fra-fil Ca.CRT = Ca.Pem

Som vist på vedlagte skjermbilde, opprettes Config Map/Explie-servering-CA med suksess i Kubernetes for en sikker tilkobling på webserveren.

Konklusjon

SSL -sertifikater brukes til å gi sikkerhet til Kubernetes -applikasjoner på webserveren. Vi forklarte hver trinn-i detalj for din forståelse. Du kan også kjøre de samme kommandoene på Kubernetes -applikasjonen din for å installere SSL -sertifikatet.