Come creare TLS segreto in Kubernetes

Come Creare Tls Segreto In Kubernetes



Kubernetes è uno strumento open source utilizzato per eseguire e gestire l'applicazione containerizzata all'interno del cluster. Esegue varie attività per controllare, eseguire e proteggere le credenziali dell'applicazione tramite segreti e ingressi.

Ingress viene utilizzato per gestire il traffico in entrata dell'applicazione e anche per la terminazione SSL. Al contrario, i segreti vengono utilizzati per archiviare informazioni riservate e certificati TLS per l'applicazione.

Questo post illustrerà:







Quali sono i segreti di Kubernetes?

I segreti sono una delle risorse Kubernetes, utilizzata per archiviare informazioni riservate come credenziali di accesso dell'utente, chiavi, certificati o token. I segreti possono essere creati singolarmente e collegati ai pod. Impedisce allo sviluppatore di fornire dati riservati nel codice e fornisce anche un ulteriore livello di sicurezza. È possibile creare e utilizzare diversi tipi di segreti. I segreti più comunemente usati sono:



Segreto generico: I segreti generici vengono utilizzati per archiviare informazioni di base come password, token, chiavi API, chiavi OAuth e così via.



Segreto TLS: I segreti TLS vengono utilizzati per archiviare chiavi private e certificati firmati dalla CA. Per garantire la sicurezza delle applicazioni in esecuzione all'interno di Kubernetes e per proteggere la comunicazione all'interno del cluster, l'utente in genere deve creare e incorporare segreti TLS nel pod.





Registro Docker: Viene utilizzato per archiviare le credenziali del registro docker per estrarre facilmente le immagini dal registro.

Prerequisito: generare chiave privata e certificato

Per creare il certificato e la chiave privata per migliorare la sicurezza, utilizzare OpenSSL che crea la CSR (richiesta di firma del certificato) e la chiave privata. Quindi, utilizzare CSR per generare i certificati autofirmati o CA.



Per utilizzare i comandi OpenSSL su Windows, gli utenti devono installare Git. A questo scopo, segui il nostro link “ Installa git su Windows ' articolo.

Dopo aver installato git, seguire le istruzioni seguenti per generare una chiave privata e un certificato firmato.

Passaggio 1: avvia Git Bash Terminal

Effettua una ricerca per “ Vai Bash ' nel menu Start e avviare il terminale:

Per controllare la directory corrente utilizzare il comando ' pwd 'comando:

pwd

Attualmente stiamo lavorando nella directory %USERPROFILE%:

Passaggio 2: crea una nuova directory

Crea una nuova directory per salvare i certificati e la chiave privata:

mkdir cert

Passare alla directory appena creata utilizzando il pulsante ' CD 'comando:

CD cert

Passaggio 3: genera la chiave privata

Ora genera la chiave privata tramite il comando fornito. Qui, la chiave privata generata verrà salvata in “ mycert.key ':

openssl genpkey -algoritmo RSA -fuori mycert.key

Passaggio 4: generare CSR

Per generare la CSR (richiesta di servizio certificato) per ottenere un certificato firmato, utilizzare il comando indicato:

openssl richiesto -nuovo -chiave mycert.key -fuori mycert.csr

Passaggio 5: generazione del certificato

Infine, utilizzando la chiave privata generata e la CSR, crea un certificato e salvalo nella cartella ' mycert.crt ' file. A questo scopo, esegui il comando seguente:

apresl x509 -rich -In mycert.csr -signkey mycert.key -fuori mycert.crt -giorni 365

Dopo aver generato i certificati TLS, l'utente può creare il TLS segreto seguendo la sezione seguente.

Come creare TLS segreto in Kubernetes?

Per garantire la sicurezza dell'applicazione e la comunicazione protetta all'interno e all'esterno del cluster Kubernetes, sono essenziali i certificati TLS (Transport Layer Security) utilizzati nella crittografia dei dati. Il segreto Kubernetes ci consente di incorporare il certificato TLS con i pod in esecuzione tramite TLS segreto. Per creare un TLS segreto in Kubernetes, segui le seguenti istruzioni.

Passaggio 1: avvia Minikube Cluster

Per avviare il cluster minikube, avviare innanzitutto Windows PowerShell come amministratore. Successivamente, crea ed esegui il cluster utilizzando il comando ' Inizio minikube 'comando:

Inizio minikube

Passaggio 2: ottieni i nodi

Accedi al nodo Kubernetes per verificare se il cluster è avviato o meno:

minikube ottiene i nodi

Passaggio 3: crea TLS segreto

Crea il segreto TLS in Kubernetes utilizzando ' kubectl create secret –cert= –key= 'comando. In questo caso, il tipo segreto può essere ' generico ', ' tls ', O ' registro-docker ”. Per creare un segreto TLS, abbiamo impostato il tipo di segreto come “tls”:

kubectl crea segreto tls demo-segreto --cert =C:\Utenti\Dell\cert\mycert.crt --chiave =C:\Utenti\Dell\cert\mycert.key

