kubectl – Die wichtigsten Befehle für den Einstieg in Kubernetes
Nachdem ich meine ersten Schritte mit Kubernetes gemacht und einen lokalen Cluster mit Minikube gestartet habe, brauchte ich ein Werkzeug, um mit dem Cluster zu sprechen. Dieses Werkzeug heißt kubectl.
In diesem Artikel zeige ich dir, was kubectl ist, wie es sich mit einem Cluster verbindet und welche Befehle du für den Einstieg wirklich können solltest.
Was ist kubectl?
kubectl ist das offizielle Kommandozeilen-Tool für Kubernetes. Damit kannst du:
- Ressourcen im Cluster anzeigen (Pods, Deployments, Services …)
- Neue Anwendungen ausrollen und bestehende aktualisieren
- Logs lesen und Fehler debuggen
- Rollouts überwachen und zurückrollen
Kurz gesagt: Ohne kubectl kommt man in Kubernetes nicht weit.
Verbindung zum Cluster (kubeconfig)
kubectl nutzt eine Konfigurationsdatei, um zu wissen, mit welchem Cluster es sprechen soll. Standardpfad ist:
~/.kube/configMit Minikube kannst du die Konfiguration automatisch setzen:
minikube start
kubectl config get-contexts
kubectl config use-context minikube
Jetzt sind kubectl und dein Cluster miteinander verbunden.
Die wichtigsten kubectl-Befehle
1. Ressourcen anzeigen – get
kubectl get pods
kubectl get deployments
kubectl get services
kubectl get all
Mit -o wide bekommst du mehr Details, z. B. Node-Infos:
kubectl get pods -o wide2. Details ansehen – describe
kubectl describe pod <pod-name>
kubectl describe deployment <deployment-name>
describe ist extrem hilfreich bei Fehlersuche: Events, Status, Containerzustände – alles auf einen Blick.
3. Logs lesen – logs
kubectl logs <pod-name>
kubectl logs -f <pod-name>Mit -f folgst du den Logs in Echtzeit (ähnlich wie tail -f).
4. In einen Container „hineingehen“ – exec
kubectl exec -it <pod-name> -- /bin/sh
kubectl exec -it <pod-name> -- /bin/bash
Damit kannst du im Container Befehle ausführen, Dateien prüfen oder schnelle Tests machen.
5. Manifeste anwenden – apply
kubectl apply -f deployment.yaml
kubectl apply -f k8s/
apply ist der Standardweg, um Konfigurationsdateien (YAML) auf den Cluster anzuwenden. Du kannst einzelne Dateien oder ganze Ordner nutzen.
6. Ressourcen löschen – delete
kubectl delete -f deployment.yaml
kubectl delete pod <pod-name>
kubectl delete deployment <deployment-name>
Wenn etwas nicht mehr gebraucht wird oder komplett neu aufgebaut werden soll, hilft delete.
7. Skalierung steuern – scale
kubectl scale deployment web --replicas=3Damit stellst du ein, wie viele Pod-Replikas zu einem Deployment gehören sollen.
8. Rollouts überwachen – rollout
kubectl rollout status deployment web
kubectl rollout history deployment web
kubectl rollout undo deployment web
Mit diesen Befehlen kontrollierst du, was bei Updates passiert – und kannst notfalls wieder zurückrollen.
Typischer Debug-Workflow mit kubectl
Wenn bei mir etwas im Cluster nicht funktioniert, gehe ich meist so vor:
- Checken, was läuft:
kubectl get pods - Details anschauen:
kubectl describe pod <pod-name> - Logs prüfen:
kubectl logs <pod-name> - Wenn nötig, in den Container springen:
kubectl exec -it ... - Manifest anpassen & neu ausrollen:
kubectl apply -f ...
Mit dieser kleinen Werkzeugkiste konnte ich schon viele Fehler finden, die früher wie „Magie“ wirkten.
Mein persönliches Learning mit kubectl
Am Anfang dachte ich, kubectl wäre nur eine Sammlung kryptischer Befehle. Mit der Zeit habe ich gemerkt: kubectl ist die direkte Fernbedienung für meinen Cluster.
Je besser ich die Befehle verstehe, desto klarer wird auch, wie Kubernetes intern funktioniert. Viele Konzepte werden erst durch die praktische Arbeit mit kubectl greifbar.
Was als Nächstes kommt
Im nächsten Artikel möchte ich zeigen, wie man eine eigene Anwendung mit YAML-Manifests beschreibt und mit kubectl deployt:
„Meine erste eigene App in Kubernetes – Deployment & Service als YAML“
Fazit
kubectl ist das zentrale Werkzeug für den Alltag mit Kubernetes. Mit ein paar Kernbefehlen – get, describe, logs, exec, apply, delete, scale und rollout – hast du bereits ein starkes Fundament.
Von hier aus kannst du Schritt für Schritt tiefer einsteigen und deinen Cluster immer besser verstehen und kontrollieren.
Nächster Artikel: Meine erste eigene App in Kubernetes – Deployments & Services als YAML schreiben