Kubernetes Come estrarre un'immagine da un registro privato

Kubernetes Come estrarre un'immagine da un registro privato

I registri sono di due tipi: privato e pubblico. È possibile accedere ai registri pubblici senza credenziali di accesso. Tuttavia, per accedere a un registro privato, è necessario fornire credenziali per accedere. Kubernetes Container Environment funziona con immagini di contenitori e queste immagini vengono salvate nel registro pubblico o privato. Le immagini situate in un repository pubblico sono disponibili per tutti senza alcuna protezione. Tuttavia, se è necessario accedere a un'immagine situata in un registro privato, è necessario disporre di credenziali di accesso per accedere a un registro privato. Questa guida ti insegnerà in dettaglio tutti i passaggi su come estrarre un'immagine da un registro privato.

Prerequisiti:

L'ambiente Kubernetes richiede strumenti di base per consentirti di lavorare al suo interno. Quindi, assicurati, il tuo sistema ha già tutti i seguenti strumenti installati e se non lo sono, fallo prima di spostarsi ulteriormente in questo documento:

  • Ubuntu 20.04 o qualsiasi altra ultima versione
  • Strumento di riga di comando kubectl
  • Cluster Minikube
  • Due nodi generici minimi senza agire come host piano di controllo
  • Strumento della riga di comando Docker o qualsiasi altro registro dei contenitori
  • Docker ID o qualsiasi altro registro dei container con credenziali di accesso

Supponendo di aver preparato il tuo sistema installando tutti i prerequisiti, iniziamo con il processo di estrazione di un'immagine da un registro privato.

Stiamo usando un contenitore Docker in questa guida, quindi questo è appositamente progettato per farti imparare come puoi estrarre un'immagine dal registro privato di un docker.

Quindi, iniziamo questa guida passo-passo che puoi seguire e imparare a tirare l'immagine da un registro privato facilmente.

Passaggio n. 1: avviare il cluster minikube

Dato che stiamo usando il cluster minikube, dobbiamo assicurarci che sia in modalità attiva. Il cluster Minikube può iniziare utilizzando il seguente comando:

kalsoom@kalsoom-virtualbox> minikube

Questo comando ti consente di avviare il cluster minikube in cui è possibile iniziare a eseguire i comandi e l'applicazione. Quando esegui questo comando "Start", otterrai un output simile a quello indicato nell'istantanea seguente:

Passaggio n. 2: controlla nel contenitore Docker

Dal momento che stiamo usando il contenitore Docker e stiamo cercando di accedere a un'immagine situata in un registro privato Docker, dobbiamo accedervi. Dobbiamo fornire il nome di accesso e la password per il registro privato per avere un accesso completo al registro. Ora inserisci il seguente comando sul tuo strumento di riga di comando e accedi all'hub Docker:

kalsoom@kalsoom-virtualbox> login docker

Come mostrato nello screenshot sopra, lo strumento di riga di comando chiede un nome utente e una password per accedere all'hub Docker con docker ID. Qui, puoi fornire le credenziali del tuo ID Docker e avere accesso al registro privato dell'ID associato.

Passaggio n. 3: accedi al file JSON

Quando si accede all'hub Docker con l'ID Docker, la "configurazione.Il file JSON viene aggiornato con il token di autorizzazione. Ciò accade in risposta al processo di accesso e il token di autorizzazione consente di creare la chiave segreta per accedere al registro privato Docker. Immettere il seguente comando sul tuo strumento di riga di comando per ottenere il token di autorizzazione dalla configurazione.File JSON:

kalsoom@kalsoom-virtualbox> gatto ~/.docker/config.JSON

Fare riferimento all'output indicato nello screenshot di seguito:

Passaggio n. 4: crea una chiave segreta

