Come ottenere la decodifica segreta in Kubernetes

Come Ottenere La Decodifica Segreta In Kubernetes



Kubernetes è un sistema di distribuzione di contenitori open source che esegue applicazioni containerizzate all'interno del cluster Kubernetes. Nella distribuzione delle applicazioni, i segreti sono una delle risorse essenziali di Kubernetes. Viene utilizzato per archiviare informazioni critiche o riservate come nomi utente e password, chiavi API, certificati o token. Evita all'utente di fornire informazioni critiche nel codice. Il segreto Kubernetes non archivia direttamente i dati, li trasforma prima in un altro formato e quindi li archivia nella risorsa Kubernetes.

Questo articolo illustrerà:

Come creare un segreto Kubernetes?

In Kubernetes esistono diversi tipi di segreti: il segreto generico viene utilizzato per archiviare informazioni generiche come credenziali utente e token, il segreto TLS viene utilizzato per archiviare il certificato e la chiave tls e il segreto del registro docker archivia le credenziali di accesso Docker.







A scopo dimostrativo, creeremo un segreto generico per memorizzare nome utente e password nelle istruzioni seguenti.



Passaggio 1: avviare il cluster

Innanzitutto, avvia il cluster Kubernetes. Per fare ciò, è sufficiente utilizzare il pulsante “ Inizio minikube 'comando:



Inizio minikube -P multinodo

Nel comando precedente, stiamo avviando il nostro cluster minikube multinodo:





Passaggio 2: crea il file delle credenziali

Successivamente, crea due file di testo denominati 'username.txt' e 'password.txt' per salvare rispettivamente il nome utente e la password.



Passaggio 3: crea il segreto

Successivamente, vai alla directory in cui hai creato i file delle credenziali:

CD C:\Utenti\Dell\Documenti\Kubernetes\Secret

Crea un nuovo segreto utilizzando il comando ' kubectl create secret 'comando. Ecco, il “ -dal file L'opzione ' viene utilizzata per salvare i dati segreti dal file:

kubectl crea segreto demo-segreto generico --dal file = nome utente =nomeutente.txt --dal file = parola d'ordine =password.txt

Passaggio 4: ottieni il segreto

Per verifica, elenca il segreto utilizzando il comando seguente

kubectl diventa segreto

L'output indica che un nuovo segreto è stato creato correttamente:

Come ottenere il segreto decodificato in Kubernetes?

A volte agli utenti potrebbe essere richiesto di visualizzare le informazioni segrete per diversi motivi, ad esempio a scopo di debug, visualizzazione delle informazioni sulle credenziali per conferma e molto altro. Per ottenere il segreto decodificato in Kubernetes, segui la dimostrazione di seguito.

Passaggio 1: descrivere il segreto

IL ' kubectl descrivi ' visualizza il riepilogo dettagliato della risorsa Kubernetes. Per visualizzare i dettagli segreti, utilizzare il pulsante ' kubectl descrive il segreto 'comando:

kubectl descrive il demo-segreto segreto

In questo caso, il comando precedente mostra la dimensione dei dati segreti solo in byte ma non espone le informazioni segrete come mostrato di seguito:

Passaggio 2: ottieni i dati segreti in formato JSON

Per ottenere i dati segreti in formato json, utilizzare il comando seguente:

kubectl ottieni demo-segreto segreto -O jsonpath = '{.dati}'

Il risultato seguente mostra i dati segreti codificati in base64:

Per visualizzare il segreto, l'utente deve decodificarlo. Per decodificare il segreto da base64 alla forma reale, l'utente deve disporre di un terminale bash per eseguire il comando bash. Per installare il terminale bash, seguire il ' Aggiungi Git Bash al terminale Windows ' articolo.

Passaggio 3: decodificare il segreto

Per decodificare il segreto, avvia prima il terminale 'git bash'. Successivamente, esegui ' echo | base64 –decodifica 'comando. Questo comando può essere eseguito direttamente su terminali Linux e Mac:

eco 'TGludXhoaW50' | base64 --decodificare

Qui abbiamo decodificato il nome utente:

Per decodificare la password, utilizzare il pulsante “ echo | base64 –decodifica 'comando:

eco 'TGludXhoaW50QDEyMw==' | base64 --decodificare

Come ottenere il segreto decodificato utilizzando il pacchetto View-Secret?

