Hoe u geheimen kunt decoderen in Kubernetes

Hoe U Geheimen Kunt Decoderen In Kubernetes



Kubernetes is een open-source containerimplementatiesysteem dat containerapplicaties uitvoert binnen het Kubernetes-cluster. Bij de implementatie van applicaties zijn de geheimen een van de essentiële bronnen van Kubernetes. Het wordt gebruikt om kritieke of vertrouwelijke informatie op te slaan, zoals gebruikersnamen en wachtwoorden, API-sleutels, certificaten of tokens. Het bespaart de gebruiker het verstrekken van kritische informatie in code. Het Kubernetes-geheim slaat gegevens niet rechtstreeks op, het transformeert gegevens eerst in een andere vorm en slaat deze vervolgens op in de Kubernetes-bron.

Dit artikel zal illustreren:

Hoe maak je een Kubernetes-geheim?

Er bestaan ​​verschillende soorten geheimen in Kubernetes. Het generieke geheim wordt gebruikt om algemene informatie op te slaan, zoals gebruikersreferenties en tokens, het TLS-geheim wordt gebruikt om het tls-certificaat en de sleutel op te slaan, en het docker-registergeheim slaat de Docker-inloggegevens op.







Ter demonstratie zullen we in de onderstaande instructies een algemeen geheim creëren om de gebruikersnaam en het wachtwoord op te slaan.



Stap 1: Start Cluster

Start eerst het Kubernetes-cluster. Gebruik hiervoor eenvoudigweg de “ minikube starten ” commando:



minikube starten -P meerdere knooppunten

In de bovenstaande opdracht starten we ons multinode minikube-cluster:





Stap 2: Maak een referentiebestand

Maak vervolgens twee tekstbestanden met de naam “gebruikersnaam.txt” en “wachtwoord.txt” om respectievelijk de gebruikersnaam en het wachtwoord op te slaan.



Stap 3: Creëer een geheim

Navigeer vervolgens naar de map waarin u referentiebestanden hebt gemaakt:

CD C:\Users\Dell\Documenten\Kubernetes\Secret

Maak een nieuw geheim met behulp van de “ kubectl maakt geheim commando. Hier de ' -van bestand De optie wordt gebruikt om de geheime gegevens uit het bestand op te slaan:

kubectl maakt een geheim generiek demo-geheim --van bestand = gebruikersnaam =gebruikersnaam.txt --van bestand = wachtwoord =wachtwoord.txt

Stap 4: Krijg geheim

Ter verificatie vermeldt u het geheim met behulp van de onderstaande opdracht

kubectl wordt geheim

De uitvoer geeft aan dat er met succes een nieuw geheim is gemaakt:

Hoe krijg je gedecodeerd geheim in Kubernetes?

Soms kan van gebruikers worden verlangd dat zij de geheime informatie bekijken om verschillende redenen, bijvoorbeeld voor foutopsporingsdoeleinden, het bekijken van inloggegevens ter bevestiging en nog veel meer. Volg de onderstaande demonstratie om het gedecodeerde geheim in Kubernetes te krijgen.

Stap 1: Beschrijf geheim

De ' kubectl beschrijven geeft de gedetailleerde samenvatting van de Kubernetes-bron weer. Om de geheime details te bekijken, gebruikt u de “ kubectl beschrijft geheim ” commando:

kubectl beschrijft geheime demo-geheim

Hier toont het bovenstaande commando de geheime gegevensgrootte alleen in bytes, maar geeft de geheime informatie niet vrij, zoals hieronder weergegeven:

Stap 2: Krijg geheime gegevens in Json-formaat

Gebruik de onderstaande opdracht om de geheime gegevens in json-indeling te krijgen:

kubectl krijgt geheime demo-geheim -O jsonpad = '{.gegevens}'

Het onderstaande resultaat toont de geheime gegevens gecodeerd in base64:

Om het geheim te bekijken, moet de gebruiker het geheim decoderen. Om het geheim van base64 naar echte vorm te decoderen, heeft de gebruiker een bash-terminal nodig om de bash-opdracht uit te voeren. Om de bash-terminal te installeren, volgt u de “ Voeg Git Bash toe aan Windows Terminal ' artikel.

Stap 3: Ontcijfer het geheim

Om het geheim te ontcijferen, start je eerst de “git bash” terminal. Voer daarna de “ echo | base64 –decoderen commando. Deze opdracht kan rechtstreeks worden uitgevoerd op Linux- en Mac-terminals:

echo 'TGludXhoaW50' | basis64 --decoderen

Hier hebben we de gebruikersnaam gedecodeerd:

Om het wachtwoord te decoderen, gebruikt u de “ echo | base64 –decoderen ” commando:

echo 'TGludXhoaW50QDEyMw==' | basis64 --decoderen

Hoe krijg ik een gedecodeerd geheim met behulp van het View-Secret-pakket?

