kubectl rollout

管理 Deployment 的滚动更新、回滚和状态查看

语法

kubectl rollout <subcommand> <resource> [flags]

参数

参数说明示例级别
status 查看滚动更新状态 kubectl rollout status deployment/web 常用
history 查看更新历史版本 kubectl rollout history deployment/web 常用
undo 回滚到上一个版本 kubectl rollout undo deployment/web 常用
--to-revision 回滚到指定版本号 kubectl rollout undo deployment/web --to-revision=2 进阶
restart 重启所有 Pod(触发滚动重启) kubectl rollout restart deployment/web 常用
pause 暂停滚动更新 kubectl rollout pause deployment/web 进阶
resume 恢复暂停的滚动更新 kubectl rollout resume deployment/web 进阶

示例

查看更新状态

kubectl rollout status deployment/web-app
等待滚动更新完成,成功返回 0

查看历史版本

kubectl rollout history deployment/web-app
显示所有修订版本号

回滚到上一版本

kubectl rollout undo deployment/web-app
发现问题时快速回滚

回滚到指定版本

kubectl rollout undo deployment/web-app --to-revision=3
先用 history 查看版本号

滚动重启

kubectl rollout restart deployment/web-app
不改配置但需要重启所有 Pod 时使用

常见错误

error: deployment does not have minimum availability Pod 无法正常启动,检查镜像和配置是否正确
no rollout history found Deployment 创建时未记录历史,确保 spec.revisionHistoryLimit > 0

技巧

相关命令