SSL-sertifikater brukes for å sikre applikasjonen som er laget på Kubernetes for fremtidig sikkerhet. La oss ta et annet 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 svært viktige for nettlesere. Nettleseren, ved hjelp av SSL- og TLS-sertifikater, skaper en sikker forbindelse med Kubernetes-tjenester.
Forutsetninger:
Hver bruker må ha Ubuntus nyeste versjon av systemet sitt. Brukeren av Windows-operativsystemet installerer en virtuell boks og legger til Ubuntu eller Linux virtuelt til systemet. Brukere må være kjent med Kubernetes, kubectl-kommandolinjen, pods og klynger, og kjenne til klynge-DNS for å forstå dette emnet bedre.
La oss ta en kort titt på SSL-sertifikatkonfigurasjon i Kubernetes ved å dele opp hele prosedyren i forskjellige trinn.
Trinn 1: Start Kubernetes kontrollpanel
Vi ønsker et miljø i applikasjonen vår der vi kan kjøre Kubernetes-kommandoer for å utføre Kubernetes-oppgaver. Som et resultat gir Kubernetes oss en lokalbasert beholder kalt 'minikube.' Ved hver oppstart av Kubernetes-applikasjonen vil vi starte en minikube i Kubernetes, som i utgangspunktet er en terminal som kreves for å kjøre Kubernetes-kommandoer. I dette trinnet kjører vi kommandoen for å initialisere Minikube, som er:
> start minikube
Når vi kjører denne kommandoen på systemterminalen vår, starter utførelsen av kommandoen ved å trykke på enter-knappen. Kommandoen viser oss et skjermbilderesultat som er vedlagt nedenfor.
Trinn 2: Generer forespørsel om sertifikatsignering
Etter å ha opprettet en klynge ved å bruke Minikube, ønsker vi nå å opprette en sertifikatsigneringsforespørsel. I bytte for denne handlingen kjører vi kommandoen for å signere sertifikatforespørselen og generere en privat nøkkel.
> katt << EOF | cfssl genkey - | cfssljson -bare server
Etter utførelse av spørringen er forespørselen vellykket generert med den private nøkkelen. Resultatet er vedlagt ovenfor som et skjermbilde.
Trinn 3: Opprett et sertifikatsigneringsforespørselsmanifest i YAML-filen
I dette trinnet vil vi lage et YAML-filmanifest for å lage en CSR i Kubernetes. Vi kjører kommandoen nedenfor:
> katt << EOF | kubectl gjelder -f –Etter utførelse av denne kommandoen, opprettes en YAML-fil. Og vi sender den til API-serveren, som vist på vedlagte skjermbilde.
Trinn 4: Få status for forespørsel om sertifikatsignering
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 beskriver csv my-svc.my-namespace
Når kommandoen kjøres, vises CSR-statusen i utgangen, som vist i vedlagte skjermbilde. Statusen til CSR er 'venter', og denne statusen kommer fra API. Navnet på filen er my-svc. my-namespace og merknader, forespørrende bruker og emne, emnealternativer med DNS-navn og IP-adresser, hendelser osv. er inkludert i CSR-beskrivelsen. Statusen er 'venter', noe som betyr at CSR-sertifikatet ikke er godkjent ennå.
Trinn 5: Godkjenning av CSR-sertifikater
CSR-sertifikatets status er fortsatt under behandling. Så i dette tilfellet vil vi sende en forespørsel til Kubernetes' API for å godkjenne CSR-sertifikatet. Vi kjører denne kommandoen for godkjenning:
> kubectl-sertifikat godkjenne my-svc .my-namespaceKommandoen viser utdata etter utførelse. En autorisert person, for eksempel Kubernetes-administrasjonen, godkjenner CSR-sertifikatet. Siden vi er autoriserte brukere, lager vi YAML-filer. Som et resultat kan CSR-sertifikatet enkelt godkjennes ved hjelp av kommandoen, som vist på skjermbildet nedenfor for avklaring.
my-svc.my-namespace er godkjent gjennom certificates.k8s.io API.
Trinn 6: Hent CSR-sertifikatet i Kubernetes
Vi venter nå på om CSR-sertifikatet er godkjent. Så vi kjører kommandoen for å få en liste over alle CSR-sertifikater som for øyeblikket er aktive i systemet. Kjør kommandoen:
> kubectl få csrNavnet på det godkjente CSR-sertifikatet i Kubernetes vises i vedlagte skjermbilde. Denne kommandoen returnerer navn, alder, underskrivernavn, forespørsel, forespurt varighet og tilstand for CSR-sertifikatet.
Trinn 7: Signer sertifikatet av opprettende myndighet
I dette trinnet vil vi se hvordan sertifikater signeres i Kubernetes. SSL-sertifikatet er godkjent, men ikke signert ennå. Navnet på underskriveren vises på sertifikatet i Kubernetes. Vi kjører kommandoen som den forespurte signeren signerer sertifikatet gjennom. Kommandoen er:
> katt << EOF | cfssl genart -initca - | cfssljson – bar ca{
'CN' : 'Min eksempelunderskriver' ,
'nøkkel' : {
'noe' : '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 blitt brukt til å signere sertifikatet.
Trinn 8: Opprett en JSON-fil for å utstede et sertifikat
Etter sertifikatsigneringen lager vi en JSON-fil som vi utsteder et sertifikat fra. Vi vil opprette en JSON-fil ved å kjøre følgende kommando med vedlagte skjermbilde:
> nano signeringfile.jsonEtter at kommandoen er utført, opprettes JSON-filen som kan ses på skjermbildet nedenfor.
Trinn 9: Bruk Server-Signing-config.json
I dette trinnet bruker vi server-signing-config-filen som er i JSON for å signere og utstede sertifikatene. Vi kjører kommandoen for sertifikatsignering med en privat nøkkelfil.
> kubectl få csr my-svc.my-namespace -De jsonpath =' { .spec.request } ’ | \ base64 --dekode | \ cfssl tegn -at ca.pem -ca ca-nøkkel ca-key.pem -konfig server-signering-config.json | \ cfssljson -bare ca-signert-server
Etter denne kommandoen signeres sertifikatet som allerede er definert i json-filen. Serienummeret til denne CSR genereres. Her genererer vi en signert serveringssertifikatfil kalt 'ca-signed-server.pem.'
Trinn 10: Signert sertifikatopplasting 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 -De json | \ jq '.status.certificate = '' $ ( base64 ca-signed-server.pem | tr -d '\n' ) ''' | \
> kubectl erstatte --rå / apis / sertifikater.k8s.io / v1 / sertifikatsigneringsforespørsler / my-svc.my- navneområde / status -f -
Når denne kommandoen utføres, lastes det signerte sertifikatet opp når CSR-en godkjennes. Skjermbildet vedlagt ovenfor viser oss et JSON-format som laster opp det signerte sertifikatet som API-objekter.
Trinn 11: Få 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å skjermbildet ovenfor.
Trinn 12: Lagre sertifikatet i systemet
I dette trinnet lærer vi hvordan du laster ned det signerte sertifikatet og bruker det vellykket i systemet vårt. Vi distribuerer enkelt sertifikatet på serveren. Kommandoen er:
> kubectl få csr my-svc.my-namespace -De jsonpath = '{.status.certificate}' \| base64 --dekode > server.crt
Trinn 13: Fyll ut sertifikatet
I dette trinnet lærer vi hvordan du fyller ut sertifikatet på serveren slik at vi enkelt kan bruke sertifikatet for nettsikkerhet. Vi kjører kommandoen:
Kalsoom @ Kalsoom > kubectl opprette hemmelig tls-server --sert server.crt --nøkkel server-nøkkel.pem
Det vedlagte skjermbildet ovenfor viser oss at TLS sikker eller hemmelig server er opprettet vellykket med navnet cert server.cr og har privat nøkkel server-key.pem.
Trinn 14: Konfigurer Kartlegg sertifikatet
I dette trinnet vil vi konfigurere sertifikatet for å sikre at det er et sikkert serveringssertifikat ved å kjøre kommandoen nedenfor:
> kubectl create configmap example-serving-ca --fra-fil ca.crt=ca.pem
Som vist i det vedlagte skjermbildet, er konfigurasjonskartet/eksempel-serving-ca opprettet i Kubernetes for en sikker tilkobling på webserveren.
Konklusjon
SSL-sertifikater brukes for å gi sikkerhet til Kubernetes-applikasjoner på webserveren. Vi forklarte hvert trinn i detalj for din forståelse. Du kan også kjøre de samme kommandoene på Kubernetes-applikasjonen for å installere SSL-sertifikatet.