Aggiungi un certificato SSL/TLS al cluster Kubernetes

Aggiungi un certificato SSL/TLS al cluster Kubernetes

I certificati SSL vengono utilizzati per proteggere l'applicazione effettuata su Kubernetes per la sicurezza futura. Prendiamo un altro certificato sicuro, TLS, che contiene una chiave privata molto sicura. I certificati vengono creati con certificati: K8R.IO API. Insegneremo la configurazione del certificato SSL con l'aiuto di esempi dettagliati. Cominciamo con il certificato SSL in Kubernetes. I certificati SSL sono molto importanti per i browser. Il browser, con l'aiuto dei certificati SSL e TLS, crea una connessione sicura con Kubernetes Services.

Prerequisiti:

Ogni utente deve avere l'ultima versione di Ubuntu del proprio sistema. L'utente del sistema operativo Windows installa una casella virtuale e aggiunge Ubuntu o Linux praticamente al sistema. Gli utenti devono avere familiarità con Kubernetes, la riga di comando Kubectl, i baccelli e i cluster e conoscere i DN cluster per comprendere meglio questo argomento.

Diamo un breve sguardo alla configurazione del certificato SSL in Kubernetes rompendo l'intera procedura in diversi passaggi.

Passaggio 1: Avviare il pannello di controllo Kubernetes

Vogliamo un ambiente nella nostra applicazione in cui possiamo eseguire comandi Kubernetes per eseguire le attività di Kubernetes. Di conseguenza, Kubernetes ci fornisce un contenitore basato su locale chiamato "Minikube."Ad ogni inizio dell'applicazione Kubernetes, inizieremo un minikube in Kubernetes, che è fondamentalmente un terminale, necessario per l'esecuzione dei comandi Kubernetes. In questo passaggio, eseguiamo il comando per inizializzare Minikube, che è:

> Minikube Start

Quando eseguiamo questo comando sul nostro terminale di sistema, l'esecuzione del comando si avvia premendo il pulsante INVIO. Il comando ci mostra un risultato di screenshot sotto collegato in cambio.

Passaggio 2: generare richiesta di firma del certificato

Dopo aver creato un cluster utilizzando Minikube, ora vogliamo creare una richiesta di firma del certificato. In cambio di questa azione, eseguiamo il comando per la firma della richiesta di certificato e la generazione di una chiave privata.

> Cat <

Dopo l'esecuzione delle query, la richiesta viene generata correttamente con la chiave privata. Il risultato è collegato sopra come screenshot.

Passaggio 3: creare un manifest di richiesta di firma del certificato nel file YAML

In questo passaggio, creeremo un manifest di file YAML per la creazione di un CSR in Kubernetes. Eseguiamo il comando di seguito:

> Cat <

Seguendo l'esecuzione di questo comando, viene creato correttamente un file YAML. E lo inviamo al server API, come mostrato nello screenshot allegato.

Passaggio 4: ottieni lo stato della richiesta di firma del certificato

In questo passaggio, vedremo lo stato di CSR visto attraverso l'API. Possiamo eseguire il comando dato per recuperare lo stato della richiesta di certificato.

> kubectl Descrivere CSV MY-SVC.My-Namespace

Quando viene eseguito il comando, lo stato CSR viene visualizzato nell'output, come mostrato nello screenshot allegato. Lo stato di CSR è "in sospeso" e questo stato proviene da API. Il nome del file è My-SVC. My-Names Space e annotazioni, Richiesta di utenti e soggetti, nomi alternativi in ​​materia con nomi DNS e indirizzi IP, eventi, ecc. sono inclusi nella descrizione del CSR. Lo stato è "in sospeso", il che significa che il certificato CSR non è stato ancora approvato.

Passaggio 5: Approvazione dei certificati CSR

Lo stato del certificato CSR è ancora in corso. Quindi, in questo caso, invieremo una domanda all'API di Kubernetes per approvare il certificato CSR. Eseguiamo questo comando per l'approvazione:

> Certificato Kubectl approva My-SVC .My-Namespace

Il comando mostra l'output dopo l'esecuzione. Una persona autorizzata, come l'amministrazione Kubernetes, approva il certificato CSR. Dato che siamo utenti autorizzati, creiamo file YAML. Di conseguenza, il certificato CSR è facilmente approvato utilizzando il comando, come mostrato nello screenshot seguente per chiarimenti.

My-SVC.My-Namespace è approvato con successo tramite i certificati.K8S.IO API.

Passaggio 6: recuperare il certificato CSR in Kubernetes

Ora stiamo aspettando di vedere se il certificato CSR è stato approvato. Quindi, eseguiremo il comando per ottenere un elenco di tutti i certificati CSR attualmente attivi nel sistema. Esegui il comando:

> Kubectl Ottieni CSR

