Esegui Bash in un pod con kubectl?

Esegui Bash in un pod con kubectl?
Questo articolo dimostra come ottenere una shell in un contenitore in esecuzione usando KubeCtl Exec. Questo articolo dovrebbe essere fatto su un cluster con un minimo di due nodi che non controllano gli host del piano. Puoi usare minikube per costruire un cluster se attualmente non ne hai uno.

Per eseguire le istruzioni in Kubernetes, avrai bisogno di Ubuntu 20.04 distribuito sul sistema operativo Linux. Per eseguire Kubernetes su Linux, dovrai anche installare il cluster minikube sul tuo PC. Minikube rende semplice testare comandi e programmatori consentendo di farlo sistematicamente. Di conseguenza, offre ai novizi la migliore esperienza di apprendimento Kubernetes possibile. Il cluster di minikube dovrebbe essere avviato per primo. Vai al terminale del prompt dei comandi appena installato in Ubuntu 20.04. Usando il tasto di scelta rapida Ctrl+Alt+T o inserendo "Terminal" in Ubuntu 20.04 Casella di ricerca del sistema, potresti farlo. Entrambi i modi precedenti inizieranno completamente il minikube sulla shell del terminale. Il minikube sarà avviato dopo.

$ Minikube inizi

Digita "Minikube Start" nel terminale per avviare il minikube. Il cluster Kubernetes verrà lanciato dopo che è stata costruita una macchina virtuale in grado di gestire un singolo cluster di nodi. Funzionerà anche con l'ambiente kubectl. Ecco come il cluster interagirà con te.

Ottieni una shell in un contenitore in esecuzione

Innanzitutto, abbiamo creato un file usando il comando touch. È usato per creare un file che non ha alcun contenuto. Il comando touch ha generato un file vuoto. Questo comando può essere utilizzato anche se l'utente non ha dati da archiviare quando viene creato il file.

$ touch shell.Yaml

Con il comando touch, puoi creare un singolo file alla volta. Vedi la seguente screenshot per un'idea migliore. Il tocco, come tutti gli altri comandi, ha una varietà di possibilità. Queste opzioni possono essere utilizzate per diversi scopi. Per creare un numero enorme di file contemporaneamente, usa il comando touch. Questi file non conterrebbero alcun dato quando sono stati creati.

Abbiamo creato con successo un pod con un contenitore. L'immagine Nginx è eseguita dal contenitore. Il file di configurazione del pod è il seguente:

Naturalmente, sei libero di utilizzare un'immagine o una shell diversa. Di seguito sono menzionati alcuni argomenti:

My-shell: Il nome della distribuzione che viene prodotta di solito prende il nome da questo. Questo sarà il titolo del pod con un ID univoco alla sua fine.

-RM: Quando si stacciamo, eliminiamo tutte le risorse che abbiamo prodotto. Questo pulisce la distribuzione e il pod dopo aver chiuso la sessione.

-i/-tty: È la combinazione di questi due che ci consente di unirci a una sessione interattiva.

-: Separa l'arg posizionale dalla fine delle opzioni di esecuzione di kubectl (bash).

Bash: Scora il cmd del contenitore con bash. Desideriamo usare Bash come comando del nostro contenitore in questo scenario.

Ora il pod viene creato correttamente con questo comando.

$ kubectl applicare -f shell.Yaml

Il comando seguente (GET POD) può essere utilizzato per testare correttamente che il contenitore sia in esecuzione.

$ kubectl Get pod shell-demo

Il comando Kubectl Exec viene utilizzato per eseguire i comandi all'interno dei baccelli Kubernetes usando i contenitori Docker. È anche possibile acquisire una shell interattiva in un contenitore Docker in esecuzione all'interno di un pod usando questo comando.

Il comando Kubectl Exec ti consente di avviare una sessione di shell all'interno dei contenitori del cluster Kubernetes. Quando i registri da soli non sono sufficienti, utilizzare questo comando per indagare sul file system del contenitore, controllare lo stato dell'ambiente e utilizzare ulteriori strumenti di debug. Il modo migliore per ottenere una shell in un contenitore Kubernetes è utilizzare Kubectl Exec. È stato creato espressamente a questo scopo ed eliminato tutte le complicazioni con la determinazione di quale nodo fisico connettersi.

Non c'è nulla che ti impedisca di modificare il contenitore con Kubectl Exec perché ti dà un accesso completo a shell. Ciò consente di installare ulteriori pacchetti software per aiutare nella risoluzione dei problemi.

Elenca la directory principale nella shell. All'interno del contenitore, digitare "LS /".

Apertura della console ogni volta che un pod ha due o più contenitori

Considera il seguente scenario: hai due contenitori chiamati main-app e helper-app nel tuo pod chiamato my-pod. Il comando seguente avvia una shell nel contenitore di app per main.

$ kubectl exec -i -t my -pod -contener main -app - /bin /bash

Conclusione

In questo articolo, abbiamo imparato a eseguire il comando bash con kubectl e i prerequisiti di eseguire le istruzioni in kubernetes. Inoltre, abbiamo anche attraversato le basi del comando Touch and Exec e per questo scopo vengono utilizzati.