00:00
前面我们安装好了NFS文件系统,接下来我们看一下如何使用原生的方式来对po的数据进行挂载,比如呢,我们这有一个压面尔文件,我们不用详细看看关键几个点,首先呢,它是一次部署,这次部署呢一定会使用一些镜像,比如呢,我们这在containerers,现当我们这次部署要产生哪些容器,然后在容器这一块呢,会声明我们用NGX镜像,那这样的话呢,我们就会部署两个以N次镜像为标准容器的pod,而每一个这个容器呢,我们现在又需要挂载,所以呢,你会看到这呢,在下边还有一个写法叫volume mount,就是我们的卷挂载,而卷挂载呢,它在这有一个叫mon pass user share ns htmr,这句话代表的意思就是我当前的inx容器,它内部的这个路径user sharell inx挂到外边,但是呢,挂到外边叫啥名字呢,叫HTM。
01:00
HTML是怎样的挂载方式,它是在下面声明的,在volumes里边有一个名叫HTMMR这种方式的挂载,而这种呢,挂载一看,它是用NFS网络文件系统的,相当于是是我们这个NX启动的pod,它内部的这个路径最终呢,映射到我们NFS服务器的这个路径,但这一块的IP改为自己服务器的IP,那我们这个n FS sor服务器的IP是我们主节点的,所以我把这一块呢复制过来,然后来到我们这儿,我来改一下,改成我们服务器的IP,那我们刚才呢,这一段压面呢,翻译过来,我们就是这个图例,比如我们现在启动了一个pod,其实呢,我们现在启动了2POD,所以呢,我把这个pod呢画上两个,而且呢,这个pod它内部的user share engines htmr这个目录,再确认一下user share engines htm这个目录它。
02:00
它挂载到外边,当然这次挂载的配置呢,名叫HTML,所以呢,就找它同名的HTMMR这一块名字呢随便起对吧?然后呢,我们找到以后呢,我们发现它声明的是一次NFSNFS呢映射的路径是这相当于呢,我们的挂载就会挂载到NFS服务器的这个路径,而且大家注意,因为我们起的呢是两个pod,相当于这两个pod呢,会共用一个路径,也就是说接下来啊,如果我们在网络文件系统这个NFS上边,我们只要一修改它的这一块什么PV文件夹,我从这呢引过来,只要呢,我一修改这个PV文件夹里边的内容,这两个pod呢,相当于都改了,那我们把这个案例呢,我们来测试运行一下CTRLC,我们直接来到我们这VI deploy点一个压面,然后呢,把这个内容我们粘贴到这。
03:00
压面文件的啊写法我们在这儿呢,就不给大家详细展开了,因为我们在大厂学院里边已经讲的非常多了,所以我们在这儿呢,只是直接来使用,我们把这个deploy以应用啊,我们让它创建出来,创建出来以后呢,大家就会看到get a pod,那这个pod呢,将来会创建两个,这个pod名叫NSPVDEMO,因为我们这次部署呢叫NSPVDEMO,那么就等这两个pod呢启动起来,只要它启动起来,Pod里面的这个数据,它呢就会挂载到我们NFS网络文件系统里边,稍等一下,等上一阵我们再来看一下,我呢等了一段时间,我们发现呢,它一直是容器正在创建中,所以如果遇见这些问题,你呢就应该来检查一下,比如我们可以使用这个命令叫describe,就是描述一下我们的这个pod怎么样了,或者呢,我把。
04:00
的pod呢,在这一粘你使用这个命令描述,它呢,在最下边事件里边会打印我们这个问题,比如他说fill mount,就是我们挂载失败,或者呢,你在可视化界面,那我们这个入门学习呢,我就直接看可视化界面,我们起的这个pod,就这两个pod,它一直呢没好,为啥呢,点进去看一下,在它的下边事件里边呢,这一块就描述的很清楚,说mountt y6我们挂载券的时候呢,有问题,问题的原因是说NFS的这个挂载,这个挂载呢是就是我们的这个data n xn n这PV我们需要有这个目录,但是no such file or directory,也就是说你想要挂载之前,在我们这个NFS服务器上,你得先有这个目录,你就CD到n FS data里边,因为我们的这一块的写法呢,是把它的NXNG这个PV,这个目录下的内容跟我们内部的user share n。
05:00
对应,所以呢,我就在这先创建出这个文件夹,Make darr-P啊,我先创建出这个文件夹,然后呢,这个文件夹确定有了以后,我接下来再来看,当然我们的这次部署呢,我最好可以给它删了,因为这次部署呢,它是失败的,所以我可以重新我们把它的这个部署文件是在这个目录下,在root目录下就是我们的deploy部署文件,我们重新把它部署一下,可以把它先删,比如delete-f deploy下,然后呢,再重新让它部署一下play,杠f deploy下面,好,那这个写好了以后,我们在这一块来确定一下,那么现在呢,新创建的这两个也是五六秒前创建的,点进来最好看它的这个事件里边successful,对吧,一切都是正常,然后也没有啥报错,而且呢,Started container nnux就是已经呢启动N容器了啊,再等一会儿,诶我们这块呢就已经。
06:00
的对吧,我们现在呢,重新启动的这两个N就有了,而且呢,按照我们的这个图例,因为呢,我们这个pod是以deployment启动的,它呢现在启动了两份,这两份呢,其实它的位置都是指向的一个位置,所以相当于我只要在这个位置改页面,那这两个呢也就都改了,所以我来到这儿来确定一下啊,比如我还是来到N,呃,我们来到CD到不是NNFS的data里边,CD到这个里边完数据呢,都是在NSPV里边挂在这,好我给这个PV里边呢,我准备上一个内容,比如111222,对吧,我呢放到它的index.htm2这个页面里边,然后呢,我接下来去这两个pod里边确定一下,我们在NFS网络文件系统里边改的东西有没有跟它挂载进去,所以我可以直接用可视化界面。非常。
07:00
方便,所以点进去呢,点一个执行,我们就进它的真正来挂载了的这个目录,User share n HTML就进这个目录,这个目录呢有一个index页,来看一下这个index页面的内容呢,确实是我们自己写的,这是我们进的第一个HDD67的这个里边,你进第二个叫也是一样的CD到user shell innu htm Mr来给大家看一下这个内容是不是两个都一样,所以这就是我们说的卷挂载,如果我们现在以后要启动一个po,无论你是拿deployment起的,还是我们之前说的啊,有deploy deployment,也有state for set DEMO set等一堆,但是呢,你只要想要挂载,那接下来你挂载的这个位置,你找到以后它的这个内容对吧,相当于就跟你指定的这一块是来做好影射。
08:00
关系的,这就是我们来说使用原生方式,只要NFS网络系统搭建起来,我就可以使用这个压码核心呢,就是这两块配置在容器内部,配的时候呢,我说我容器内部的这个文件夹挂到呢外边,而且呢我外边是NFS文件系统,其实K8S呢支持更多,比如S文件系统,Glass FS等等一大堆,所以你想用哪个把这一块呢,就换一下就行了,可能呢不是NFS,可能呢是S等等一大堆,对吧?好,那我们的这个原生方式我就实战到这。
我来说两句