Deployment

Deployment (Kubernetes)

Ein Deployment ist einer der zentralen Controller in Kubernetes, der für das Verwalten und Skalieren von Pods zuständig ist. Deployments dienen dazu, Anwendungen zustandslos und hochverfügbar bereitzustellen – mit automatisierten Updates, Rollbacks und Selbstheilung im Fehlerfall.

Ein Deployment sorgt dafür, dass eine definierte Anzahl an identischen Pods jederzeit ausgeführt wird. Bei Änderungen (z. B. neue Container-Version) erstellt Kubernetes neue Pods und entfernt alte, ohne Downtime – sogenanntes Rolling Update. Zudem lassen sich frühere Versionen über Rollbacks schnell wiederherstellen.

Typische Merkmale:

  • Stellt zustandslose Workloads wie Webserver oder APIs bereit
  • Verwendet ein ReplicaSet, um die Pod-Anzahl zu steuern
  • Automatisiert Rolling Updates und Versionierung
  • Skalierbar durch Anpassen der Replikate oder Auto-Scaling

Vorteile von Deployments:

  • Schnelle und flexible Bereitstellung von Applikationen
  • Vereinfachtes Lifecycle-Management von Pods
  • Stabile Infrastruktur für Continuous Deployment

Typische Anwendungsfälle:

  • Frontend-Services wie React- oder Angular-Anwendungen
  • Microservices ohne persistenten Speicherbedarf
  • APIs, Gateways oder stateless Backends

Verwandte Begriffe:

StatefulSet, Pod, ReplicaSet, Kubernetes, CI/CD, Rolling Update, Container, Deployment vs StatefulSet