Deployment (EN)

Concept

Kubernetes object for declarative management of ReplicaSets and application instances

Definition

A Deployment is a Kubernetes object that declares how an application should run and is responsible for managing ReplicaSets. It allows you to deploy and scale applications in a cluster by describing the desired state of the application. Kubernetes then ensures the actual state matches the declared state by creating new Pods or updating existing ones as needed. With Deployments, you can also roll back to previous versions of your application and deploy updates in a controlled manner.

Architecture

flowchart TD     A[Deployment] --> B[ReplicaSet]     B --> C[Pod]     C --> D[Container]     D --> E[Application]          F[User] --> G[Kubernetes API]     G --> A     A -->|Creates/Manages| B     B -->|Scales/Heals| C     C -->|Hosts| D     D -->|Executes| E          style A fill:#f9f,stroke:#333,stroke-width:2px     style B fill:#bbf,stroke:#333,stroke-width:2px     style C fill:#bfb,stroke:#333,stroke-width:2px     style D fill:#fbb,stroke:#333,stroke-width:2px 

In Context

  • Typically used together with Services, ConfigMaps, and Secrets
  • Related to: ReplicaSet, Pod, StatefulSet, DaemonSet
  • Example use case: Deploying a web application with 3 replicas and automatic restart on failures
Quelle: AI Generated