Ingress brukes til å administrere innkommende trafikk til applikasjoner og også for SSL-avslutning. Derimot brukes hemmeligheter til å lagre konfidensiell informasjon og TLS-sertifikater for søknad.
Dette innlegget vil illustrere:
- Hva er Kubernetes-hemmelighetene?
- Forutsetning: Generer privat nøkkel og sertifikat
- Hvordan lage hemmelig TLS i Kubernetes?
- Hvordan lage en hemmelighet gjennom Yaml-fil?
- Hvordan bygge inn hemmelighet med Kubernetes Pod?
- Konklusjon
Hva er Kubernetes-hemmelighetene?
Hemmelighetene er en av Kubernetes-ressursene som brukes til å lagre konfidensiell informasjon som brukerpåloggingsinformasjon, nøkler, sertifikater eller tokens. Hemmelighetene kan lages individuelt og kobles til pods. Det forhindrer utvikleren i å gi konfidensielle data i kode og gir også et ekstra lag med sikkerhet. Ulike typer hemmeligheter kan skapes og brukes. De mest brukte hemmelighetene er:
Generisk hemmelighet: De generiske hemmelighetene brukes til å lagre grunnleggende informasjon som passord, tokens, API-nøkler, OAuth-nøkler og så videre.
TLS-hemmelighet: TLS-hemmeligheter brukes til å lagre private nøkler og sertifikater som er signert av CA. For å sikre sikkerheten til applikasjoner som kjører inne i Kubernetes og for å sikre kommunikasjon i klyngen, må brukeren vanligvis opprette og bygge inn TLS-hemmeligheter i poden.
Docker Registry: Den brukes til å lagre docker-registerlegitimasjonen for å enkelt trekke bildene fra registret.
Forutsetning: Generer privat nøkkel og sertifikat
For å opprette sertifikatet og den private nøkkelen for sikkerhetsforbedring, bruk OpenSSL som oppretter CSR (sertifikatsigneringsforespørsel) og den private nøkkelen. Bruk deretter CSR til å generere de selvsignerte eller CA-sertifikatene.
For å bruke OpenSSL-kommandoene på Windows, må brukere installere Git. For dette formålet, følg vår tilknyttede ' Installer git på Windows ' artikkel.
Etter å ha installert git, følg instruksjonene nedenfor for å generere en privat nøkkel og signert sertifikat.
Trinn 1: Start Git Bash Terminal
Foreta et søk etter ' Git Bash ' i Start-menyen og start terminalen:
For å sjekke gjeldende katalog, bruk ' pwd ' kommando:
pwdFor øyeblikket jobber vi i %USERPROFILE%-katalogen:
Trinn 2: Opprett ny katalog
Opprett en ny katalog for å lagre sertifikatene og den private nøkkelen:
mkdir certNaviger til den nyopprettede katalogen ved å bruke ' cd ' kommando:
cd cert
Trinn 3: Generer privat nøkkel
Generer nå den private nøkkelen gjennom den gitte kommandoen. Her vil den genererte private nøkkelen bli lagret i ' mycert.key ':
openssl genpkey -algoritme RSA -ute mycert.key
Trinn 4: Generer CSR
For å generere CSR (sertifikattjenesteforespørsel) for å få et signert sertifikat, bruk den gitte kommandoen:
openssl rekv -ny -nøkkel mycert.key -ute mycert.csr
Trinn 5: Generer sertifikat
Til slutt, bruk den genererte private nøkkelen og CSR, opprett et sertifikat og lagre det i ' mycert.crt ' fil. For dette formålet, utfør kommandoen nedenfor:
openssl x509 -rekv -i mycert.csr -skilt mycert.key -ute mycert.crt -dager 365
Etter å ha generert TLS-sertifikatene, kan brukeren opprette den hemmelige TLS ved å følge avsnittet nedenfor.
Hvordan lage hemmelig TLS i Kubernetes?
For å sikre applikasjonssikkerhet og sikker kommunikasjon innenfor og utenfor Kubernetes-klyngen, er TLS-sertifikatene (Transport Layer Security) avgjørende som brukes i datakryptering. Kubernetes-hemmeligheten lar oss bygge inn TLS-sertifikatet med løpende pods gjennom hemmelig TLS. For å lage en hemmelig TLS i Kubernetes, gå gjennom følgende instruksjoner.
Trinn 1: Start Minikube Cluster
For å starte minikube-klyngen, start først Windows PowerShell som administrator. Deretter oppretter og kjører du klyngen ved å bruke ' minikube start ' kommando:
minikube start
Trinn 2: Få noder
Gå til Kubernetes-noden for å sjekke om klyngen er startet eller ikke:
minikube få noder
Trinn 3: Lag hemmelig TLS
Lag TLS-hemmeligheten i Kubernetes ved å bruke ' kubectl opprette hemmelig
Trinn 4: Få hemmeligheter
For bekreftelse, skriv ned Kubernetes-hemmeligheten ved å bruke den gitte kommandoen:
kubectl blir hemmeligHer kan du se at vi effektivt har laget en ' demo-hemmelig ' som inneholder ' 2 ' dataverdier:
Trinn 5: Beskriv hemmeligheten
For å se hvordan data blir sett på eller lagret i hemmelighet, beskriv hemmeligheten ved å bruke ' kubectl beskriver hemmelig
Du kan se verdier er lagret i byte og kan ikke vises direkte i motsetning til Kubernetes ConfigMaps:
Hvordan lage en hemmelig TLS gjennom Yaml-fil?
For å lage en hemmelig TLS gjennom en yaml-fil, må du først opprette en ' hemmelig.yml ”-filen, legg til tls base64-kodet sertifikat i « tls.crt ”-tasten, og legg til base64-kodet nøkkel i « tls.key '.
Følg trinnene som er oppført for demonstrasjon.
Trinn 1: Lag Yaml-fil
Lag en fil med navnet ' hemmelig.yml ' og lim inn den gitte koden:
apiVersjon : v1data :
tls.crt : 'base64-kodet sertifikat'
tls.key : 'base64-kodet nøkkel'
snill : Hemmelig
metadata :
Navn : mytls-hemmelig
navneområde : misligholde
type : kubernetes.io/tls
I kodebiten ovenfor erstatter du nøkkelverdiene 'tls.crt' og 'tls.key' med ditt originale sertifikat og nøkkelverdier:
Trinn 2: Lag en hemmelighet
Bruk nå den hemmelige yaml-filen gjennom ' kubectl gjelder -f
Utdataene viser at vi har opprettet ' mytls-hemmelig ' ved å bruke yaml-fil:
Merk: Se TLS-sertifikat og privat nøkkel
For å se det base64-kodede sertifikatet og bruke det i yaml-filen, kjør ' cat
For å se den base64-kodede nøkkelen, bruk ' cat
Hvordan bygge inn hemmelig TLS med Kubernetes Pod?
Etter å ha opprettet den hemmelige TSL-en, kan brukeren bygge den inn med Kubernetes-poden. For å gjøre det, bruk følgende instruksjoner.
Trinn 1: Lag Yaml-fil
Lag en fil som heter ' pod.yml ' fil og lim inn kodebiten nedenfor i filen:
apiVersjon: v1type: Pod
metadata:
navn: demo-pod
spesifikasjon:
beholdere:
- navn: html-forts
bilde: rafia098 / html-img: 1.0
envFra:
- hemmelig Ref:
navn: demo-hemmelig
I utdraget ovenfor:
- ' snill ”-tasten spesifiserer Kubernetes-ressursen som brukeren oppretter.
- ' Navn ”-tasten vil angi podnavnet.
- ' containere ”-tasten vil lagre beholderinformasjonen.
- ' Navn '-tasten under 'containere'-tasten vil angi beholdernavnet.
- ' bilde ”-tasten vil gi applikasjonen eller beholderbildet for å opprette og starte applikasjonen inne i beholderen.
- ' envFra ”-tasten vil sette miljøvariabelen fra andre Kubernetes-ressurser. Her, for å bygge inn den hemmelige TLS i en pod, ' hemmeligRef ' brukes til å gi en hemmelig referanse. For å bygge inn den hemmelige TLS ovenfor, spesifiser navnet på hemmeligheten i 'navn'-tasten.
Trinn 2: Opprett eller oppgrader poden
Deretter åpner du mappen der ' pod.yml ' fil er opprettet:
cd C:\Users\Dell\Documents\Kubernetes\Secret
Bruk yaml-filen for å opprette eller rekonfigurere poden ved å bruke ' kubectl gjelder ' kommando:
kubectl gjelder -f pod.yml
Trinn 3: Få tilgang til Kubernetes Pods
For verifisering, skriv ned Kubernetes-podene:
kubectl få podHer kan du se at vi har laget ' demo-pod ' vellykket:
Trinn 4: Beskriv Poden
For å sjekke om poden har innebygd den hemmelige TLS eller ikke, beskriv poden ved å bruke kommandoen nedenfor:
kubectl beskrive pod demo-podUtdataene nedenfor viser at vi har innebygd TLS-hemmeligheten med pod:
Vi har dekket hvordan du lager hemmelig TLS og bygger det inn med Kubernetes-applikasjonen som kjører i poden.
Konklusjon
For å opprette den hemmelige TLS i Kubernetes, oppretter du først det TLS-signerte sertifikatet og den private nøkkelen. Etter det, start Kubernetes-klyngen og kjør ' kubectl opprette hemmelig