00:01
各位大家好,下面我们继续来学习K8S中的持久化存储,刚才我们讲到了NFS网络存储就能实现读取FS服务端中的这个数据,做到持久化的一个过程,但是这个过程中啊,大家发现它本身有一个缺陷,什么缺陷的给各位说一下,比如说现在我要读取的话,我是不是要知道你FM那个服务器那个。IP地址是不是还有它的路径哦,这咱可要知道,然后这个IP地址如果让别人知道的话,是不是肯定不安全呀,另外这里边咱还要汇到他的IP里边肯定会有诸多的不方便地方,所以咱实际中在操作中这种场景肯定有它的弊端,那咱怎么弥补这个问题,所以下面咱们讲一种处理方案,这里边涉及到两个概念,一个叫PV,一个叫PVC,咱就说这个特点,就是根据PVPVC来做这个操作,那这两个什么意思?给各位说一下啊,咱说这个叫PV。
01:08
还有一个叫PVC,就是这两个东西啊,PV嘛,就是咱说的持久化存储,然后PVC是持久化存储的一个调用,这两个具体什么含义,给各位先解释一下,然后一会儿咱们写个具体例子,咱先说这个叫PV。PV呢,指的叫持久化存储,它是什么意思呢?说的简单点啊,就是可以对我们那个存储的资源进行一个就是抽象,然后他也就是理解为啊,做一个抽象,也就是说你理解为呢,咱对外给它提供一个可以调用的这么一个地方,而内部由我自己去实现,比如说这个过程,比如我现在别人想调我这个存储,那我对外给他提供一个地方,让他可以调用,或者对外提供的接口呢,可以调用,而内部怎么做的,是由我去做,由我们这些专业人员去做这个内部事情,比如内部咱们调用那个IP,调哪个路径,而外部调的话,直接提供我这个抽象的接口,可以做到,这个叫PV。
02:15
然后这里边还有一个叫PVC。PVC什么意思呢?就是你这个用户调用,他不需要关心啊,不需要关心你内部的一些实现的细节,只需要调用就可以了,比如现在这里边我这个位置有这个存储,然后我通过PVC调用,而你内部是怎么样,怎么存的,你什么IP我不需要,我只需要提供一个名字,根据名字我调就可以了。就好比说现在我们调用方法,我只需要方法名字传参数,而你内部怎么实现的,我关心只关心能不能调这个方法,能不能反映我的结果,这个叫PVPVC说的简单点,PV列为就是咱们这个叫生产者。
03:05
这在这里啊,它叫。生产者,而我们这个PVC里为它叫一个。消费者他是来存储数据的,消费者是调用的,所以这是两个概念,那我们下面就通过PV和PVC把这过程给各位来演示一下,那我们看怎么来做啊,我这里演示一个例子,然后给大家先说一下它一个实现的一个。基本的一个流程是怎么样,就是他该怎么做,那我写一下啊,首先这里边我们要做的第一部分,比如说咱肯定通过样文件,那第一部分呢,咱先做一个就是应用或者一个容器的一个部署。比如说我们一会儿部署一个pod,然后里边加上一些内容,然后内容中呢,需要做件事情,就是通过PVC做一个绑定,绑定你的PV,让PVC绑定我的PV,这是里边的第一部分,然后第二部分呢,咱需要做件事情。
04:06
什么事情呢,就是咱们这里边啊,需要给它定义这么一个叫PVC。我写一下啊,这里边就是定一个PVC,然后最后一部分咱需要就是定义一个PV,就是你的数据卷定义啊,我需要。定义。这么一个PV,所以它里面这个过程,而这过程呢,说的细致点到底什么意思呢?比如说我现在在我的PV里边,我就指定我那个数据存储服务器的IP。包括他的路径,让他能够访问到我在PV里边做定义,这过程肯定是由我们的专业人去做的,比如我这个路径,假如说4.134,比如它的IP是这个路径,比如什么date,什么FS在这里面定义,然后PVC里边干什么,你可以列为就是让PVC。
05:03
绑定我们的PV,就是通过它去调用你的PV,然后这里边通过应用跟我的PV电立体联系,最终实验的过程,然后应用能够通过PVC绑定到PV,然后做操作,而在PV里边呢,咱还要做件事情,就是定义你这个里边这个叫。存储的容量。包括你这个就是匹配的一种模式,因为这个PVC跟PC的绑定,它要根据容量和匹配模式进行匹配,什么叫容量品模式,假如我现在我要求我的PVC,它要找一个就是存储是50G的,那我这里边对应这PV里边要有对应的50G的存储。然后匹配模式,比如现在我想找一个读写模式的,那我找到P里边也有对应的读写模式,根据你的容量和匹配模式进行匹配,这过程就叫做绑定啊,就是绑定就是匹配容量和匹配模式,你是读写模式,你是50G还是多大,所以这个是一个基本的流程啊,过程比较抽象,说的简单点啊,P里边定义。
06:18
服务器的IP路径,PV里边,PVC里边就是绑定它,然后做调用,最终用里边体现出来,做咱们最终的显示,主要这么一个过程。然后这个啊,给各位做了一个说明,那说完之后,咱下面给各位就详细来演示一下这个过程,咱通过一个举个例子演示一下啊。比如现在这里边有那种啊,但为了明显我这个位置,我把这个内容先给它删掉啊,不删也可以,但为了更明显,我就用一个了,Delete-F这个我先给它删掉。然后删掉之后我们来查看一下。里边啊,应该他正在删除。然后删除之后呢,我在里边呢,咱们先建一个样文件里边就做这个应用部署和PVC的定义。
07:08
那我们来创建一下啊。我来一个,比如叫这个PVC点。样,然后在里边写内容,这内容我在这位置给各位提供出来了,就是里边一个PVC啊这个啊PVC。定义内容,咱们来看一下什么意思啊,第一部分很简单,就是定义一个deployment,我们做个部署,然后它里边的副本啊,是这个三,然后在过程中你看啊,咱们挂载路径还是这个。就是按这个那个路径,然后下面这两个一样,它这里边调用跟之前不一样了,咱用的这是PVC的方式,下面定一个PVC,在PVC里边定义什么,你看第一个啊,就是咱说那个匹配模式,这是它的容量,容量是5G,然后这个模式是读写更多,所以咱们一会儿根据它做一个绑定啊,这个就是在里面定义PVC和我们的d deployment。那我现在把这个给各位直接。
08:10
分过来,然后到里边咱给他就。保存下,保存之后我们做一个执行。这个叫PVC点样直行了,直行之后咱来看一下啊。Get。POS这里边啊,他应该正在这个下载包做这操作,然后除了这个之外呢,咱下面还有一个叫PV,然后把PV给它演示做创建。然后PV咱看一下PV里边呢,其实就是一段内容,就是定义你这个服务器的这个IP,包括路径,然后包括你的容量和匹配模式啊,咱这应该叫date这个啊d date FS,然后现在我把这个拿过来。然后到里边咱们也是做一个。
09:01
保存。然后给他也是执行下。和play-FPV点样么,现在把这个我们应该都做了创建啊,应该都完成了,然后创建之后咱可以做一个查看。查看一下啊,酷宝ctl get PV。还有这个叫。PVC。大家看啊,现在这一个PV,然后PV里边绑定了我们的PVC,你看里边做了绑定,这PVC跟PV是绑定到一起了,就这个,这是我们的PVC嘛,这是PV,然后绑定之后咱们再看一下我们那个炮。啊,他现在正在下载啊,这个已经赚进了,然后等另外两个下载完成。这个啊,应该很快马上就可以完成,你看现在。这两个都是running,还有最后一个啊,咱们等待一下啊,等它完成,完成之后呢,就是现在这个过程应该已经做到了,然后咱也可以通过我们之前的方式进入到我们pod中,然后查看下这个内容,所以你看现在做running啊,那我们最后记录一下啊。
10:13
酷ctl e。加上这个杠it,比如咱们随便找一个,就找这个N这个。把它记住。加一个。Fish。再加上它那个路径就是LS加上N这个它挂载的这个路径。到里边咱们看index.html是不是能够读取到它,就读取咱们FS中的这个内容,所以这就是PV和PVC过程,其实它本质上跟刚才NFF类似,只是里边多了一层通过PVC绑定PV最终实验的过程,而PV是由专业人士听供给我们的,我们只要写这个PVC和你的应用部署就可以了,然后最终通过这个就是容量和匹配模式完成匹配,就刚才我提到的,他去找你的PV里边有5GB,包括是读写这种模式的,然后根据他能够正常匹配,到匹配之后咱就能够做这个数据读取,包括咱看刚才这里边我们已经。
11:22
匹配到了啊,就是买PVC,匹配到这个叫买PV,所以这是关于KS中做这个持久存储的过程,各位把这个给他知道,咱们讲到了NFSPV,还有PVC。
我来说两句