Passaggio 4: ottieni segreti

Per conferma, elenca il segreto Kubernetes utilizzando il comando indicato:

kubectl diventa segreto

Qui puoi vedere che abbiamo effettivamente creato un ' demo-segreto ' quello contiene ' 2 ' valori dei dati:

Passaggio 5: descrivere il segreto

Per vedere come i dati vengono visualizzati o archiviati in segreto, descrivi il segreto utilizzando il simbolo ' kubectl descrive il segreto 'comando:

kubectl descrive il demo-segreto segreto

Puoi vedere che i valori sono archiviati in byte e non possono essere visualizzati direttamente a differenza di Kubernetes ConfigMaps:

Come creare un TLS segreto tramite il file Yaml?

Per creare un TLS segreto tramite un file yaml, crea innanzitutto un file ' segreto.yml ', aggiungi il file certificato codificato tls base64 nel ' tls.crt ' e aggiungi il file chiave codificata base64 nel ' tls.chiave ”.

Per la dimostrazione, seguire i passaggi elencati.

Passaggio 1: crea il file Yaml

Crea un file denominato ' segreto.yml ' e incolla il codice indicato:

apiVersion : v1

dati
:

tls.crt
: 'Certificato codificato base64'

tls.chiave
: 'chiave codificata base64'

Tipo
: Segreto

metadati
:

nome
: mytls-segreto

spazio dei nomi
: predefinito

tipo
: kubernetes.io/tls

Nello snippet sopra, sostituisci i valori chiave 'tls.crt' e 'tls.key' con il certificato originale e i valori chiave:

Passaggio 2: crea un segreto

Ora applica il file yaml segreto tramite il pulsante “ kubectl apply -f 'comando:

kubectl si applica -F segreto.yml

L'output mostra che abbiamo creato con successo il ' mytls-segreto 'utilizzando il file yaml:

Nota: visualizzare il certificato TLS e la chiave privata

Per visualizzare il certificato con codifica base64 e utilizzarlo nel file yaml, eseguire il comando ' cat | base64 'comando nel terminale git bash:

gatto mycert.crt | base64

Per visualizzare la chiave codificata base64, utilizzare ' cat | base64 'comando:

gatto mycert.key | base64

Come incorporare TLS segreto con Kubernetes Pod?

Dopo aver creato il TSL segreto, l'utente può incorporarlo nel pod Kubernetes. Per fare ciò, utilizzare le seguenti istruzioni.

Passaggio 1: crea il file Yaml

Crea un file denominato ' pod.yml ' e incolla lo snippet seguente nel file:

APIVersione: v1

tipo: Pod

metadati:

nome: demo-pod

specifica:

contenitori:

- nome: html-cont

immagine: rafia098 / html-img: 1.0

envDa:

- Rif. segreto:

nome: demo-segreto

Nello snippet sopra:

  • Tipo La chiave ' specifica la risorsa Kubernetes che l'utente sta creando.
  • nome Il tasto ' imposterà il nome del pod.
  • contenitori Il tasto memorizzerà le informazioni sul contenitore.
  • nome ' sotto il tasto 'containers' imposterà il nome del contenitore.
  • Immagine La chiave ' fornirà l'applicazione o l'immagine del contenitore per creare e avviare l'applicazione all'interno del contenitore.
  • envFrom ' imposterà la variabile di ambiente da altre risorse Kubernetes. Ecco, per incorporare il TLS segreto in un pod, ' segretoRif ' viene utilizzato per fornire un riferimento segreto. Per incorporare il TLS segreto di cui sopra, specificare il nome del segreto nella chiave 'name'.

Passaggio 2: crea o aggiorna il pod

Successivamente, apri la cartella in cui si trova il ' pod.yml ' viene creato il file:

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

Applica il file yaml per creare o riconfigurare il pod utilizzando il comando ' kubectl si applica 'comando:

kubectl si applica -F pod.yml

Passaggio 3: accedi ai pod Kubernetes

Per verifica, elenca i pod Kubernetes:

kubectl ottieni pod

Qui puoi vedere che abbiamo creato il ' demo-pod ' con successo:

Passaggio 4: descrivi il pod

Per verificare se il pod ha incorporato o meno il TLS segreto, descrivi il pod utilizzando il comando seguente:

kubectl descrive pod demo-pod

L'output seguente mostra che abbiamo incorporato con successo il segreto TLS nel pod:

Abbiamo spiegato come creare un TLS segreto e incorporarlo con l'applicazione Kubernetes in esecuzione nel pod.

Conclusione

Per creare il TLS segreto in Kubernetes, crea innanzitutto il certificato firmato TLS e la chiave privata. Successivamente, avvia il cluster Kubernetes ed esegui il comando “ kubectl create secret –cert= –key= 'comando. Gli utenti possono anche creare il TLS segreto utilizzando il manifest yaml. Questo post ha illustrato come creare il TLS segreto e come incorporare il segreto con un'applicazione o un pod in esecuzione.