Deployment is an configuration object in k8s that provides declarative updates for Pods and ReplicaSets.
Deployment rollout is triggered only if Pod template has changed.
Deployment YAML Manifest example:
```
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
```
### See also
- [[What is Pod in k8s?]]
- [[What is ReplicaSet?]]
- [[Declarative approach]]
- [[How to update image for k8s Deployment?]]