Gli utenti Kubernetes possono decodificare il segreto utilizzando diversi pacchetti e il ' vista-segreta ' è uno di questi che può essere installato e utilizzato facilmente tramite uno dei plugin supportati da Kubernetes ' Sangue ”. Per installare e utilizzare il “ vista-segreta 'pacchetto, seguire la dimostrazione seguente:

Prerequisito: installare il plugin Krew

Il plugin Krew è uno dei plugin Kubernetes che può essere utilizzato per installare diversi pacchetti per fornire funzionalità extra alle risorse Kubernetes. Per installare la krew sul sistema, seguire i passaggi seguenti.

Passaggio 1: Scarica il file 'krew.exe'.

Per prima cosa, accedi alle versioni ufficiali della krew pagina e scarica il file “krew.exe”:

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

Per impostazione predefinita, krew verrà scaricato nella sezione ' Download ' cartella:

Passaggio 2: avviare il prompt dei comandi

Aprire il prompt dei comandi con diritti amministrativi tramite il pulsante ' Avviare ' menù:

Passaggio 3: installa Krew

Passare alla directory in cui si trova il ' blood.exe ' viene scaricato il file:

CD C:\Utenti\Dell\Download

Successivamente, utilizza il comando seguente per installare krew su Windows:

.\sangue installare sangue

Il comando precedente installerà krew nella directory dell'utente “ C:\Utenti\\.crew\bin ':

Passaggio 4: aggiungi Krew al percorso di Windows

Per accedere ai comandi Krew dalla riga di comando di Windows, gli utenti devono aggiungere krew nel percorso di Windows. Per fare ciò, cerca ' Variabile d'ambiente 'nel menu Start e avvia le impostazioni evidenziate di seguito:

Dal ' Avanzate ', aprire le impostazioni 'Variabili d'ambiente':

Seleziona il ' Sentiero ' variabile e premere il tasto ' Modificare pulsante ':

Premi il ' Nuovo ' per aggiungere un percorso, incolla il ' C:\Utenti\\.crew\bin ' percorso e premere il pulsante 'OK':

Passaggio 5: verifica

Ora chiudi tutti i terminali Windows e avvia il prompt dei comandi o PowerShell. Quindi, esegui il comando seguente per verificare se krew è installato o meno:

sangue kubectl

L'output mostra che abbiamo installato con successo krew sul sistema:

Decodifica il segreto Kubernetes utilizzando il pacchetto View-Secret

Per decodificare il segreto utilizzando il pacchetto view-secret, installare prima il segreto utilizzando krew. Successivamente, utilizzare il ' kubectl view-secret 'comando per decodificare il segreto. Per illustrazione, guarda i passaggi seguenti.

Passaggio 1: installare il pacchetto View-Secret

Per installare il pacchetto view-secret, utilizza il plugin Kubectl krew come mostrato di seguito:

sangue kubectl installare vista-segreta

Puoi vedere che abbiamo installato il pacchetto view-secret. Ignora anche l'avviso mostrato di seguito:

Passaggio 2: visualizza il segreto Kubernetes

Successivamente, per visualizzare il segreto decodificato Kubernetes, utilizzare il pulsante ' kubectl view-secret 'comando:

kubectl view-secret demo-secret

Qui, l'output mostra che il segreto corrente contiene due variabili. Per visualizzare il valore decodificato, l'utente deve specificare anche il nome della variabile nel comando:

Passaggio 3: decodificare il segreto

Per decodificare il valore segreto, utilizzare il comando ' kubectl view-secret 'comando:

Nome utente demo-segreto kubectl view-secret

Qui abbiamo decodificato il nome utente:

Modificando il nome della variabile nel comando precedente, abbiamo avuto accesso alla password come mostrato di seguito:

kubectl view-secret demo-password segreta

Si tratta solo di ottenere un segreto decodificato in Kubernetes.

Conclusione

Per ottenere il segreto decodificato in Kubernetes, accedi innanzitutto ai dati segreti in formato json tramite il comando “kubectl get secret”. Questo comando mostrerà i dati segreti codificati in base64. Per decodificare i dati, utilizzare il pulsante “ echo | base64 –decodifica 'comando. In alternativa, l'utente può visualizzare il segreto decodificato utilizzando il pacchetto 'view-secret'. Questo blog ha illustrato come ottenere segreti decodificati in Kubernetes.