kubectl Rollout
- Manage the rollout of a
daemonset
, deployment
or statefulset
resource.
status
# Check the rollout status of a resource
kubectl rollout status deployment "foo"
kubectl rollout status daemonset "foo"
kubectl rollout status statefulset "foo"
history
# Show revisions history (records last 10 by default)
kubectl rollout history deployment "foo"
# Show a specific revision
kubectl rollout history deployment "foo" --revision=1
restart
- Restarts the current revision
kubectl rollout restart deployment # from all deployments
kubectl rollout restart deployment "foo" # from specific deployment
kubectl rollout restart -f "manifest.yaml" # from manifest
pause
- Pause the deployment controller so that no pods are rolled out
- It's useful when you want to perform multiple imperative commands and resume only after all of them have been executed
- While a deployment is paused, the changes do not appear in the
rollout history
. The revision is created only when it is unpaused and as a single revision (even if multiple edits have been made)
kubectl rollout pause deployment "foo"
resume
- Resume deployment controlling
kubectl rollout resume deployment "foo"
undo
- When a rollback is made to a specific revision, this revision is bubbled up to the last revision
- Example: Given the revisions
Rev1, Rev2, Rev3
when rolling out to Rev2 it goes to the last revision as a new one Rev1, Rev3, Rev4
# Rollback to the previous revision
kubectl rollout undo deployment "foo"
# Rollback to specific revision
kubectl rollout undo deployment "foo" --to-revision "3"