Il nome del certificato CSR approvato in Kubernetes è mostrato nello screenshot allegato. Questo comando restituisce il nome, l'età, il nome del firmatario, il richiedente, la durata e le condizioni richieste del certificato CSR.

Passaggio 7: firmare il certificato creando autorità

In questo passaggio, vedremo come i certificati sono firmati in Kubernetes. Il certificato SSL è approvato ma non ancora firmato. Il nome del firmatario appare sul certificato in Kubernetes. Eseguiamo il comando attraverso il quale il firmatario richiesto firma il certificato. Il comando è:

> Cat <
"CN": "Il mio esempio di esempio",
"chiave":
"Algo": "RSA",
"Taglia": 2048


Eof

Il comando viene eseguito per firmare il certificato digitale. Siger firma i certificati richiesti e aggiorna lo stato dell'API con il comando, “Certificato SSL."Abbiamo creato un certificato di firma eseguendo il comando sopra e il risultato è mostrato nello screenshot allegato. Un numero di serie univoco è stato utilizzato con successo per firmare il certificato.

Passaggio 8: crea un file JSON per emettere un certificato

Dopo la firma del certificato, creiamo un file JSON da cui emettiamo un certificato. Creeremo un file JSON eseguendo il seguente comando con lo screenshot allegato:

> Nano SigningFile.JSON

Dopo l'esecuzione del comando, il file JSON viene creato come può essere visualizzato nello screenshot seguente.

PASSAGGIO 9: utilizzare il server-sign-config.JSON

In questo passaggio, utilizziamo il file con segnalazione del server che si trova in JSON per firmare e emettere i certificati. Eseguiamo il comando per la firma del certificato con un file chiave privato.

> Kubectl Ottieni CSR MY-SVC.my -namespace -o jsonpath = '.spec.richiesta '| \ Base64 -Decodifica | \ CFSSL Sign -ca CA.PEM -CA CA-KEY CA-KEY.PEM -Config Server-Signing-Config.JSON | \ cfssljson -bare ca-server

Dopo questo comando, il certificato già definito nel file JSON è firmato. Questo numero di serie di CSR viene generato. Qui, generiamo un file di certificato di servizio firmato chiamato "Server ca-firmato.PEM."

Passaggio 10: caricamento del certificato firmato nell'oggetto API

In questo passaggio, carichiamo il certificato firmato sullo stato dell'API in sospeso che abbiamo visto sopra. Il comando per il caricamento è:

> Kubectl Ottieni CSR MY-SVC.my -namespace -o json | \ jq '.stato.certificato = "
'$ (Base64 Ca-Signed-Server.pem | tr -d '\ n') '"' | \
> Kubectl Sostituisci -Raw /API /Certificati.K8S.IO/V1/CertificatesignEquests/my-SVC.my- namespace/status -f -

Quando questo comando viene eseguito, il certificato firmato viene caricato correttamente ogni volta che il CSR viene approvato. Lo screenshot annesso è stato mostrato un formato JSON che carica il certificato firmato come oggetti API.

Passaggio 11: arruolare i certificati approvati in Kubernetes

Eseguiamo di nuovo il comando per mostrare i certificati approvati in Kubernetes.

> Kubectl Ottieni CSR

Il certificato è stato approvato e rilasciato con successo, come mostrato nello screenshot sopra.

Passaggio 12: salva il certificato nel sistema

In questo passaggio, impareremo come scaricare il certificato firmato e usarlo correttamente nel nostro sistema. Distribuiamo facilmente il certificato sul server. Il comando è:

> Kubectl Ottieni CSR MY-SVC.my -namespace -o jsonpath = '.stato.Certificato '\
| Base64 -Decodifica> Server.Crt

Passaggio 13: popolare il certificato

In questo passaggio, impareremo come popolare il certificato sul server in modo da poter facilmente utilizzare il certificato per la sicurezza web. Eseguiamo il comando:

kalsoom@kalsoom> kubectl Crea server TLS segreto -server di cert.CRT-Key-server-Key.PEM

Lo screenshot sopra attaccato ci mostra che il server sicuro o segreto viene creato correttamente con il server del nome.CR e avere una chiave del server di chiave privata.PEM.

Passaggio 14: config Mappare il certificato

In questo passaggio, configureremo il certificato per assicurarci che si tratti di un certificato di servizio sicuro eseguendo il comando di seguito:

> kubectl Crea configmap Esempio-serving-ca-from-file Ca.CRT = CA.PEM

Come mostrato nello screenshot allegato, la mappa di configurazione/CA-service di esempio viene creata correttamente in Kubernetes per una connessione sicura sul server Web.

Conclusione

I certificati SSL vengono utilizzati per fornire sicurezza alle applicazioni Kubernetes sul server Web. Abbiamo spiegato ogni dettaglio dettagliato per la tua comprensione. Puoi anche eseguire gli stessi comandi sulla tua applicazione Kubernetes per installare il certificato SSL.