Erkundung des kubectl exec
-Befehls
Der kubectl exec
-Befehl wird verwendet, um Befehle direkt innerhalb eines Containers in einem Pod auszuführen. Er ist besonders nützlich für das Debugging und die Inspektion von Container-Umgebungen.
Führen Sie den folgenden Befehl aus, um die verfügbaren Optionen für kubectl exec
anzuzeigen:
kubectl exec -h
Sie werden die folgende Ausgabe sehen:
Führt einen Befehl in einem Container aus.
Beispiele:
## Holen Sie die Ausgabe des Befehls 'date' aus dem Pod mypod, standardmäßig aus dem ersten Container
kubectl exec mypod -- date
## Holen Sie die Ausgabe des Befehls 'date' aus dem Container ruby-container im Pod mypod
kubectl exec mypod -c ruby-container -- date
## Wechseln Sie in den Roh-Terminalmodus; sendet die Standardeingabe an 'bash' im Container ruby-container im Pod mypod
## und sendet die Standardausgabe/Fehlerausgabe von 'bash' zurück an den Client
kubectl exec mypod -c ruby-container -i -t -- bash -il
## Listen Sie den Inhalt von /usr aus dem ersten Container des Pods mypod auf und sortieren Sie ihn nach Änderungszeit
## Wenn der Befehl, den Sie im Pod ausführen möchten, gemeinsame Flags hat (z. B. -i),
## müssen Sie zwei Bindestriche (--) verwenden, um die Flags/Argumente Ihres Befehls zu trennen
## Beachten Sie auch, umgeben Sie Ihren Befehl und seine Flags/Argumente nicht mit Anführungszeichen,
## es sei denn, das ist die normale Art, ihn auszuführen (d. h., führen Sie ls -t /usr aus, nicht "ls -t /usr")
kubectl exec mypod -i -t -- ls -t /usr
## Holen Sie die Ausgabe des Befehls 'date' aus dem ersten Pod der Bereitstellung mydeployment, standardmäßig aus dem ersten Container
kubectl exec deploy/mydeployment -- date
## Holen Sie die Ausgabe des Befehls 'date' aus dem ersten Pod des Dienstes myservice, standardmäßig aus dem ersten Container
kubectl exec svc/myservice -- date