产品部署完成上线之后,经常遇到需要升级服务的要求(只考虑更新镜像),以往操作流程大致如下:

# 方式一:找到 master具体调度到的所有目标node,删除其对应的镜像文件
# 方式二:修改 file.yaml中镜像拉取策略为Always# 删掉旧pod,并重新创建
kubectl delete -f /path/file.yaml
kubectl create -f /path/file.yaml

但是这样有一个比较棘手的问题,就是如果升级失败的回滚策略。

因此我们利用kubernetes自身的滚动升级的工具,部署及升级流程如下:

1. 在初次创建的时候,尽量加入参数 --record,这样k8s会记录下本次启动的脚本 。

# --record
kubectl create -f /path/file.yaml --record

2.执行查看发布的历史记录,会显示现在已经记录的脚本及其序号。

# 查看历史记录
kubectl rollout history deployment deploy-apigw

3.升级命令执行后会输出:xxx   image updated

# 升级镜像
kubectl set image deployment/deploy-name containerName=newIMG:version# kubectl set image controllerType/controllerInstanceName underInstanceContainerName=image:version

4.查看pod状态,如果失败需要回滚操作

# 回滚到上一个操作版本
kubectl rollout undo deployment/deploy-name
# 回滚到指定版本,版本号由第二步查看获得
kubectl rollout undo deployment/deploy-name --to-revision=3

Notice:

  1. k8s 1.15版本,目前支持 pod (po), replicationcontroller (rc), deployment (deploy), daemonset (ds), replicaset (rs)
  2. 执行rollout undo操作之后,版本号会移动,需要确认版本号无误再undo

kubernetes 的 滚动升级和回滚(rollout)相关推荐

  1. kubectl命令使用滚动更新和回滚

    这里写目录标题 Kubectl命令的使用 create get expose delete edit scale autoscale cluster-info describe logs attach ...

  2. Hadoop HDFS概念学习系列之HDFS升级和回滚机制(十二)

    不多说,直接上干货! HDFS升级和回滚机制 作为一个大型的分布式系统,Hadoop内部实现了一套升级机制,当在一个集群上升级Hadoop时,像其他的软件升级一样,可能会有新的bug或一些会影响现有应 ...

  3. 基于S32K的油门踏板检测项目(基于CAN的Bootloader覆盖升级、回滚升级)

    文章目录 项目概述 要求 Bootloader介绍 原理设计 功能设计 硬件设计 软件设计 主机 主机流程 Xmodem协议 代码 从机 从机流程 升级方案 区域划分 Boot链接文件修改 APP A ...

  4. Kubernetes pod滚动升级rolling update的一些例子,截图和命令

  5. Kubernetes基础:滚动升级回滚:rolling-update之rollback

    上篇文章介绍了在RC中的滚动升级,这篇继续介绍RC中回滚的方式. RC滚动升级 可参看如下内容:https://liumiaocn.blog.csdn.net/article/details/1042 ...

  6. K8s Kubectl基础命令的使用、滚动更新、以及回滚操作

    Kubectl基础命令的使用 kubernetes基本概念 kubectl管理命令 kubectl帮助 Kubectl常用命令的使用 explain edit scale autoscale clus ...

  7. k8s核心技术-Controller(Deployment)控制器对pod的管理实现_升级回滚和弹性伸缩---K8S_Google工作笔记0030

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 这个应用的升级和回滚很好理解,之前咱们创建nginx的pod的时候,没有 指定版本,就默认部署的是 ...

  8. ARM-Linux应用程序自动升级以及自动回滚的实现

    1. 研究背景 现今,许多基于arm-linux平台开发的应用程序开发都具备了物理的网卡这样的外围设备,这也是为通过网络升级应用程序提供了诸多便利,网络的便捷,快速,稳定等诸多特点.今天,我们约定应用 ...

  9. k8s利用deployment部署pod,以及应用更新和回滚操作

    deployment部署pod,也是通过yaml文件的方式部署.deployment通过yaml文件定义需要deploy名称,需要几个pod协助运行,拉取的镜像版本等内容.一般来说一个deployme ...

  10. 容器CICD实践:基于Helm实现应用交付自动回滚

    打造开源云计算中国第一互动社区 内容专注于Linux.Kubernetes.OpenStack.容器.Ceph.Cloud Foundry...... 导读 随着容器的落地,交付的规模和速度都在快速增 ...

最新文章

  1. math.hypot java_Java之Math类
  2. UART接口算法移植加密芯片的调试技巧——通讯调试
  3. html设置 header,http设置header
  4. 【CyberSecurityLearning 11】OSI与TCP/IP协议簇以及Packet Tracer模拟器
  5. 2019年第十届蓝桥杯 - 省赛 - C/C++大学B组 - H. 等差数列
  6. 为什么说产品经理都该懂一点机器学习?
  7. python随机生成20个数字_python – 生成大量唯一的随机float32数字
  8. 设计模式之模版方法模式demo
  9. leetcode904. 水果成篮(滑动窗口)
  10. 使用Genymotion模拟器
  11. 项目管理工具project软件学习(六) - 设置里程碑、任务备注
  12. libcurl的封装,支持同步异步请求,支持多线程下载,支持https
  13. openCV 中值滤波算法解析
  14. 如何批量导入文件夹,批量重命名
  15. 硅芯片拆解:早期 555 定时器芯片内部一览
  16. 烽火通信实习应聘经验
  17. ecshop模板文件说明
  18. 如何获取安卓手机设备名称(包括用户自定义名称)
  19. 2018 湘潭邀请赛 K.2018
  20. kafka连接mysql数据库,Kafka-connect-jdbc-source连接mysql数据库实战

热门文章

  1. AD9854 MSP430 代码总结
  2. 计算机无法安装系统,电脑为什么重装不了系统?
  3. 清华大学计算机系赵桥,赵桥
  4. 4 个方法养成大神级 “反内耗“ 体质
  5. 个人公众号成长记 - 你为什么要做公众号呢?
  6. AWR实战分析之---- PX Deq Credit: send blkd
  7. 步进电机的转矩与功率的换算公式
  8. 关于 SwiperJS 的初次使用
  9. 电脑系统安装后桌面图标隔开很宽怎么调?
  10. 【锋利的jQuery】读书笔记