k8s如何进行版本回滚
在 Kubernetes (k8s) 中,版本回滚通常指的是将 Deployment、DaemonSet 或 StatefulSet 等资源回滚到之前的版本。Kubernetes 通过记录资源的修订历史(revision history)来支持回滚操作。以下是回滚操作的步骤:
1. 查看历史版本
首先,你需要查看资源的修订历史,确定要回滚到的版本。
kubectl rollout history deployment/<deployment-name>
这将列出该 Deployment 的所有修订版本。例如:
REVISION CHANGE-CAUSE
1 <none>
2 kubectl set image deployment/<deployment-name> <container-name>=<new-image>
3 kubectl set image deployment/<deployment-name> <container-name>=<new-image>
2. 查看特定版本的详细信息
如果你想查看某个特定版本的详细信息,可以使用以下命令:
kubectl rollout history deployment/<deployment-name> --revision=<revision-number>
例如:
kubectl rollout history deployment/my-app --revision=2
3. 回滚到上一个版本
如果你想回滚到上一个版本,可以使用以下命令:
kubectl rollout undo deployment/<deployment-name>
4. 回滚到特定版本
如果你想回滚到某个特定的版本,可以使用以下命令:
kubectl rollout undo deployment/<deployment-name> --to-revision=<revision-number>
例如,回滚到版本 2:
kubectl rollout undo deployment/my-app --to-revision=2
5. 验证回滚
回滚完成后,你可以通过以下命令查看 Deployment 的状态,确保回滚成功:
kubectl rollout status deployment/<deployment-name>
你也可以通过以下命令查看 Pod 的状态:
kubectl get pods
6. 查看回滚后的资源状态
你可以通过以下命令查看 Deployment 的详细信息,确认回滚后的资源配置:
kubectl describe deployment/<deployment-name>
注意事项
- 修订历史保留策略:Kubernetes 默认会保留 10 个修订历史。你可以通过
spec.revisionHistoryLimit
字段来调整这个值。 - 回滚的影响:回滚操作会触发 Pod 的重新创建,因此可能会导致服务短暂中断。
通过以上步骤,你可以轻松地在 Kubernetes 中回滚到之前的版本。
本文来自博客园,作者:dashery,转载请注明原文链接:https://www.cnblogs.com/ydswin/p/18639283
分类:
Kubernetes
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek-R1本地部署如何选择适合你的版本?看这里
· 开源的 DeepSeek-R1「GitHub 热点速览」
· 传国玉玺易主,ai.com竟然跳转到国产AI
· 揭秘 Sdcb Chats 如何解析 DeepSeek-R1 思维链
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型