Pod ·
Deployment ·
ReplicaSet ·
Labels & Selectors ·
Rolling Updates ·
kubectl commands
Deployments sind der Standard-Weg, um Anwendungen in Kubernetes auszurollen und zu verwalten. Sie bieten Rolling Updates, Rollbacks und Skalierung – Pods sind die kleinste deploybare Einheit.
Pods sind die kleinste deploybare Einheit in Kubernetes. Ein Pod enthält einen oder mehrere Container, die sich ein Netzwerk und Storage teilen. Container im gleichen Pod kommunizieren über localhost.
Deployments verwalten ReplicaSets und Pods und bieten Rolling Updates, Rollbacks und Skalierung. Sie sind der Standard-Weg, um Anwendungen in Kubernetes auszurollen.
ReplicaSets stellen sicher, dass immer eine bestimmte Anzahl von Pod-Replikas läuft. Sie werden von Deployments verwaltet – in der Praxis arbeiten Sie selten direkt mit ReplicaSets.
Labels sind Schlüssel-Wert-Paare, die zur Organisation und Selektion von Kubernetes-Ressourcen verwendet werden. Selectors wählen Ressourcen anhand ihrer Labels aus.
app, tier und version für bessere Übersicht und Selektion.
Rolling Updates aktualisieren Pods schrittweise ohne Downtime. Rollbacks setzen ein Deployment auf eine frühere Revision zurück – ideal für Fehlerbehebung.
| Strategie | Beschreibung |
|---|---|
| RollingUpdate | Pods werden schrittweise ersetzt (Standard) |
| Recreate | Alle Pods werden gleichzeitig gelöscht und neu erstellt (Downtime) |
kubectl rollout undo ist Ihr bester Freund bei fehlgeschlagenen Updates. Die History zeigt alle Revisionen – so können Sie jederzeit zurück zu einer stabilen Version.
kubectl ist das Kommandozeilen-Tool zur Verwaltung von Kubernetes-Clustern. Diese Befehle sind für die tägliche Arbeit unverzichtbar.
| Befehl | Beschreibung |
|---|---|
| kubectl get <resource> | Ressourcen auflisten (pods, deployments, services) |
| kubectl get all | Alle Ressourcen im Namespace anzeigen |
| kubectl describe <resource> <name> | Detaillierte Informationen zu einer Ressource |
| kubectl logs <pod-name> | Logs eines Pods anzeigen |
| kubectl logs -f <pod-name> | Logs live verfolgen |
| kubectl exec -it <pod-name> -- bash | Shell im Pod öffnen |
| kubectl apply -f <file> | Ressource aus YAML erstellen oder aktualisieren |
| kubectl delete -f <file> | Ressource aus YAML löschen |
| kubectl delete <resource> <name> | Ressource nach Namen löschen |
| kubectl scale deployment <name> --replicas=N | Deployment skalieren |
| kubectl rollout status deployment/<name> | Status eines Rollouts prüfen |
| kubectl rollout undo deployment/<name> | Rollback durchführen |
| kubectl port-forward <pod> local:remote | Port-Weiterleitung für Debugging |
| kubectl -n <namespace> | Namespace für den Befehl angeben |
kubectl get all, um eine schnelle Übersicht über alle Ressourcen in einem Namespace zu erhalten. Mit -w (watch) können Sie Änderungen live verfolgen.
Pod
Deployment
ReplicaSet
Labels
rollout
kubectl
kubectl create deployment nginx --image=nginx:1.25 --replicas=3 ·
kubectl rollout undo deployment/nginx