Release a new version and watch a rolling update happen: new pods in, old pods out, never fewer ready pods than you allow. Click the rollout gauge on the control cabinet to see the limits, or press ▶ Guided tour.
kind: Deployment
spec:
replicas: 6
strategy: { type: RollingUpdate, rollingUpdate: { maxSurge: 2, maxUnavailable: 1 } }
template: { spec: { containers: [{ name: web, image: web:v2 }] } }
# kubectl rollout status deploy/web · kubectl rollout undo deploy/webA Deployment keeps one ReplicaSet per version. On a rolling update the controller scales the new ReplicaSet up and the old one down within two limits: total pods may rise to replicas + maxSurge, and ready pods may fall to replicas − maxUnavailable. A new pod counts as available only once its readiness probe passes, so a broken image stops the rollout at the floor while the old pods keep serving; kubectl rollout undo switches the template back.