首页 > 其他分享 >rc的一级升级和快速回滚13

rc的一级升级和快速回滚13

时间:2022-10-29 22:12:17浏览次数:52  
标签:回滚 配置文件 13 升级 nginx rc pod

rc的一级升级和快速回滚13

刚才创建了一个rc的资源,rc副本可以批量起多个pod,还能保证pod的高可用,

接下来我们讲解一下rc的滚动升级,再滚动升级之前我们先来看一下我们的rc副本起的pod是什么版本?每个pod的ip地址都能看见,

image-20221029175049631

都能看见每个pod的ip地址,再把它的错误输出定向到空,然后管道只看头几行,只看头3行,

 

 

接下来再弄一个rc的配置文件,把我当前的这个k8s_rc.yaml拷贝成k8s_rc2.yaml,拷贝完之后接下来有些地方需要改一改,

 

 

这里面的所有myweb都替换成myweb2,

image-20221029195313368

image-20221029195511083

最底下的镜像版本改成1.15,这个镜像压缩包在资料包里面有,待会儿上传一下,注意,两个rc的名字不能相同,所以这个rc的名字我们改成nginx2

image-20221029200614555

这个配置文件准备好之后,对比一下刚才都改了些什么,vimdiff k8s_rc.yaml k8s_rc2.yaml

image-20221029201110219

image-20221029201236845

是把所有的myweb标签都改了,镜像版本也改了,rc的名字也不能相同,

在k8s_rc2.yaml配置文件里面用到了一个镜像叫nginx:1.15

image-20221029201544425

现在还没有1.15这个镜像,所以我们上传一下,随便找一个node节点,传一下,将docker_nginx1.15.tar.gz这个包直接拖拽到node2节点10.0.0.13节点上,就100多M,rz上去也行,这个速度有点慢,如果用wget的话速度是最快的,

image-20221029202121527

image-20221029202520831

接下来这个镜像怎么传?

注意它load进来的这个标签,写的是nginx:latest版本,在当时的时候还是最新的,现在已经不是最新的,

image-20221029203024535

接下来给它打标签,

image-20221029203352746

如果你把这个标签上传上去了,在打一个标签在推一下就行了,

推到仓库

image-20221029203829164

推上来之后镜像也准备好了,那么接下来我们来实现滚动升级,

看清楚比你会操作更重要,滚动升级用到的命令是这样的,在这里我们准备好两个配置文件了,vimdiff对比我们也看过了,接下来我要把我的nginx1.13版本升级成nginx1.15版本,

image-20221029204336586

升级的时候我是希望一会是一个,一会是一个,用的是kubectl rolling-update ,你要把哪个rc升级,nginx,升级成什么样,-f 指定新的配置文件就行了,我们这个新的配置文件是k8s_rc2.yaml,接下来多长时间升级一次,- -周期,- -update-period一周期,每隔多长时间升级一次,你要不指定这个时间,默认是1分钟升级一次,我们10s秒时间升级一次,接下来它就开始升级了,升级命令如下

 kubectl rolling-update nginx -f k8s_rc2.yaml - -update-period=10s

他会先创建一个rc副本叫做nginx2,会把nginx2的副本的数量从0调到5,把nginx的rc副本的数量从5调到0,接下来它就起一个关一个,如下图所示

image-20221029205702005

我们在开一个窗口,看它pod起的数量,

image-20221029210443779

只要它存活了10s,就开始干掉,

image-20221029210625575

又干掉一个,pod就处于terminating结束状态

image-20221029210923842

又把它干掉,最终全部由nginx升级到nginx2,

image-20221029211131763

这边也会显示它的一个,升级成功,update succeeded.deleting nginx update升级完成,再把rc副本nginx删除掉,告诉你nginx的rc副本全都滚动升级到nginx2,

image-20221029211831805

那么升级完了,再像之前一样,看一下它pod的ip地址,之前有一批新的pod,我们也像之前curl一下,这个时候还有172.16.84.3这个地址?

image-20221029212120173

之前版本号是1.13,现在是1.15,这个就是滚动升级。

image-20221029212441068

大家看到了滚动的过程是10s秒一个

image-20221029212647869

刚才我们是升级,把升级反过来就是回滚,所以升级和回滚这两个配置文件都得留着,现在没有nginx的rc副本了,只有rc副本叫做nginx2,升级到指定配置文件 -f 接k8s_rc.yaml,既然是回滚需要10s秒回滚一个?改成1s秒滚一个,但是这个参数必须加,不加的话默认一分钟,滚的更慢了,

image-20221029214247488

image-20221029214423391

它是容器起来,再过1s秒,

image-20221029214630086

删掉一个,再起一个,中间时间非常短,这就回滚了,

image-20221029214925611

把资源反过来就是回滚,

image-20221029215103231

记得回滚回来,后面用的是nginx。

标签:回滚,配置文件,13,升级,nginx,rc,pod
From: https://www.cnblogs.com/ypyyds/p/16840015.html

相关文章

  • 可监控、可灰度、可回滚为什么会成为挑战?
    可监控、可灰度、可回滚:为了降低整个项目的风险,按照阿里稳定性三板斧,要求整个迁移过程可监控、可灰度、可回滚。这三个要求对服务重构没有大问题,但是对于这个同时涉及数据......
  • Codeforces Round #831 (Div. 1 + Div. 2)
    A.FactoriseN+M题意:给出一个质数,求另一个质数,使得两个数之和不是质数。解:把那个质数再输出一遍就行了。B.JumboExtraCheese2题意:给出一些长方形,按照以下规则把长......
  • 浙江理工大学入队200题——13J
    问题J:零基础学C/C++145——进制转换II题目描述给定一个二进制表示的非负整数,将其转换为十六进制数。输入输入数据有多组,第一行为数据的组数T,接下来有T组数据。每组......
  • 浙江理工大学入队200题——13G
    问题G:零基础学C/C++142——单数变复数题目描述英文单词,我们可以按照英语语法规则把单数变成复数。规则如下:(1)以辅音字母y结尾,则加es(2)以s,x,ch,sh结尾,则加es(3)以元音o......
  • 浙江理工大学入队200题——13H
    问题H:零基础学C/C++143——绝对公正的裁判题目现在,要求如果输入一个缩写短语,要求输出原型,具体看样例。输入ThefirstlineisintegerT(T<=20),thenumberoft......
  • 浙江理工大学入队200题——13I
    问题I:零基础学C/C++144——首字母变大写题目描述输入一个英文句子,将每个单词的第一个字母改成大写字母。输入输入数据包含多个测试实例,每个测试实例是一个长度不超......
  • 浙江理工大学入队200题——13E
    问题E:零基础学C/C++140——统计元音题目描述统计每个元音字母在字符串中出现的次数。输入输入数据首先包括一个整数n,表示测试实例的个数,然后是n行长度不超过100的字......
  • 2022-2023-1 20221325《计算机基础与程序设计》第九周学习总结
    班级链接:https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP作业要求:https://www.cnblogs.com/rocedu/p/9577842.html#WEEK08作业目标:操作系统责任、内存与进程管理......
  • 2022-2023-1 20221305 《计算机基础与程序设计》第9周学习总结
    2022-2023-120221305《计算机基础与程序设计》第9周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2022-2023-1-计算机基础与程序设计)这个作业要求在哪......
  • 浙江理工大学入队200题——13F
    问题F:零基础学C/C++141——回文串题目描述输入一字符串(少于80个字符),所谓“回文:是指顺读和倒读都一样的字符串,如“XYZYX”。若是回文,以输出“Yes”,否则“No”。输入......