Sådan bliver hemmeligheden afkodet i Kubernetes

Sadan Bliver Hemmeligheden Afkodet I Kubernetes



Kubernetes er et open source containerimplementeringssystem, der kører containeriserede applikationer inde i Kubernetes-klyngen. I applikationsimplementering er hemmelighederne en af ​​de væsentlige ressourcer i Kubernetes. Det bruges til at gemme kritiske eller fortrolige oplysninger som brugernavne og adgangskoder, API-nøgler, certifikater eller tokens. Det sparer brugeren for at levere kritisk information i kode. Kubernetes-hemmeligheden gemmer ikke data direkte, den transformerer først data til en anden form og gemmer dem derefter i Kubernetes-ressourcen.

Denne artikel vil illustrere:

Hvordan opretter man en Kubernetes-hemmelighed?

Forskellige typer hemmeligheder findes i Kubernetes, den generiske hemmelighed bruges til at gemme generiske oplysninger som brugeroplysninger og tokens, TLS-hemmeligheden bruges til at gemme tls-certifikat og nøgle, og docker-registrets hemmelighed gemmer Docker-loginoplysningerne.







Til demonstration vil vi oprette en generisk hemmelighed til at gemme brugernavn og adgangskode i instruktionerne nedenfor.



Trin 1: Start Cluster

Start først Kubernetes-klyngen. For at gøre det skal du blot bruge ' minikube start kommando:



minikube start -s multinode

I ovenstående kommando starter vi vores multinode minikube-klynge:





Trin 2: Opret legitimationsfil

Opret derefter to tekstfiler med navnet 'username.txt' og 'password.txt' for at gemme henholdsvis brugernavnet og adgangskoden.



Trin 3: Opret hemmelighed

Derefter skal du navigere til den mappe, hvor du har oprettet legitimationsfiler:

cd C:\Users\Dell\Documents\Kubernetes\Secret

Opret en ny hemmelighed ved at bruge ' kubectl opret hemmelig ” kommando. Her er ' -fra-fil ' mulighed bruges til at gemme de hemmelige data fra filen:

kubectl opret hemmelig generisk demo-hemmelighed --fra-fil = brugernavn =brugernavn.txt --fra-fil = adgangskode =password.txt

Trin 4: Bliv hemmelig

For verifikation skal du liste hemmeligheden ned ved at bruge nedenstående kommando

kubectl bliver hemmelig

Outputtet indikerer, at en ny hemmelighed er oprettet med succes:

Hvordan får man afkodet hemmelighed i Kubernetes?

Nogle gange kan brugere blive bedt om at se de hemmelige oplysninger af forskellige årsager, såsom til fejlfindingsformål, visning af legitimationsoplysninger til bekræftelse og mange flere. Følg nedenstående demonstration for at få den afkodede hemmelighed i Kubernetes.

Trin 1: Beskriv hemmeligheden

Det ' kubectl beskrive ” viser den detaljerede oversigt over kubernetes-ressourcen. For at se de hemmelige detaljer skal du bruge ' kubectl beskriver hemmeligheden kommando:

kubectl beskriver hemmelig demo-hemmelighed

Her viser kommandoen ovenfor kun hemmelig datastørrelse i bytes, men afslører ikke den hemmelige information som vist nedenfor:

Trin 2: Få hemmelige data i Json-format

For at få de hemmelige data i json-format, brug nedenstående kommando:

kubectl får hemmelig demo-hemmelighed -O jsonpath = '{.data}'

Nedenstående resultat viser de hemmelige data indkodet i base64:

For at se hemmeligheden skal brugeren afkode hemmeligheden. For at afkode hemmeligheden fra base64 til ægte form, skal brugeren have en bash-terminal for at køre bash-kommandoen. For at installere bash-terminalen, følg ' Tilføj Git Bash til Windows Terminal ' artikel.

Trin 3: Afkod hemmeligheden

For at afkode hemmeligheden skal du først starte 'git bash'-terminalen. Kør derefter ' echo | base64 –afkode ” kommando. Denne kommando kan udføres direkte på Linux- og Mac-terminaler:

ekko 'TGludXhoaW50' | base64 --afkode

Her har vi afkodet brugernavnet:

For at afkode adgangskoden skal du bruge ' echo | base64 –afkode kommando:

ekko 'TGludXhoaW50QDEyMw==' | base64 --afkode

