Kubectl -Datei von POD nach lokal kopieren

Kubectl -Datei von POD nach lokal kopieren
Bei der Verwendung von Kubernetes müssen Sie möglicherweise Dateien in und aus POD-basierten Containern transportieren. Wir haben den CP -Befehl verwendet, um Daten vor der Containerisierung auf und von Remote -Maschinen zu übertragen, und wir haben ein Tool wie SCP verwendet, um dies zu tun. Kubernetes hat zum Glück eine vergleichbare Funktion. Der Befehl kubectl cp vervollständigt den kubectl Exec -Befehl mit der Exec -SubResource in der Kubernetes -POD -API. Kubectl CP stützt sich auf den TAR -Befehl, der sich im Standardausführungspfad des Containers befindet, und untersucht das Dateisystem des Containers nicht direkt. Für ein besseres Verständnis des Befehls kubectl cp wird diese Anleitung einige Beispiele durchführen.

Bevor es losgeht:

Wir werden die Ubuntu 20 verwenden.04 Linux -Betriebssystem, um zu demonstrieren, wie die Kubectl -CP -Funktion funktioniert. Das verwendete Betriebssystem wird durch die Auswahl des Benutzers vollständig bestimmt. Wir müssen zuerst Kubectl installieren und dann auf unserer Maschine einrichten. Die Installation und das Einrichten des Minikube sind zwei der wesentlichen Anforderungen. Außerdem müssen Sie mit Minikube beginnen. Minikube ist eine virtuelle Maschine, die einen Einzelknoten Kubernetes-Cluster betreibt. Auf dem Ubuntu 20.04 Linux -System müssen das Befehlszeilenterminal verwenden, um es zu beginnen. Öffnen Sie die Schale, indem Sie „Strg+Alt+T“ auf der Tastatur drücken oder die Terminalanwendung im Ubuntu 20 verwenden.04 Linux -Systemprogramme. Um mit dem Minikube -Cluster zu beginnen, führen Sie den unten angegebenen Befehl aus.

$ minikube Start

POD -Details

Sie weisen einem Pod eine IP -Adresse zu, wenn Sie sie erstellen. Localhost kann verwendet werden, um Container in einer Schote mit einer großen Anzahl von ihnen zu verbinden. Sie können die Kommunikation über den Pod hinaus erweitern, indem Sie einen Port freilegen. Von Kubectl geben die Befehlsbefehle Daten für eine oder mehrere Ressourcen in tabellarischer Form zurück. Etikettenauswahlern können zum Filtern von Inhalten verwendet werden. Informationen können nur dem aktuellen Namespace oder dem gesamten Cluster zur Verfügung gestellt werden. Wir müssen einen Namen für die Pod (oder Pods) auswählen, mit denen wir arbeiten möchten. Wir werden den Befehl kubectl GET POD verwenden, um die Namen des Schotens zu finden, und wir werden diese Namen in den Beispielen verwenden. Führen Sie den folgenden Befehl aus, um eine Liste der Pods anzuzeigen, die derzeit im System verfügbar sind.

$ kubectl bekommen Pods

Wir haben eine Datei im Heimverzeichnis unseres Systems generiert. „Xyz.txt ”ist der Name der Datei. Der Befehl kubectl cp wird aus dieser Datei ausgeführt.

$ touch xyz.txt

Die Datei wurde erfolgreich erstellt, wie Sie unten sehen können.

Stellen Sie sicher, dass Sie alles haben, was Sie brauchen, bevor Sie anfangen. Wir müssen sicherstellen, dass unser Kubernetes -Client mit einem Cluster verbunden ist. Zweitens müssen wir uns für den Namen des Schotens (oder den Pods) entscheiden, mit dem wir zusammenarbeiten möchten. Um die Namen des Schotens zu bestimmen, verwenden wir die Kubectl Get Pod und verwenden diese Namen in den folgenden Teilen.

Übertragen Sie eine Datei von einem lokalen PC auf einen Pod

Nehmen wir an, wir müssen einige Dateien von einem lokalen PC auf einen Pod verschieben. Wir haben eine lokale Datei im vorhergehenden Beispiel in eine Schote namens „Shell-Demo“ kopiert und den gleichen Weg auf der Pod zur Reproduktion der Datei bereitgestellt. Sie werden sehen, dass wir in beiden Fällen einen absoluten Weg befolgt haben. Relative Wege können ebenfalls verwendet werden. In Kubernetes wird die Datei in das Arbeitsverzeichnis und nicht im Heimverzeichnis kopiert, was eine signifikante Unterscheidung zwischen Kubectl CP und Technologien wie SCP darstellt.

Der Befehl kubectl cp nimmt zwei Parameter vor, und der erste Parameter ist die Quelle, während der zweite das Ziel zu sein scheint. Wie SCP können beide Parameter (Quell- und Zieldateien) ohne Zweifel auf eine lokale oder Remotedatei verweisen.

$ kubectl cp xyz.txt Shell-Demo: xyz.txt

Kopieren Sie die Datei in das aktuelle Verzeichnis der POD

Jetzt haben wir eine neue Textdatei mit dem Namen „Kalsoom“ erstellt.txt".

$ touch kalsoom.txt

Die Datei wird erfolgreich erstellt.

Es wird „kalsoom kopieren.txt ”von dem Arbeitsverzeichnis Ihres Pod zum aktuellen Arbeitsverzeichnis. Geben Sie den folgenden Befehl in die Terminalhülle des Ubuntu 20 ein.04 Linux -Betriebssystem.

$ kubectl cp Shell-Demo: Kalsoom.txt kalsoom.txt

Abschluss

Wie wir in diesem Beitrag gelernt haben, besteht der am häufigsten verwendete Befehl Kubectl CP darin, Dateien zwischen dem Benutzergerät oder der Cloud und Container zu kopieren. Dieser Befehl kopiert Dateien, indem eine TAR -Datei im Container erstellt, sie in das Netzwerk nachgebildet und dann mit Hilfe von Kubectl auf der Workstation oder Cloud -Instanz des Benutzers ausgepackt wird. Der Befehl kubectl cp ist sehr praktisch und wird von vielen zum Übertragen von Dateien zwischen Kubernetes Pods und dem lokalen System verwendet. Dieser Befehl könnte nützlich sein, um alle Protokolle oder Inhaltsdateien zu debuggen, die lokal im Container ausgeben. Wenn Sie beispielsweise die Datenbank des Containers ablegen möchten.