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-namespaceNå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-namespaceKommandoen 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å CSRNavnet 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
EofKommandoen 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.JSONEtter 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-serverEtter 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å CSRSertifikatet 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.crtTrinn 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.PemOvennevnte 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.PemSom 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.