前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Deployment回滚操作方法

Deployment回滚操作方法

原创
作者头像
用户7108768
修改2021-10-08 14:08:18
4930
修改2021-10-08 14:08:18
举报
Deployment回滚

生产环境中可能由于一些原因,导致需要回滚操作,这个时候我们就可以使用Deployment回滚操作,这里我们还是以更新nginx镜像为案例:

  1. 将nginx镜像版本更新为Nginx:1.99,在镜像仓库中是不存在该镜像版本的;
代码语言:javascript
复制
kubectl set image deployment/nginx-deployment nginx=nginx:1.99
  1. 查看滚动更新的过程,我们会发现滚动更新被卡死了;
代码语言:javascript
复制
kubectl rollout status deployments nginx-deployment

  1. 查看Pod的状态,这个时候我们会发现镜像一直处于被拉取的状态;
代码语言:javascript
复制
kubectl get pods
  1. 为了解决该问题,这个时候我们需要进行回滚操作,我们可以通过kubectl rollout history查看Deployment的部署历史记录,通过kubectl rollout undo命令回滚到上一个部署版本,当然也可以指定版本回滚;
代码语言:javascript
复制
#查看Deployment的部署历史记录
kubectl rollout history deployment/nginx-deployment
#查看Deployment的指定版本部署情况
kubectl rollout history deployment/nginx-deployment --revision=3
#回滚到上一个版本
kubectl rollout undo deployment/nginx-deployment
#指定版本回滚
kubectl rollout undo deployment/nginx-deployment  --to-revision=2
  1. 查看整个回滚过程的事件信息,回滚的过程就是将新建的ReplicaSet缩容就可以了;
代码语言:javascript
复制
kubectl describe deployment/nginx-deployment
暂停和恢复Deployment

对于复杂的Deployment配置修改,为了避免频繁的触发Deployment的更新操作,可以先暂停Deployment的更新操作,然后进行配置修改,在恢复Deployment,一次性触发完整的更新操作。

  1. 通过kubectl rollout pause 命令暂停Deployment的更新操作;
代码语言:javascript
复制
kubectl rollout pause deployment/nginx-deployment
  1. 修改Deployment的镜像信息;
代码语言:javascript
复制
kubectl set image deployment/nginx-deployment nginx=nginx:1.18.0 
  1. 查看Deployment事件信息,我们会发现Deployment并没有更新操作;
代码语言:javascript
复制
kubectl describe deployment/nginx-deployment

  1. 通过kubectl rollout resume命令恢复Deployment的更新操作;
代码语言:javascript
复制
kubectl rollout resume deployment nginx-deployment
  1. 再次查看Deployment事件信息或者查看ReplicaSet信息,我们会发现Deployment开始更新操作;
代码语言:javascript
复制
#查看事件信息
kubectl describe deployment/nginx-deployment
#查看信息
kubectl get rs

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Deployment回滚
  • 暂停和恢复Deployment
相关产品与服务
容器镜像服务
容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档