Führen Sie Bash in einem Pod mit Kubectl aus?

Führen Sie Bash in einem Pod mit Kubectl aus?
Dieser Artikel zeigt, wie man eine Shell mit Kubectl Exec in einen laufenden Container einbringt. Dieser Artikel sollte auf einem Cluster mit mindestens zwei Knoten erfolgen, die die Ebenen der Ebenen nicht steuern. Sie können mit Minikube einen Cluster konstruieren, wenn Sie derzeit keine haben.

Um die Anweisung in Kubernetes auszuführen, benötigen Sie Ubuntu 20.04 auf Ihrem Linux -Betriebssystem bereitgestellt. Um Kubernetes unter Linux auszuführen, müssen Sie auch den Minikube -Cluster auf Ihrem PC installieren. Minikube macht es einfach, Befehle und Programmierer zu testen, indem Sie es systematisch tun können. Infolgedessen gibt es den Anfängern die bestmögliche Kubernetes -Lernerfahrung. Der Minikube -Cluster sollte zuerst gestartet werden. Gehen Sie zum neu installierten Eingabeaufforderungsanschluss in Ubuntu 20.04. Durch die Verwendung des Strg+Alt+T -Verknüpfungsschlüssel.04 Suchbox des Systems, Sie könnten dies tun. Bei einer der vorhergehenden Wege wird das Minikube vollständig auf der Terminalschale eingeleitet. Der Minikube wird danach gestartet.

$ minikube Start

Geben Sie "Minikube Start" in das Terminal ein, um die Minikube zu starten. Der Kubernetes -Cluster wird gestartet, nachdem eine virtuelle Maschine, die in der Lage ist, einen einzelnen Knotencluster zu betreiben, erstellt wurde. Es wird auch mit der Kubectl -Umgebung funktionieren. So wird der Cluster mit Ihnen interagieren.

Holen Sie sich eine Schale in einen laufenden Behälter

Zunächst haben wir eine Datei mit dem Befehl touch erstellt. Es wird verwendet, um eine Datei zu erstellen, die keinen Inhalt hat. Der Befehl touch erzeugte eine leere Datei. Dieser Befehl kann auch verwendet werden, wenn der Benutzer keine Daten zum Speichern hat, wenn die Datei erstellt wird.

$ Touch Shell.Yaml

Mit dem Befehl touch können Sie gleichzeitig eine einzige Datei erstellen. Sehen Sie sich den folgenden Screenshot für eine bessere Idee an. Berührung hat wie alle anderen Befehle eine Vielzahl von Möglichkeiten. Diese Optionen können für verschiedene Zwecke verwendet werden. Verwenden Sie den Berührungsbefehl, um eine große Anzahl von Dateien gleichzeitig zu erstellen. Diese Dateien würden keine Daten enthalten, wenn sie erstellt würden.

Wir haben erfolgreich einen Pod mit einem Container erstellt. Das Nginx -Bild wird vom Container ausgeführt. Die Konfigurationsdatei des POD lautet wie folgt:

Natürlich können Sie ein anderes Bild oder eine andere Shell verwenden. Im Folgenden werden einige Argumente erwähnt:

My-Shell: Der Name des hergestellten Einsatzes ist normalerweise nach diesem benannt. Dies wird der Pod -Titel mit einer eindeutigen ID am Ende sein.

-RM: Wenn wir uns lösen, löschen Sie alle Ressourcen, die wir erstellt haben. Dadurch werden sowohl die Bereitstellung als auch die Pod nach dem Schließen Ihrer Sitzung gereinigt.

-i/-tty: Es ist die Kombination dieser beiden, die es uns ermöglicht, an einer interaktiven Sitzung teilzunehmen.

-: Trennt das Positionsarg vom Ende der Kubectl -Ausführungsoptionen (Bash).

Bash: Es überschreibt die CMD des Containers mit Bash. Wir möchten Bash als Befehl unseres Containers in diesem Szenario verwenden.

Jetzt wird der Pod erfolgreich mit diesem Befehl erstellt.

$ kubectl anwenden -f Shell.Yaml

Der folgende Befehl (GET POD) kann verwendet werden, um erfolgreich zu testen, ob der Container ausgeführt wird.

$ kubectl bekommen Pod Shell-Demo

Mit dem Befehl kubectl exec werden Befehle in Kubernetes -Pods mithilfe von Docker -Containern durchgeführt. Es ist auch möglich, eine interaktive Hülle an einen Docker -Container zu erwerben, der mit diesem Befehl in einem Pod ausgeführt wird.

Mit dem Befehl kubectl exec können Sie eine Shell -Sitzung in den Containern Ihres Kubernetes -Cluster -Containers starten. Wenn Protokolle allein nicht genug sind, verwenden Sie diesen Befehl, um das Dateisystem des Containers zu untersuchen, den Status der Umgebung zu überprüfen und zusätzliche Debugging -Tools zu verwenden. Der beste Weg, eine Shell in einen Kubernetes -Container zu bringen, besteht darin, Kubectl Exec zu verwenden. Für diesen Zweck wurde es ausdrücklich erstellt und alle Komplikationen mit der Bestimmung der Verbindung zu diesem Zweck beseitigt.

Sie hindert Sie nichts daran, den Container mit Kubectl Exec zu ändern, da Sie einen vollständigen Shell -Zugriff erhalten. Auf diese Weise können Sie zusätzliche Softwarepakete installieren, um die Fehlerbehebung zu unterstützen.

Listen Sie das Stammverzeichnis in Ihrer Shell auf. Geben Sie im Container "ls /" ein.

Öffnung der Konsole, wenn ein Pod zwei oder mehr Behälter hat

Betrachten Sie das folgende Szenario: Sie haben zwei Container mit dem Namen Main-App und Helper-App in Ihrem Schoten namens My-Pod. Der folgende Befehl startet eine Shell im Main-App-Container.

$ kubectl exec -i -t my -pod -Container Main -App - /bin /bash

Abschluss

In diesem Artikel haben wir gelernt, wie man den Bash -Befehl mit Kubectl und die Voraussetzungen zum Ausführen der Anweisungen in Kubernetes ausführt. Darüber hinaus haben wir auch die Grundlagen des Befehls zur Berührung und des Execs durchlaufen und zu welchem ​​Zweck sie verwendet werden.