k8s的回滚应用
kubectl apply 每次更新应用时 Kubernetes 都会记录下当前的配置,保存为一个 revision(版次),这样就可以回滚到某个特定 revision。
默认配置下,Kubernetes 只会保留最近的几个 revision,可以在 Deployment 配置文件中通过 revisionHistoryLimit 属性增加 revision 数量。
下面实践回滚功能。应用有如下三个配置文件 httpd.v1.yml,httpd.v2.yml 和 httpd.v3.yml,分别对应不同的 httpd 镜像 2.4.16,2.4.17 和 2.4.18:



通过 kubectl apply 更新应用

--record 的作用是将当前命令记录到 revision 记录中,这样我们就可以知道每个 revison 对应的是哪个配置文件。通过 kubectl rollout history deployment httpd 查看 revison 历史记录。

CHANGE-CAUSE 就是 --record 的结果。
如果要回滚到某个版本,比如 revision 1,可以执行命令 :
kubectl rollout undo deployment httpd --to-revision=

通过查看历史 revision 由3版本变成4版本 ,其实这个4版本对应的就是之前的1版本
通过查看当前应用版本发现 符合上面描述的 1版本对应的 httpd:2.4.16

想要实现回滚功能,必须要加 --record 记录应用的版本。
k8s的回滚应用的更多相关文章
- linux运维、架构之路-K8s滚动更新及回滚
一.滚动更新 应用程序一次只更新一小部分副本,更新成功后,再更新更多的副本,最终完成所有副本的更新. 滚动更新的优点:零停机,整个更新过程始终有副本在运行,从而保证了业务的连续性. 1. ...
- k8s学习笔记(3)- kubectl高可用部署,扩容,升级,回滚springboot应用
前言:上一篇通过rancher管理k8s,部署服务应用扩容,高可用,本篇介绍kubectl命令行部署高可用集群节点,测试升级.扩容等 1.测试环境:3节点k3s,使用其中2节点(ubuntunode1 ...
- 9.2 k8s结合Jenkins与gitlab实现代码升级与回滚
1.部署Jenkins 1.1 安装jdk # apt 安装jdk11 apt install openjdk-11-jdk # 查看 root@jenkins:~# java -version op ...
- k8s 回滚应用
kubectl apply 每次更新应用时 Kubernetes 都会记录下当前的配置,保存为一个 revision(版次),这样就可以回滚到某个特定 revision. 滚动更新是一次只更新一小部分 ...
- jenkins自动化回滚阿里云k8s应用版本
jenkins 服务器需先保留着原先构建的不同版本的应用镜像 [root@jenkins sh]# docker images|grep "maintain" registry-v ...
- 阿里云k8s构建镜像时设置版本号用于版本回滚
jenkins 构建配置参数化构建过程 构建 执行 shell , 将版本号参数传入 脚本 脚本push 带版本号的镜像到阿里云镜像仓库 #!/bin/bash #获取参数 while geto ...
- k8s用kubectl管理应用升级,服务发布与回滚,扩缩容
应用升级 Kubectl set image --help 有案例指定新版本 [root@k8s-master ~]# kubectl set image deployment/nginx nginx ...
- k8s deployment 金丝雀发布 更新的 暂停 恢复 回滚
假设现在有业务需求,计划将所有的nginx 从镜像版本1.14更新到1.15,这一次发布不紧需要平滑发布,还需要 金丝雀发布,及确认其中一个Pod没有问题后在进行剩余的更新. 暂停与恢复也可以使用ym ...
- 9.1 k8s pod版本更新流程及命令行实现升级与回滚
1.创建 Deployment root@k8-deploy:~/k8s-yaml/controllers/deployments# vim nginx-deployment.yaml apiVers ...
随机推荐
- oracle ocp 052考试学习
1.数据字典存储在SYSTEM表空间中. 2.SYSAUX可以offline: SQL>alter tablespace sysaux offline; 3.SYSTEM和SYSAUX都是永久表 ...
- 关于如何利用原生js动态给一个空对象添加属性以及属性值
首先,回忆一下,访问对象属性一共有两种方法:点获取法和方括号获取法.而我们最常用的就是点获取法了.但是当我们遇到需要给对象动态添加属性和属性值时,点获取法好像就不太好用了,尤其是我们不知道属性名的时候 ...
- 如何控制DBGrid里面显示的浮点数小数点后的位数?
现在dbgrid里面显示的位数太多,有10几位,根本没办法看.请问怎么设置能控制小数点后的位数呢?在c语言里面是 %7.2f就可以了,可惜不知道dephi里面怎么做啊谢谢各位指点 方法1: 把那些 ...
- typescript 贪吃蛇[学习过程中,模仿的一个例子]
代码实现ts: 1 'use strict' module Main { const FloorType = { space: "space", snack: "body ...
- 前端MVC
闲来没事,画了个张图,是我理解的MVC
- hdu 1284 钱币兑换问题 (递推 || DP || 母函数)
钱币兑换问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Subm ...
- BZOJ 2820: YY的GCD | 数论
题目: 题解: http://hzwer.com/6142.html #include<cstdio> #include<algorithm> #define N 100000 ...
- 单个回调函数中返回多个Request以及Item
import scrapy from myproject.items import MyItem class MySpider(scrapy.Spider): name = 'example.com' ...
- jquery学习之add()
解读: add() 将元素添加到匹配元素的集合中 例1: <!DOCTYPE html> <html> <head> <style> div { wid ...
- 51nod1031(简单斐波拉契数列)
题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1031 题意:中文题诶- 思路:对于第x块骨牌的情况,我们用a ...