De Kubernetes-gebruikers kunnen het geheim decoderen met behulp van verschillende pakketten en de “ bekijk-geheim ”-pakket is er één van die kan worden geïnstalleerd en eenvoudig kan worden gebruikt via een van de door Kubernetes ondersteunde plug-ins “ Bloed ”. Voor het installeren en gebruiken van de “ bekijk-geheim ”-pakket, volgt u de onderstaande demonstratie:

Voorwaarde: installeer de Krew-plug-in

De Krew-plug-in is een van de Kubernetes-plug-ins die kan worden gebruikt om verschillende pakketten te installeren om extra functionaliteiten aan Kubernetes-bronnen te bieden. Om de Krew op het systeem te installeren, doorloopt u de onderstaande stappen.

Stap 1: Download het bestand “krew.exe”.

Navigeer eerst naar de officiële versie van Krew bladzijde en download het bestand “krew.exe”:

—————————————————————————————————————————-

Standaard wordt krew gedownload in de map “ Downloads map:

Stap 2: Start de opdrachtprompt

Open de opdrachtprompt met beheerdersrechten via de “ Beginnen ”menu:

Stap 3: Installeer Krew

Navigeer naar de map waar de “ bloed.exe ”-bestand is gedownload:

CD C:\Gebruikers\Dell\Downloads

Gebruik vervolgens de onderstaande opdracht om krew op Windows te installeren:

.\bloed installeren bloed

Met het bovenstaande commando wordt de krew in de gebruikersmap geïnstalleerd “ C:\Gebruikers\\.crew\bin ”:

Stap 4: Voeg Krew toe aan het Windows-pad

Om toegang te krijgen tot de Krew-opdrachten vanaf de Windows-opdrachtregel, moeten gebruikers krew toevoegen aan het Windows-pad. Zoek hiervoor naar “ Omgevingsvariabele ' in het Start-menu en start de hieronder gemarkeerde instellingen:

Van de ' Geavanceerd ', open de instellingen 'Omgevingsvariabelen':

Selecteer de ' Pad ”variabele en druk op de “ Bewerking ' knop:

Druk de ' Nieuw ' om een ​​pad toe te voegen, plakt u de ' C:\Gebruikers\\.crew\bin 'pad en druk op de knop'OK':

Stap 5: Verificatie

Sluit nu alle Windows-terminals en start de opdrachtprompt of PowerShell. Voer vervolgens de onderstaande opdracht uit om te controleren of krew is geïnstalleerd of niet:

kubectl-bloed

De uitvoer laat zien dat we Krew met succes op het systeem hebben geïnstalleerd:

Decodeer het Kubernetes-geheim met behulp van het View-Secret-pakket

Om het geheim te decoderen met behulp van het view-secret-pakket, installeert u eerst het geheim met behulp van krew. Gebruik daarna de “ kubectl view-secret 'opdracht om het geheim te decoderen. Bekijk ter illustratie de onderstaande stappen.

Stap 1: Installeer het View-Secret-pakket

Om het view-secret-pakket te installeren, gebruikt u de Kubectl krew-plug-in, zoals hieronder weergegeven:

kubectl-bloed installeren bekijk-geheim

Je kunt zien dat we het view-secret-pakket hebben geïnstalleerd. Negeer ook de onderstaande waarschuwing:

Stap 2: Bekijk Kubernetes Secret

Om vervolgens het door Kubernetes gedecodeerde geheim te bekijken, gebruikt u de “ kubectl view-secret ” commando:

kubectl bekijk-geheim demo-geheim

Hier laat de uitvoer zien dat het huidige geheim twee variabelen bevat. Om de gedecodeerde waarde te bekijken, moet de gebruiker ook de naam van de variabele opgeven in de opdracht:

Stap 3: Ontcijfer het geheim

Om de geheime waarde te decoderen, gebruikt u de “ kubectl view-secret ” commando:

kubectl view-secret demo-geheime gebruikersnaam

Hier hebben we de gebruikersnaam gedecodeerd:

Door de variabelenaam in het bovenstaande commando te wijzigen, hebben we toegang gekregen tot het wachtwoord zoals hieronder weergegeven:

kubectl view-secret demo-geheim wachtwoord

Dat gaat allemaal over het verkrijgen van een gedecodeerd geheim in Kubernetes.

Conclusie

Om het gedecodeerde geheim in Kubernetes te krijgen, moet u eerst toegang krijgen tot de geheime gegevens in json-indeling via de opdracht “kubectl get secret”. Deze opdracht toont geheime gegevens gecodeerd in base64. Om de gegevens te decoderen, gebruikt u de “ echo | base64 –decoderen commando. Als alternatief kan de gebruiker het gedecodeerde geheim bekijken met behulp van het “view-secret” -pakket. Deze blog heeft geïllustreerd hoe u gedecodeerde geheimen in Kubernetes kunt verkrijgen.