Hvordan får man afkodet hemmelighed ved hjælp af View-Secret Package?

Kubernetes-brugerne kan afkode hemmeligheden ved hjælp af forskellige pakker og ' udsigts-hemmelighed '-pakken er en af ​​dem, der kan installeres og nemt bruges gennem et af de Kubernetes-understøttede plugins ' Blod ”. For at installere og bruge ' udsigts-hemmelighed pakke, følg nedenstående demonstration:

Forudsætning: Installer Krew Plugin

Krew-pluginnet er et af Kubernetes-plugins, der kan bruges til at installere forskellige pakker for at give ekstra funktionaliteter til Kubernetes-ressourcer. Gå gennem nedenstående trin for at installere krew på systemet.

Trin 1: Download 'krew.exe' fil

Først skal du navigere til den officielle krew-udgivelser side og download 'krew.exe' filen:

——————————————————————————————————————————

Som standard vil krew blive downloadet i ' Downloads ' mappe:

Trin 2: Start kommandoprompten

Åbn kommandoprompten med administrative rettigheder via ' Start op ” menu:

Trin 3: Installer Krew

Naviger til den mappe, hvor ' blood.exe ' fil downloades:

cd C:\Users\Dell\Downloads

Brug derefter nedenstående kommando til at installere krew på Windows:

.\blod installere blod

Ovenstående kommando vil installere krew i brugermappen ' C:\Users\ \.crew\bin ”:

Trin 4: Tilføj Krew til Windows Path

For at få adgang til Krew-kommandoer fra Windows-kommandolinjen skal brugere tilføje krew i Windows-stien. For at gøre det, søg efter ' Miljøvariabel ” i Start-menuen og start de nedenfor fremhævede indstillinger:

Fra ' Fremskreden '-fanen, skal du åbne indstillingerne for 'Environment Variables':

Vælg ' Sti variabel og tryk på ' Redigere ” knap:

Tryk på ' Ny '-knappen for at tilføje en sti, indsæt ' C:\Users\ \.crew\bin '-sti, og tryk på 'OK'-knappen:

Trin 5: Bekræftelse

Luk nu alle Windows-terminaler og start kommandoprompten eller PowerShell. Kør derefter nedenstående kommando for at kontrollere, om krew er installeret eller ej:

kubectl blod

Outputtet viser, at vi med succes har installeret krew på systemet:

Afkod Kubernetes-hemmeligheden ved hjælp af View-Secret-pakken

For at afkode hemmeligheden ved hjælp af view-secret-pakken, skal du først installere hemmeligheden ved hjælp af krew. Brug derefter ' kubectl view-secret ” kommando til at afkode hemmeligheden. For illustration, se nedenstående trin.

Trin 1: Installer View-Secret Package

For at installere view-secret-pakken skal du bruge Kubectl krew plugin som vist nedenfor:

kubectl blod installere udsigts-hemmelighed

Du kan se, at vi har installeret view-secret-pakken. Ignorer også den nedenfor viste advarsel:

Trin 2: Se Kubernetes Secret

For at se den Kubernetes afkodede hemmelighed skal du bruge ' kubectl view-secret kommando:

kubectl view-secret demo-secret

Her viser outputtet, at den aktuelle hemmelighed indeholder to variable. For at se den afkodede værdi skal brugeren også angive variabelnavnet i kommandoen:

Trin 3: Afkod hemmeligheden

For at afkode den hemmelige værdi skal du bruge ' kubectl view-secret kommando:

kubectl view-secret demo-secret brugernavn

Her har vi afkodet brugernavnet:

Ved at ændre variabelnavnet i kommandoen ovenfor, har vi fået adgang til adgangskoden som vist nedenfor:

kubectl view-secret demo-secret password

Det handler om at få en afkodet hemmelighed i Kubernetes.

Konklusion

For at få den afkodede hemmelighed i Kubernetes skal du først få adgang til de hemmelige data i json-format gennem kommandoen 'kubectl get secret'. Denne kommando vil vise hemmelige data kodet i base64. For at afkode dataene skal du bruge ' echo | base64 –afkode ” kommando. Alternativt kan brugeren se den afkodede hemmelighed ved at bruge pakken 'view-secret'. Denne blog har illustreret, hvordan man får afkodede hemmeligheder i Kubernetes.