Kubectl Copia file da pod a locale

Kubectl Copia file da pod a locale
Quando si utilizza Kubernetes, potrebbe essere necessario trasportare file dentro e fuori i contenitori basati su POD. Abbiamo utilizzato il comando CP per trasferire i dati da e verso le macchine remote prima della containerizzazione e abbiamo usato uno strumento come SCP per farlo. Kubernetes, fortunatamente, ha una caratteristica comparabile. Il comando Kubectl CP completa il comando Kubectl Exec, utilizzando la subresource Exec nell'API di Kubernetes POD. Kubectl CP si basa sul comando TAR, che si trova nel percorso di esecuzione predefinito del contenitore e non esamina direttamente il file system del contenitore. Per una migliore comprensione del comando Kubectl CP, questa guida esaminerà alcuni esempi.

Prima di cominciare:

Useremo Ubuntu 20.04 Sistema operativo Linux per dimostrare come funziona la funzione CP Kubectl. Il sistema operativo utilizzato sarà completamente determinato dalle scelte dell'utente. Dobbiamo prima installare kubectl e quindi impostarlo sulla nostra macchina. L'installazione e la configurazione del minikube sono due dei requisiti essenziali. Inoltre, devi iniziare a utilizzare Minikube. Minikube è una macchina virtuale che gestisce un cluster Kubernetes a nodo singolo. Su Ubuntu 20.04 Sistema Linux, dobbiamo utilizzare il terminale della riga di comando per avviarlo. Apri la shell premendo "Ctrl+Alt+T" sulla tastiera o utilizzando l'applicazione del terminale in Ubuntu 20.04 programmi di sistema Linux. Per iniziare con il cluster minikube, eseguire il comando indicato di seguito.

$ Minikube inizi

Dettagli pod

Assegna un indirizzo IP a un pod quando lo crei. LocalHost può essere usato per unire i contenitori in un pod con un gran numero di essi. È possibile estendere la comunicazione oltre il pod esponendo una porta. Da Kubectl, i comandi get restituiscono i dati in forma tabulare per una o più risorse. I selettori di etichetta possono essere utilizzati per filtrare il contenuto. Le informazioni possono essere fornite solo allo spazio dei nomi correnti o all'intero cluster. Dovremo scegliere un nome per il pod (o i baccelli) con cui vorremmo lavorare. Useremo il comando Kubectl Get Pod per trovare il nome del pod e useremo questi nomi durante gli esempi. Esegui il comando di seguito per vedere un elenco dei pod attualmente disponibili nel sistema.

$ kubectl ottieni baccelli

Abbiamo generato un file nella home directory del nostro sistema. “XYZ.txt ”è il nome del file. Il comando Kubectl CP verrà eseguito da questo file.

$ TOUCT XYZ.TXT

Il file è stato prodotto con successo, come puoi vedere di seguito.

Assicurati di avere tutto ciò di cui avrai bisogno prima di iniziare. Dobbiamo assicurarci che il nostro client Kubernetes sia connesso a un cluster. In secondo luogo, dovremo decidere il nome (o i pod) del pod con cui vorremmo collaborare. Per determinare i nomi del pod, useremo il kubectl ottieni pod e utilizzeremo questi nomi nelle seguenti parti.

Trasferimento di un file da un PC locale a un pod

Supponiamo che dobbiamo spostare alcuni file da un PC locale a un pod. Abbiamo copiato un file locale su un pod chiamato "shell-demo" nell'esempio precedente e abbiamo fornito lo stesso percorso sul pod per riprodurre il file. Vedrai che in entrambi i casi abbiamo seguito un percorso assoluto. Anche i percorsi relativi possono essere impiegati. In Kubernetes, il file viene copiato nella directory di lavoro e non nella directory home, che è una distinzione significativa tra Kubectl CP e tecnologie come SCP.

Il comando Kubectl CP prende due parametri e il primo parametro è l'origine, mentre il secondo sembra essere la destinazione. Come SCP, entrambi i parametri (file di origine e di destinazione) possono fare riferimento a un file locale o remoto senza dubbio.

$ kubectl cp xyz.txt shell-demo: xyz.TXT

Copia il file nella directory corrente del pod

Ora abbiamo creato un nuovo file di testo con il nome "Kalsoom.TXT".

$ touch kalsoom.TXT

Il file viene creato correttamente.

Copierà “kalsoom.txt "dalla directory di lavoro del tuo pod alla directory di lavoro corrente. Digita il seguente comando nella shell del terminale di Ubuntu 20.04 Sistema operativo Linux.

$ kubectl cp shell-demo: kalsoom.txt kalsoom.TXT

Conclusione

Come abbiamo appreso in questo post, il comando Kubectl CP più comunemente usato è copiare i file tra la macchina utente o il cloud e i contenitori. Questo comando copia i file producendo un file TAR nel contenitore, replicandolo alla rete e quindi disimballandolo con l'aiuto di Kubectl sulla workstation dell'utente o sull'istanza del cloud. Il comando kubectl cp è piuttosto utile e utilizzato da molti per il trasferimento di file tra i baccelli di Kubernetes e il sistema locale. Questo comando potrebbe essere utile per eseguire il debug di eventuali registri o file di contenuto che sono emessi a livello locale all'interno del contenitore e se si desidera scaricare il database del contenitore, ad esempio.