Una chiave segreta è importante per garantire un accesso completamente sicuro al registro privato di Docker. Quindi, useremo la chiave di autorizzazione per creare la chiave segreta sulle credenziali esistenti. Questo ci consentirà di estrarre l'immagine da un registro privato Docker poiché Docker usa il segreto dei Kubernetes.IO/DOCKERCONGIGJSON. Ora, esegui il seguente comando sul tuo terminale e ottieni il segreto sulle credenziali esistenti:

kalsoom@kalsoom-virtualbox> kubectl crea regred generico segreto \

Basta copiare e incollare le credenziali con il comando nel terminale e ottenere il segreto per il tuo registro privato. Fare riferimento all'output indicato di seguito:

Il comando precedente consente di creare il segreto dalle credenziali esistenti se si desidera creare un segreto fornendo le credenziali in fase di esecuzione. Inoltre, puoi farlo eseguendo il comando allegato di seguito:

> kubectl crea register secret registry regcred -docker-server = --Docker-Username = --Docker-Password = --Docker-email =

Qui, il parametro '-docker-server =' prende il nome del tuo server, il parametro '-docker-username =' prende il tuo nome utente, il parametro '-docker-password =' ​​prende la password e il '-docker- email = 'Parameter prende il tuo indirizzo email. Vedere i dati di esempio riportati nello screenshot di seguito:

Questo ha creato un segreto chiamato "Regcred" usando la credenziale fornita nella riga di comando.

Passaggio n. 5: ispezione del segreto

Ora che abbiamo creato il segreto per estrarre l'immagine dal registro privato, dobbiamo ispezionarla per verificare ciò che contiene. Questo ci consentirà di comprendere il contenuto del segreto Regcred. Esegui il seguente comando nel tuo terminale e vedi il segreto Regcred:

> kubectl Get Secret regcred -output = yaml

Poiché il segreto Regcred è archiviato nel file YAML, usando questo comando stiamo cercando di aprire il file YAML contenente il segreto. Vedi l'output indicato di seguito:

I dati sono rappresentati nel formato Base64 e le credenziali sono crittografate con la tecnica di crittografia Base64. Per comprendere il contenuto del segreto Regcred, dobbiamo avere il contenuto in un formato leggibile. Quindi, decrittiamo il segreto in un formato leggibile usando il seguente comando:

> kubectl Get Secret RegCred -Output = JSONPATH = .dati.\.Dockerconfigjson "| Base64 -Decode

Fare riferimento all'output indicato di seguito e vedere il segreto in un formato leggibile:

Passaggio n. 6: crea il file di configurazione

Ora siamo pronti a tirare l'immagine dal registro privato. Quindi, stiamo creando un pod che utilizzerà il segreto che abbiamo creato in precedenza per accedere all'immagine. La definizione di configurazione del pod è mantenuta in un file yaml. Crea un file YAML utilizzando il comando di seguito:

> Nano privato.Yaml

Questo comando ha creato un file YAML in cui è possibile archiviare la definizione di configurazione per la creazione del pod. Vedi la stessa definizione fornita nello screenshot qui sotto:

Passaggio n. 7: scarica il file di configurazione

Ora, scarica il file di configurazione nel sistema e salvalo utilizzando il comando seguente:

> Curl -l -o my-private-reg-pod.Yaml https: // k8s.IO/Esempi/Pods/Private-Reg-Pod.Yaml

Passaggio n. 8: creare il baccello dal file di configurazione

Ora, il nostro file di configurazione è pronto per creare il pod che utilizzerà il segreto. Il seguente comando costruirà il pod:

> kubectl applica -f privato.Yaml

Il pod è stato creato con successo. Quindi, verifichiamo che viene eseguito correttamente usando il seguente comando:

> Kubectl Ottieni pod private-reg

Conclusione

Abbiamo appreso i registri pubblici e privati ​​del Docker Hub e come accedere al repository privato di Docker utilizzando le credenziali. Con l'aiuto di un semplice scenario, abbiamo imparato a accedere all'hub Docker utilizzando le credenziali esistenti e fornendo credenziali in fase di esecuzione. E infine, abbiamo imparato a tirare un'immagine da un registro privato di Docker Hub.