成都网站建设设计

将想法与焦点和您一起共享

八、kubernetes1.25应用升级、回滚-创新互联

1、概述

用户希望应用程序始终可用,而开发人员则需要每天多次部署它们的新版本。在 Kubernetes 中,这些是通过滚动更新(Rolling Updates)完成的。 滚动更新 允许通过使用新的实例逐步更新 Pod 实例,零停机进行 Deployment 更新。新的 Pod 将在具有可用资源的节点上进行调度。

为郑州等地区用户提供了全套网页设计制作服务,及郑州网站建设行业解决方案。主营业务为做网站、网站设计、郑州网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!2、前提

在上一篇文章中我们,实例操作了在kubernetes1.25中部署nginx1.14并发布

:https://blog.csdn.net/u011837804/article/details/128395432

本篇文章,我们接上篇,部署nginx1.14并且两个副本,效果:

3、应用升级

我们的生产项目,每次发版都希望不停机切不影响正常使用,咱们看看kubernetes怎么实现的。

本次实例为nginx1.14 升级为nginx1.23.0

命令:

# 执行升级
kubectl set image deploy mynginx nginx=nginx:1.23.0

# 查看升级状态
kubectl rollout status deploy mynginx

注意: 咱们看上面实际操作过程升级前是2个pod,这个是正常的因为两个副本嘛,升级中变成3个pod了,这是为啥呢?kubernetes升级应用为了不影响当前正常使用,会在升级中新建一个pod,等到升级的pod完全运行起来后,才会删除旧pod,这样做的好处就是一旦升级失败,也不影响正常使用,升级中,用户无感知。

4、应用回滚

我们在实际生产项目更新后,发现有bug,想回滚到上一个版本 这个是比较常见的场景,我们看看kubernetes怎么操作。

涉及命令:

# 查看 升级历史记录
kubectl rollout history deploy mynginx

# 撤销上一次升级
kubectl  rollout undo deploy  mynginx

# 按照版本回滚到某一个版本  版本号可以通过 kubectl rollout history deploy mynginx查看
kubectl rollout undo deploy mynginx --to-revision=版本号

# 查看回滚状态
kubectl rollout undo status deploy mynginx

执行回滚上一个版本实例:

执行回滚某一个版本实例:

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


文章名称:八、kubernetes1.25应用升级、回滚-创新互联
分享路径:http://chengdu.cdxwcx.cn/article/ppsig.html