Skip to content

kubectl-Befehle erklärt

Die kubectl-Befehle des Alltags, gruppiert nach Aufgabe: den Cluster auslesen, Workloads inspizieren, Änderungen anwenden und zurückrollen, Services freigeben, Nodes verwalten und Konfigurationsobjekte anlegen. Jede Zeile kombiniert den Befehl mit einem realistischen Aufruf.

kubectl ist dein Zugang zum Kubernetes-Cluster. Das Modell ist deklarativ: Meist applizierst du ein Manifest (apply -f), statt Dinge imperativ anzulegen, und liest das Ergebnis danach aus (get, describe, logs). Die Befehle unten decken den Tagesbetrieb ab; ergänze ein Namespace-Flag (-n name), wenn du nicht im Default-Namespace arbeitest.

Referenztabelle · 59 Einträge
59 of 59 rows
Cluster & Kontext
Zeigt, wo die Control Plane und die Kern-Services laufen.kubectl cluster-info
Listet die Cluster und Namespaces auf, zwischen denen du wechseln kannst.kubectl config get-contexts
Wechselt zu einem anderen Cluster- oder Namespace-Kontext.kubectl config use-context my-prod
Setzt den Standard-Namespace des aktuellen Kontexts.kubectl config set-context --current --namespace=staging
Benennt einen gespeicherten Kontext in deiner kubeconfig um.kubectl config rename-context old-name prod
Listet jeden Ressourcentyp auf, den der Cluster kennt.kubectl api-resources
Gibt die Kubernetes-Versionen von Client und Server aus.kubectl version
Zeigt die Felder einer Ressource, gelesen aus dem API-Schema.kubectl explain pod.spec.containers
Prüft, ob der aktuelle Nutzer eine Aktion ausführen darf.kubectl auth can-i delete pods
Workloads inspizieren
Listet Pods und ihren Status; -o wide ergänzt Node und IP.kubectl get pods -A
Listet die üblichen Ressourcen eines Namespace in einem Aufruf.kubectl get all
Ergänzt Node- und IP-Spalten zu jedem get-Befehl.kubectl get pods -o wide
Gibt eine Ressource als vollständiges YAML-Manifest aus.kubectl get deploy/web -o yaml
Listet Deployments und wie viele Replicas bereit sind.kubectl get deployments
Listet StatefulSets und ihre bereiten Replicas.kubectl get statefulsets
Listet Batch-Jobs und geplante Cron-Jobs.kubectl get jobs,cronjobs
Zeigt Events, Labels und Status eines Pods.kubectl describe pod web-abc
Zeigt Kapazität, Conditions und laufende Pods eines Nodes.kubectl describe node node-1
Gibt die Standardausgabe eines Pods aus; -f zum Folgen, --previous für den letzten Absturz.kubectl logs -f web-abc
Führt einen Befehl innerhalb eines laufenden Pods aus.kubectl exec -it web-abc -- sh
Live-CPU und -Speicher für Pods oder Nodes (braucht metrics-server).kubectl top pods
Listet aktuelle Events wie fehlgeschlagene Pulls und Backoffs.kubectl get events -A --sort-by=.lastTimestamp
Listet Ingress-Regeln und ihre Load-Balancer-Adressen.kubectl get ingress
Kopiert Dateien zwischen deinem Rechner und einem laufenden Pod.kubectl cp web-abc:/var/log/app.log ./app.log
Blockiert, bis eine Ressource eine Bedingung erfüllt.kubectl wait --for=condition=ready pod -l app=web
Startet einen Wegwerf-Pod aus einem Image, ganz ohne Manifest.kubectl run debug --rm -it --image=busybox -- sh
Anwenden, skalieren, ausrollen
Zeigt, was apply ändern würde, ohne etwas zu ändern.kubectl diff -f deploy.yaml
Erstellt oder aktualisiert Ressourcen aus einer Manifest-Datei.kubectl apply -f deploy.yaml
Appliziert Manifeste und löscht Objekte, die sie verlassen haben.kubectl apply -f dir/ --prune -l app=web
Öffnet eine Live-Ressource im Editor und appliziert beim Speichern.kubectl edit deploy/web
Ändert einzelne Felder einer Live-Ressource.kubectl patch deploy/web --patch-file fix.json
Richtet die Container eines Deployments auf ein neues Image.kubectl set image deploy/web web=nginx:1.27
Ersetzt ein Objekt und löscht/erstellt es bei Bedarf neu.kubectl replace --force -f deploy.yaml
Entfernt die Ressourcen, die eine Manifest-Datei deklariert.kubectl delete -f deploy.yaml
Ändert die Replica-Anzahl eines Deployments.kubectl scale deploy/web --replicas=4
Verfolgt ein Rollout bis zum Erfolg oder Scheitern.kubectl rollout status deploy/web
Listet die Revisionen, die ein Rollout durchlaufen hat.kubectl rollout history deploy/web
Startet jeden Pod eines Deployments neu, einen nach dem anderen.kubectl rollout restart deploy/web
Rollt ein Deployment auf seine vorherige Revision zurück.kubectl rollout undo deploy/web
Services & Netzwerk
Listet Services mit Typ und Cluster-IP.kubectl get svc
Zeigt, welche Pod-IPs aktuell hinter jedem Service stehen.kubectl get endpoints web
Erstellt einen Service vor einer Menge von Pods; --type=NodePort oder LoadBalancer erreicht den Cluster von außen.kubectl expose deploy/web --port=80
Zeigt die Load-Balancer-Adresse hinter jedem Ingress (Alpha).kubectl ingress status -A
Listet die Policies, die den Pod-Verkehr einschränken.kubectl get networkpolicies
Tunnelt einen lokalen Port zu einem Pod oder Service.kubectl port-forward svc/web 8080:80
Nodes & Wartung
Listet die Cluster-Nodes und ihren Status.kubectl get nodes -o wide
Markiert einen Node als unschedulable (keine neuen Pods).kubectl cordon node-1
Markiert einen Node wieder als schedulable.kubectl uncordon node-1
Räumt Pods von einem Node und markiert ihn als unschedulable.kubectl drain node-1 --ignore-daemonsets
Fügt einen Taint hinzu oder entfernt ihn; er hält Pods vom Node fern.kubectl taint node node-1 key=value:NoSchedule
Löscht einen festhängenden Pod sofort, ohne graceful Shutdown.kubectl delete pod web-abc --grace-period=0 --force
Objekte & Konfiguration
Legt einen neuen Namespace an, dem du Ressourcen zuordnest.kubectl create namespace staging
Listet Namespaces und ihren Status.kubectl get namespaces
Speichert Konfigurationsschlüssel oder -dateien als Cluster-Objekt.kubectl create configmap app --from-file=config.yaml
Listet die ConfigMaps im Namespace.kubectl get configmaps
Speichert ein Passwort oder Zertifikat als Secret.kubectl create secret generic db --from-literal=password=s3cret
Listet die Secrets im Namespace.kubectl get secrets
Setzt ein Label an einer Ressource oder entfernt es.kubectl label pod web-abc tier=backend
Hängt Metadaten an, die Selektoren nicht treffen können.kubectl annotate deploy/web release=july