00:00
大家好,我们继续来学习d deployment控制器,刚才呢,我们通过deployment控制器部署了一个应用,按照我们的步骤把它做到最终,咱通过浏览器,通过我们node节点中的任何节点的IP和里边暴露的端口号,咱们访问也看到了我们部署之后的N这个词,那我们下面继续往下来讲,咱下面做什么呢?我们就做一个这个部署应用的升级回滚,还有这个叫弹性伸缩,那下面给各位来说一下。就是咱们的最后一部分再来实现。我们通过deployment部署应用的。这么一个叫。升级回滚。和。弹性伸缩,那咱们说这是什么意思呢?其实这里边很好理解啊,升级什么意思?比如说我之前部署N这个词,咱们之前呢,因为咱们没有指定版本,它下载肯定是最新的,比如咱们一会儿这一个版本,假如我指定1.14,然后把它升级到1.15,这个叫应用升级,比如从1.15在回滚到1.14,这个叫应用的回滚,包括做伸缩,比如现在我创建多个这个web的副本,咱创建五个,创建十个,让它满足不同的应用,这个叫。
01:24
弹性伸缩,所以咱下面就来做里边的这么几个事情,那给各位我来演示一下,首先我们先做第一个东西,这里边我应该是之前把这东西已经删掉了啊,咱看一下已经没有这其他东西了,只有我们之前的样文件,咱们之前在用部署的时候有一个web web1,那我现在呢,在web点要文件中咱做修改,就我先指定一下我N这个这个版本。那我们来看一下啊。Web点样了,然后咱们看里边就是当前我这里边镜像有一个版本啊,这是我填指定,就是默认这个应该是为空的,我这里怎么指定的,你加个冒号,加上你的具体版本,比如说我们1.14这样的话,就能指定你这个NEX镜像的版本,然后这里边我们现在就来下载一个1.14的这么一个版本,我这里已经提前指定了,然后指盈之后,咱们下面做法就是通过我们的命令。
02:29
Ctl,然后加上一个a play。杠f web点样了,把这个给它先创建出来,然后创建之后咱可以做一个查看。Get POS在里边我们来看一下啊,因为它启动需要点时间,咱们多等一会儿,等它把镜像下载之后,然后咱们会看到,就是目前我们指定的int版本是1.14的版本。
03:00
我们等待啊,因为它下载校点时间,或者说我们到这个note节点中去用刀ER也能看到它当前下载下来那个就是NEX那个定向我们看啊,这个已经下载好了,然后上面还有一个下载,因为这里边就是我还改了一个地方啊。给大家说一下,就是这个地方,你看上面啊,这位置它就表示你的副本数量默认是一,我这里边为了明显我给它改成二,让他创建就是两个副本啊,就这些各位给他知道啊。然后现在我们再来查看。大家看当前是不是running状态,就是现在我们部署这个N,这个应用是1.14的版本,包括咱在noe中,我们用刀口看一下image,你看里边是不是多了一个。1.14啊,把这个我们就给它部署上了,这是我们一个场景,然后部署之后呢,下面我想对这个N这个做一个升级,先把它改成1.15,那怎么做呢?这这升级很好理解,咱们下载是不是一个镜像,我把镜像给它升级到1.15就可以了,那我用一下这个命令啊叫CU。
04:11
Ctl。隐秘值,然后加上你那个应用,就是你那个。用的名称我们叫deep play。M web啊,咱应该是web啊,然后里边比如N这个起个名字我就叫inex,等于这个叫index冒号,比如咱升级成1.15,这样的话就可以把NEX由1.14升级到1.15,用这个set隐秘可以做到,比如现在我们E回车。然后回收之后我们再来做一个查看。你看啊,这里边是他现在在做这个升级的这么一个操作啊,他在完成这么一个过程。啊,咱等他最终完成啊,包括它这个过程中呢,其实也会在这个docker里边下载到你那个1.15的镜像,目前应该正在联网下载,就还没有下载出来,咱们多等一会儿,等它最终就是下载完成这个1.15这个镜像。
05:14
啊,这个啊,就是它里边一个升级的这么一个命令,用set隐秘值把这做到,我把这个给各位先截个图。给他接过来啊,就是我们做这个。应用的升级。然后里边用这个set隐秘命令把这做到。然后咱们现在比如说我们再看一下,看他有没有下载成功啊,没有下载成功咱再多等一会儿啊,因为这个可能稍微慢一点啊,就是这个命令肯定没有错,Co ctl set image magge,加上department,咱得用名字,然后N等于N冒号1.15,它可以完成这个过程啊,咱们再等一会儿啊。
06:04
好,我们现在再来看啊,大家看状态是re状态,然后你到刀客里边看一下,1.15是不是下载成功了,但是这里边呢,其实我现在把这个它底层的过程已经给它模拟出来了,大家看到啊,我这个N这个s web,咱是不是建两个副本呀,刚才各位看过,但是你看啊,我做完升级之后,我这里边一查看啊,再找那个地方啊,我一查看你发现啊,这位置是不是有三个。大家看到是不是有三个,为什么有三个呢?说一下它里面这个升级的过程啊,给大家我来说一下啊,比如说我们现在这里边就是我有。两个这个副本啊,它里边就是做这个N这个目前他们都是1.14。这是1.14,然后这也是1.14,然后在升级中,它怎么做呢?它是一个一个进行升级,就是首先呢,它里边会怎么做,他先给你去我说一下过程啊,就是它首先先去下载这个就是1.15这个镜像。
07:09
啊,把这个先下载,但是你下载肯定需要时间,它在下载过程中,这1.14服务都不停止,还是继续提供,所以大家看到目前里边三个为什么三个这过程就在下载1.15这个镜像,等它下载成功之后,并且已经启动了,然后用1.15怎么做,就是替换掉这个1.14把它替换掉,包括第二个一样,它里边也会下载这个,然后把这个给它替换掉,因为它会创建就是。两个副本嘛,把这个下载之后,然后创建副本,然后包括把你另外的这个也给它替换掉,所以它里边是这个过程,就是当你下载完成之后,并且启动,再把旧的删掉替换掉,而不是说旧的直接停止再下载,那这样的话中间服务肯定不能停止,所以说看到里边就有多个,当然你可以建多个副本,效果更明显,咱们这边两个也看到这个效果,然后最终运行就是两个running。
08:07
两个副本,包括在刀客里边,大家也看到了1.15的这么一个镜像,所以这个就是镜像升级的这么一个特点。各位啊,知道这个过程就是它保证我这个升级过程中服务不中断。这个升级,然后升级之后呢,其实咱们可以查看一下,就是你那个升级的状态,我们查看一下哈,也是这个酷。Ctl加上一个叫rollout。啊,LOL out,然后加上一个叫CS。加上你那个就是用的名称。我们叫web,然后大家看它告诉我们是不是成功的,就是你这个应用升级是成功的,这是一个查看的命令,给各位我也截过来啊,大家把这命令知道,就是一些基本的命令。
09:00
查看你这个升级的状态,咱用的是这个叫做roll out thes加上引用名称,所以这样的话,咱们把应用就升级到了1.15这个N这个版本,这个做到了啊,然后做到之后呢,比如咱们进一步演示,假如我现在啊,我在操作中,我觉得1.14更好,我想给他再还原回到我们之前版本,而这种场景是一种很多,比如咱们在线上一个项目,我项目更新了新的功能,但是这新的功能中,比如他出现了很多的问题或者很多的bug,那咱给他是不是要还原回到我们老的那个版本,让它可以正常运行,所以这个叫回滚,比如现在我想把这个就是andex再给它还原回到咱们的1.14版本,那这个怎么做?给各位说一下啊,首先第一个呢,你可以查看一下你那个历史版本,就这里边咱就给加上一个叫history。
10:02
注意是不是历史,然后把A写错了啊,把这个thes给它去掉,就是把the位置加上我们的history,这可以查看你的历史版本,然后大家看目前是不是有两版本,其实第一个就是1.14,第二个就是1.15,所以咱要还原回到之前版本啊,这是查看你这个升级的历史,用这个可以看到就这个。History。这各位知道啊,因为咱目前是两次,所以我们查看到是这么一个结果。我写一下啊,查看你升级的版本,然后咱们用的是这个命令叫history,然后查看之后咱们可以还原到之前版本,那还原怎么做呢?里边有两个操作,第一个你会还原到它的上一个版本啊上一个版本那我们来一个CU。Ctl叫rollout,后面这位置不加history,加一个单词叫undo。然后这样的话,你回车它就能还原回到你的上一个版本啊,就直接这么做可以了,包括咱也可以看一下那个状态。
11:08
就是里边啊,你看他现在正在还原,然后最终是不是成功了,所以这个啊,就是怎么进行一个。回滚或者说还原,用到这个命令。给各位截过来啊,就是咱们刚才提到的。他要。胡一道。上一个版本。因为一般来讲啊,咱们回滚操作大部分时候都是到上一个版本,所以我们这里边用这个命令可以做到叫这个rollout安度,然后加上你这个应用名称啊,这个以做到,然后除了这个之外,咱还有一个操作,就是你可以给他回滚到指定的那个。版本中去,那怎么做呢?咱看一下啊。它还是在这个基础之上,就这个安度基础之上,然后在最后面。
12:01
咱们给他加上这么一个指盈版本,因为咱目前版本是不是有一和二,包括咱可以用这个杠杠help。来做个查看,大家看啊,就这个叫杠杠two-reverion,加上你那个指定的版本的名称啊,比如说我们加一个杠杠to-reversion。等于版本,因为咱刚才是一和二嘛,比如给它放到我们的二的版本,这样的话就完成这么一个指定版本。这个回车,包括咱可以看一下当前这个状态啊,他目前正在做这个回滚,所以这个啊,就是指定版本的。这么一个操作,这各位啊,给他要知道。然后把这个给各位,我也是接过来,就你记住里边的几个最基本的命令。拿到这里啊,就指定版本用这个叫杠杠two-re,这命令记不住没关系,因为咱通过帮助都可以看到里面有各种事例,把这命令能给它弄到,这样的话咱就做到了一个升级和回滚的操作,升级用这个就是set image,升级你的镜像,然后包括看状态,回滚用这个roll out,包括安度上一个,包括指定这个杠reverion到你的这个版本中去,这样的话完成了啊,然后除了这个之外呢,在里边还有最后一个操作,这一操作就叫弹性伸缩。
13:32
什么叫弹性伸缩呢?比如说我现在啊,我这里边有很多的请求访问,我想给他提供更多的服务,那这个时候咱们可以给他添加上更多这个就是应用或者更多的服务给他提供,那怎么做呢?这里边啊,其实就类似于我们刚才建那个副本,然后里边有个命令给各位说一下啊,比如说咱先查看一下。你看啊,目前咱是有两个,比如现在我再多创建就是几个这个服务库,C加一个叫四类啊,SC加上deployment。
14:12
加上咱们的名字,然后加上一个杠杠叫。等于你那个伸缩的副本的值,比如咱来十个,现在我一回车,它就会创建这么多副本,包括咱们看一下啊,目前正在创建,你看这里边最终它会多出来就是十个这么个东西。这样的话就叫弹性伸缩,目前都是软性状态,所以这个啊,就是弹性伸缩的一个特点,就是让他提供更多的这些服务,用这个我们可以做到啊,我把这个给大家也是接过来,就是这个操作,咱之前应该也是用过的啊,现在给各位就是进一步说明一下。这个啊,就关于我们说的controller中的第1DEPLOYMENT控制器的这么一个演示,然后最终给大家最终总结变啊,在这里边你要知道控制器呢,是在集群上管理和运行容器的一个对象,它是一个实际存在的,功能更加强的,不像pod是一个抽象的。然后里边第二个它跟pod关系,就是pod和CTRL之间通过label它的标签建立关系,Pod通过控制器实现运维的,比如咱刚才演示的伸缩滚动升级,包括这个过程。另外它的场景deployment是一个最典型的控制器,它一般用于我们的如中无状态应用,比如说外部应用等等,包括咱刚才做的操作,先通过样的方式我们导出了包括部署应用,对外暴露端口,然后咱们通过note键上的任何一个节点加上端口号可以进行访问,就这部署过程各位掌握。
15:54
然后除了它之外,在下面内容中咱又说到了我们这里边怎么升级,其实就是升级你的镜像用set image,包括查看状态,另外怎么回滚,就回到指定的版本,或者你之前上一个版本用这个rollout安度,包括做一个弹性伸缩,就是创建更多的副本,用这个replay case进行创建,这个咱们现在都做了演示,所以咱们现在就把这个控制器中的beplayment控制器给大家就演示完了,就是你把我刚才演示这些过程给他自己实际动手去操作一遍,里边就是一些最基本的应用啊,包括这些命令的使用,这些命令咱通过那个杠杠help应该都会看到。
16:38
所以这样的话,第1DEPLOYMENT控制器给各位就最终演示完了。
我来说两句