00:00
那既然有三种创建方案,那接下来呢,创建完成以后呢,就带大家去把这些给配置,我们去使用看一下效果对吧?好,第一个使用我们的map来代替成为我们的环境变量。这里呢,举了一个例子。例子就是呢,先创建了一个我们的config map config map的名称叫special config,那它的值呢,就是我们之前创建的very和我们的charm对吧?好,还有一个呢,就是我们的。这个very charm我们是不是已经有了呀,可以等一下我们CM对吧,Special con已经有了,那接下来我们只需要创建第二个叫env,那它的log level级别呢,是我们的info级别,我们去把这个给创建一下。麦克点me nvc的DNA中Y nv.ECL,好,那这种呢,是我们以我们的资源清单的方案去写书写的这么一种格式,对吧?好,保存推出库ctl up play,杠f fev,见没有好库CTLGCM,可以看到我们已经有了一个烟v conig和我们的special conig,那我们会拿这两个conig文件呢,去注入到我们的一个pod的这么一个环境变量中,我们可以过来看一下怎么注入。
01:33
好IP。Washing是我们的核心组的V1版,看的类型是我们的pod类型,那这个我们的pod叫做我们的Di test pod。好,好,Spark描述我们的详细信息,我们的容器,容器名称叫test container,那就呢,镜像是我们的map的VE1版,运行了一条命令,对吧,打印出来我们的env,也就打印出来我们的环境变量,好,底下加了一个env环境变量呢,我们先把这一段跳过,我们看下最后一个叫env from。
02:08
那因为从哪里来的,对吧,好config map啊EF con map好哪个con map呢?是因为con的con map。能看明白我的意思吧,那这样的话,那这个V的map呢,就被导入了,好,那inv的卡里有什么,我们可以过来看一下库city啊,叫做砍菲map nv的con菲map。好,那这里的唯一信息呢,就是我们的一个。呃。叫做log level的对吧,Log level的info的这么一个字段,一个键值一个键明,好那这是第一种的导入方案,直接把我们的整个给导入,第二种我们看一下,因为刚刚name给它起了一个名称,比如叫special level k,对吧,好,Value from。
03:07
Con from从哪一个我们的config map里导入?导入的是哪一个键名?那对于我们special来说,Special来说它是有两种的,对吧,K的CM。我们可以第一次我看一下。好,它是有两种的,一种是我们的special trap,一个是我们的special号,这两个不同的键名对吧?这两个不同的键值,好,那在这里我们导入的时候,导入的键名是special conig,那导入的键值呢?是啊,给它起的名称对吧?这是我们的CMCM的名称是我们的special config,那导入的special config里的哪个键呢?导入的是special的号键,把这个号键的值呢,赋予给special level k。
04:03
也就意味着现在special k的值应该是我们的。能理解我的含义吗?啊不不不。应该是我们的very对吧,因为它导入的是这个兼职。那下一个special k呢,导入的是我们的special对吧,导入的是我们的Cha。好,那我们看一下到底跟我预想的一不一样,我们再重复一下啊,我现在导入结果以后,我们应该有三个不同的环境变量,当然它的环境变量很多,但是会有这么三个,第一个是我们的env con,它的键名就是我们的log level,键值就是info,就是我想的第一个对吧?在这里的第一个我们的环境变量,第二个环境变量,它的键名是special k,它的值是我们的,对应到我们的号上,也就是我们的very。第三个环境变量是我们的special travel k,那它的我们的呃值呢是我们的charm,我们看看跟我们想象的一不一样,以及最后的我们的重启策略为never永不重启,对吧?好,我们过来创建一下。
05:16
VM炮的接麦。好准备出库哥CTR get炮了,我们看一下当前有没有一些炮,好我们就可以把这些都给清掉了,对吧,出个CD啊,Delete deploy,然后呢,刚刚啊,我们再把我们的in给它清掉,我们再看一下我们的SVC。突破CD2DELETE s VC s VC-1SVC-2SVC杠三我们都要清掉,好,我们现在运行COC啊create f麦啊COC啊get partt,它已经完成就绪了,对吧?因为它的命令一启动以后就打印了,当天的环境没了就没了,那我们看一下它的日志,Co cityllo跟上我们的炮的名称,我们去看一下。
06:21
第一个special level special level k对吧,它对应的是我们的什么very。还有就是一个是我们的log level。以及还有一个就是special的是我们的very对吧。Special key在哪里?我们去gra一下好看吗?是我们对吧。那还有一个是我们的very这里三个不同的环境变量在这里是不是都显现出来了,那这个呢,就是通过我们的con map,把我们的一个环境变量注入到我们的pod内部。
07:08
没有问题吧,可以通过这种方案,好,我们再看下一个用config map设置成命令行的参数。那这里呢,依然是我们的special conig已经存在了,对吧?我们就不再去创建了,好,那这里有一个炮的演示,我们可以过来看一下,前面都是一致的,我就不带大家去读了,到现在这些应该能看得懂了,对吧?好,Come b sh、杠C指定了一个命令,什么呢?Dollar special level key Dollar special key,也就意味着把我们的环境变量当做我们的输出的命令,对吧?其实你会发现在这里它导入的方式跟我们之前的这种方式是不是一模一样的,只是在使用思想上有一点不一样。如果你想让每一个炮的启动的命令可以被调整,那你可以通过这种环境变量的方式去注入这个导入命令,其实我们之前已经看到过了,对吧?就是通过我们的因为value value from去con map里去导入,通过这种方案去导入,对吧,导入的是我们的special的。
08:14
Com map,它里面的键民,Special号的这么一个贱民,把键值赋予给我们的special level k,对吧,这么一种方案,那我们过来看一下是不是这种效果。好YM,那我们直接去创建一个炮的1.1。好,那比如叫六六保存备书city啊,Create-FD1COOPER city啊get part好,已经运营成功了,那我们过来去看一下他的日志。看到了吗?Very强,因为我们在这里是不是让它启动以后要输出一个命令IQ,一个命令那I能调用的话,那我们其他的其他的一些命令是不是也可以被调用到,对吧?那special level k level k,那level k它对应的是level k level k对应的是我们的special com的CM。
09:16
它的键名是special号,那么对应到上面special号是very,那第一个输出very没有问题,第二输出枪对吧?那这个是一种思想导入的方式,跟我们上一个是一模一样的,对吧?好,下一个通过我们的数据卷插件的方式去使用我们的config map,依然是这个special config,那我们看一下效果。好ipi类型核心组的V1版,看pad类型mad date元素信息为dipi,它的名称叫做这个炮的名称叫做这么一个这么一个值对吧?好,那详细描述信息。那里面呢,容器,第一个容器叫做test container,用了镜像,是这么一个镜像,运行了一个meaning令cut EDC下的config下的special hall,对吧,Special hall,好,然后呢,Volume mount,我们先跳过这里,底下写了一个volume,它是跟我们的con处于同一级别的,看到了吗?好,那给这个波龙姆起了一个名称,刚刚内幕起了一个名称叫con菲格wall龙。
10:20
那这个con是从哪里来呢?这里写的是con map导入的,那从哪个con map呢?名称是special的con map里去导入的,对吧?好,然后在我们的这个容器下进行了一个wall龙膜的挂载,挂载是哪个wall龙膜的,挂载的是坎菲格的wall姆,那这样的话,这两个是不是就与之呼应了,呼应过来了,对吧?好挂载到哪个目录下呢?挂载到是ETC下的卡菲格目录下。那我们去看一下效果,VM11MA啊,我们去添加一下,那这个可能就叫做我们的111保存,推出酷CTR r play-F111加麦好酷CTRKD,我们看了一下已经结束了,好库波cityl,嗯。
11:12
呃,进去看一下日志,Ctl love跟上我们的炮幺。没有任何信息对吧,原因是什么呢?我们这里直接是看它的,我们可以这样,我稍微对它做一下调整,那这里呢,我们就不看它了,我们加一个。实力六吧,把保存霉数好,那我们去把这一个炮给它删掉,原来有个炮给删掉好酷CT啊,有一个炮正在运行对吧?我们现在进去ESEC跟上我们的炮的名称,杠it杠杠并下的bash。
12:11
没有这个meaning吧,那就SH进来以后到我们的ETC下的con中有吧,一个叫special号,一个叫special trap,对吧,那我们看一下,看下special号以及我们的special trap。看到了吗?抢对吧,好special号。那这个的含义也就意味着它会把我们con菲Mar为建名,如果以我们的W的挂载方案呢,它就会挂载为我们的文件名,对吧?文件名那键值呢,就会成为文件内容,这也是我们怎么去利用complete map达到注册中心的这么一个原理。那我们可以看一下我们的真正的map,这个更新呢,给大家呢,做了一个演示,对吧,这里给大家做了一个演示,演示的第一个就是创建了一个抗map,它是我们的。
13:09
名称叫做log康菲格。证明是log level简直是info。好,然后呢,在下面的一个deploy当中去调用了。调用的方式就是以wall的方式去挂载进来的,对吧?好挂载的是我们拉菲挂载到ETC下的扛菲目录中。那我们去把这个实验给大家做一下,好,退出,我们把这里的pad都给它删掉吧。以及我们的map都给大家删掉。稍等一下有点慢是吧。
14:15
好,已经删除成功了,那我们再去看一下我们的卡map,我们把这些卡map也给他删掉,KCM,好,已经没有了,那我们去把这个实验给大家做一下,MKDR康菲好,CDR卡菲格我们就不叫hot了,是吧?啊那我们在这里去创建一个1.1。好,我们去把这里的复制一下,给大家讲下效果。首先第一行指定创建的是我们的一个con map,那它的版本呢,是我们的核心组的V1版,那这个con map的名称呢,叫做log con。
15:04
那它的我们的叫什么namepa,我们名命名空间呢,是我们的default名称空间,那这名呢是log level是inul,好,那还有就是我们的deploy deploy extens v be塔,这是它的一个主以及版本信息,那deploy的方案,那下面这些常见的我们就不给大家重新去读了哈,没有什么意义了,对吧,已经读了很多次了,相信大家应该能理解了,好在Spark下面比较重要的我们我们详细看一下,Spark下呢,有一个跟我们的con是同级的一个W一个圈,那圈的名称呢,叫做con菲wall,那con菲map是它的利用这个券的方式,对吧,名称叫做log con,也就是跟上面这个con是con map是相互相对呼应的。好,然后在我们的容器内部进行我们的一个龙挂载,挂载的就是这么一个,挂的是这个对吧?挂载到的目录是ETC的菲格中,那也就意味着我如果到这个容器中,到这个容器中我们去看的话,那看到ETC下的卡菲格应该会有一个文件名,叫做我们的log com啊,叫做我们的log level,那里面的内容应该是我们的ino内容对吧?好,那我们去把它运行,我们看看效果,突破ctl up-F111加ma,好,Cooper city啊,Get po已经running了,对吧?那我们可以去看一下这个文件内容到底存不存在ESEC,然后呢,跟上我们的pod的名称杠it杠杠,我们去cut一下这个值它是放在ETC下的坎菲格中。
16:52
的名称叫做我们的lover。Info没有问题吧,好,那我们现在进行这个更新,我们看一下怎么热更新呢,我们就直接修改这个com map,那可以通过ad去修改,对吧,完全没有问题,好,我们把这里的值给它改掉。
17:20
比如改成我们的。第bug级别。那这里的我们的S里面,我们也给它改掉第八个级别。好保存退出,那我们再稍等一会,我们去看一下。好,看到了吗?已经改过来了,对吧,已经变成我们的第bug级别了,那这样的话也就意味着我刚才只是修改的是我们的com map,那我们的容器pod里面的内容的文件内容已经发生变化了,如果这个是我们的nnux配置文件的话,那也就意味着现在已经达到了一个热更新的这么一个目的了。那需要注意一下,Con菲map更新后,它并不会让我们的pod重载这个文件,也就是比如这是我们的N的con配置文件,这是我们的N的主进程。
18:13
对吧,本的主进程,这个主进程再启动之后,会加载一次我们的配置文件,那加载完成以后呢,它就不会再看这个文件了,哪怕这个文件发生变化以后,这个是不是也不会重读啊,那如果我能让这个pad去重启,Vista去重启,那是不是就相当于他去重新读这个文件,达到一么一个更新的状态。能理解我的意思吗?这是跟我们的某些服务的机制是有关系的,如果这个服务能够实时的监控这个文件发生变化更改的话,就不需要这么一个过程了。但是我们大部分服务是不是还是不会这样的好,那所以如果我们想达到热更新的话,我们可以改一下我们的po nots里面的一个时间,这个时间的更改呢,会触发我们的热更新,这是一种比较简单的触发它的方案,可以让我们的pod重载的方案,也不会让里面的内容发生变化,比较不错,对吧,好。
19:10
那这个呢,就是我们的一个con map的应用,以及热更新的这么一个说明。完全可以达到对吧?好,那这节课我们就先讲到这里。
我来说两句