Löschen ohne Reue — plus Labels, Namespaces und die Grundidee von RBAC.
Der gefährlichste Befehl ist delete. Diese Lektion gibt dir die Gewohnheiten, mit denen
Profis löschen, ohne nachts wach zu liegen — und schließt deinen sicheren Kreislauf.
Hast du mit einem Manifest erstellt, lösche mit demselben Manifest. Dann verschwindet genau das, was du angelegt hast — nicht mehr, nicht weniger:
kubectl delete -f web.yaml -n lernen
„Erst get, dann delete.“ Vor jedem Lösch-Befehl mit Selector
denselben Selector mit get ausführen — die Liste, die du siehst, ist exakt die,
die gleich verschwindet:
kubectl get pods -l app=web -n lernen # Vorschau: trifft das WIRKLICH nur web?
kubectl delete pods -l app=web -n lernen # erst danach löschen
Ein eigener Namespace ist deine Sandbox. Im Notfall räumst du alles auf einen Schlag auf — ohne fremde Workloads zu gefährden:
kubectl delete namespace lernen # löscht ALLES darin. Mächtig — Kontext prüfen!
Vor einem delete namespace oder jedem Lösch-Befehl im Zweifel:
kubectl config current-context. Der falsche Kontext + delete ist der Klassiker unter den Unfällen.
RBAC regelt, wer was darf. Du musst es (noch) nicht konfigurieren — aber du kannst dich schützen, indem du vorher fragst, ob ein Befehl überhaupt erlaubt ist:
kubectl auth can-i delete pods -n lernen # yes / no
kubectl auth can-i '*' '*' --all-namespaces # bin ich Cluster-Admin?
Im Job arbeitest du oft mit eingeschränkten Rechten — das ist ein Feature, kein Hindernis.
Wenig Rechte = wenig Schaden möglich. auth can-i zeigt dir deine Grenzen, bevor du anstößt.
Ohne Limits kann ein einziger Pod einen Node aushungern. Setze pro Container:
resources:
requests: { cpu: "100m", memory: "128Mi" } # garantiert (für Scheduling)
limits: { cpu: "500m", memory: "256Mi" } # Obergrenze (RAM-Überschreitung → OOMKilled)
kubectl auth can-i delete namespace lernen
kubectl get all -n lernen # was ist da überhaupt drin?
kubectl config current-context # sicher der richtige Cluster?
kubectl delete namespace lernen # Sandbox restlos entfernen
limits an einem Container?