Zurück zur Übersicht

Begriff

Deployment (K8s)

Kubernetes Workloads S1
2 Quellen 1 Lernpfad 2 Backlinks enriched

Warum wichtig?

Dieser Begriff ist ein Knoten im SengakujiWorks-Wissensnetz. Nutze Level 0 für die erste Einordnung, Level 1 für Praxis, Level 2 für technische Struktur und Level 3 für Grenzen, Fallstricke und Expertenkontext.

Der Pod ist die kleinste Einheit in Kubernetes (ein Container). Aber du erstellst Pods fast nie direkt. Warum? Weil Pods sterblich sind. Wenn sie abstürzen, sind sie weg. Du willst aber, dass deine App immer läuft. Dafür gibt es das Deployment. Du sagst dem Deployment: "Sorge dafür, dass immer 3 Kopien (Replicas) meiner App laufen." Das Deployment ist der Manager. Es überwacht die Pods. Wenn einer stirbt, startet es sofort einen neuen. Und wenn du eine neue Version hast ("Update auf v2"), regelt das Deployment den Austausch (Rolling Update) ohne Ausfallzeit.

Merksatz: Ein Kubernetes-Objekt, das eine deklarative Beschreibung des gewünschten Zustands für Pods und ReplicaSets bereitstellt (z. B. Image-Version, Anzahl der Replikate) und Updates verwaltet (Rolling Updates/Rollbacks).


Quick-Check

  1. Kann ich Stateful Apps (Datenbanken) deployen?
    Technisch ja, aber schlecht. Deployments geben Pods zufällige Namen (nginx-7b4f...). Datenbanken brauchen oft feste IDs ("db-0", "db-1") und stabile Speicher. Dafür gibt es StatefulSets.
  2. Was ist kubectl scale?
    Ein imperativer Befehl, um replicas zu ändern. Achtung: Wenn in deiner YAML noch replicas: 3 steht und du machst apply (GitOps), wird dein manuelles Scaling überschrieben!
  3. Paused Deployment?
    Du kannst ein Deployment pausieren (kubectl rollout pause). Dann kannst du Bild, RAM, CPU ändern, ohne dass sofort Updates loslaufen. Erst beim resume wird alles angewendet. Nützlich für "Canary"-artige manuelle Tests.