ydswin

忘记背后,努力面前的,向着标杆直跑

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

统计

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 中回滚到之前的版本。

posted on   dashery  阅读(75)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· DeepSeek-R1本地部署如何选择适合你的版本?看这里
· 开源的 DeepSeek-R1「GitHub 热点速览」
· 传国玉玺易主,ai.com竟然跳转到国产AI
· 揭秘 Sdcb Chats 如何解析 DeepSeek-R1 思维链
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
点击右上角即可分享
微信分享提示