Deployment (EN)
ConceptKubernetes 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