00:00
各位大家好,在刚才内容中呢,我们讲到了PD的基本概念,以及P的存在的意义,那我们下面继续来学习,咱来说一下pod它的实现机制到底是怎么样的,那我下面给大家来写一下。就关于。第三部分。Po的。实现的机制。那pod的实现机制中呢?其实它主要有这么两大机制,第一个机制我先列出来,它叫做共享网络。然后里边的第二个机制叫做共享存储,它主要是基于这两种机制做到的,一个共享网络,一个叫共享存储,那这两部分到底什么意思,下面给各位同学我来详细解释一下,就是什么叫共享网络,或者什么叫共享存储,咱们先看这个叫共享网络,那我现在在这里边给大家我来画一下这个过程。
01:03
就关于pod的共享机制中的共享网络,那什么意思给大家说一下,比如说啊,我们现在有这么一个pod,然后在一个pod中是不是会有很多的容器啊,就是它里边咱说过有一个或者多个容器,当然我强调啊,大家知道这容器咱是不是用刀壳进行创建的,就是容器它本身之间是不是应该是相互隔离的,所以我写一下啊,就是容器它们。本身之间应该是相互。隔离的,而他们的隔离呢,可以用到两部分,第一个是linu中那个叫name space,就是名称空间啊,Name space。还有一个叫Li中这个隔入进行它们之间的隔离的,就是它们之间是相互隔离而存在的,但是现在因为这个在pod里边,你注意啊,我现在这些呢都在。
02:03
Pod中,而pod中呢,目前比如说有这个一。二。三三个容器他们之间要共享这个网络,那他们之间是怎么做到呢?现在咱们就来说这个实验机制,这个要知道啊,我们这个背景我再说一遍啊,容器用刀创建,它们本身之间肯定是相互隔离的,而他们隔离通过linu中的内space维度空间和这个group组进行隔离,当然我现在在pod里边有多个容器,这多个容器之间他们要共享网络,咱就说这之间他们是怎么实现的这种机制。这各位知道啊,那各位说一下里边这么一个过程啊。首先我强调啊,就是现在这里边,如果说你让他们能够共享网络,就有一个前提条件。什么前提条件呢?写一下啊,有一个前提条件就是现在比如说我让这个多个容器,他们在同一个name space里边是不是就可以了,或者说在同一个name space下边,那他们可以做到这种网络的共享,所以咱们现在最终要达到这么一个目的,让他们在同一个内部思维下,而这个过程在我们的pod中,它是怎么实现的呢?给大家来说一下啊,我就说一下里边那个。
03:26
Pod中的实现共享网络的这么一个。机制或者说他们一个过程给大家说一下啊,比如现在我这里边呢,有一个pod,然后在里边呢,我们要有很多的容器,而在po的操作中呢,就是它在操作中首先会创建第一个容器,注意啊,这个容器不是我们自己建立些,就是相关业务容器,它是默认有一个,也可以列为叫一个根容器。咱刚才说到了,大家看这张图上。这里边这个叫这个pose,这么一个容器是一个根容器,就是它首先会见这么一个叫POS容器。
04:07
这是里边的。第一部分,而po的容器理解为它也可以叫这个INF fold这么一个容器,我写一下啊,就是它也称为这个叫INF fold容器,而info容器在我们创建po中,首先会先创建这么一个容器,这是里边的第一部分,先创建它,然后创建之后呢,我们在下面再创建相关的你的业务容器,比如咱们其他的什么等等多个容器,这里边创建,而你注意啊,加va下面是我的业务容器一,这是业务容器二,当你创建每个业务容器之后,它会怎么做呢?它就会把你的业容器给你加入到这个info容器中去,或者说到这个容器中去,就是把它会。加入进去,比如说咱们一的容器加入进去,然后你再创建个二的容器,它把二的容器也给你加入进去,就是把它们都加入到我们的info容器,容器它有这个特点,而加入到这容器中之后呢,它会怎么做呢?因为info容器呢,它会独立出有这么一个就是。
05:16
IP地址,这个mark地址,包括里边这个po,包括它有一个同样一个名称空间,所以就是说现在这么做之后,我就可以把这个一和二的容器给它放到同一个这个名称空间里边去,所以最终它能实验就是这个网络的共享,包括他们共享是一个IP,一个Mac地址,还有这么一个pod,所以它里边是这么一种网络的共享机制。这是啊,咱们做了一个说明,然后这过程给各位我再重复一遍啊,他是怎么做到的。首先咱们通过pod创建容器,它的做法就是首先会怎么做呢?首先先创建一个叫这个的。
06:03
这么一个容器,而这个容器列为也可以叫这个info容器,就是它首先会做这个事情,这个容器也可以称为叫跟容器啊,它第一部分做的事情,然后这个做到之后,下面再创建我们相关这个叫业五斗。容器。把这些再做创建,而在业务容器中,就是你每次创建了业务容器之后,它也把你的业务容器加入到info容器中,比如我的一加进去,二加入进去,因为他们都是通过info容器里边进行管理,所以他们就会在同一个内幕思维的下面,通过在同一个内幕思维的下面就可以实现网络共享,而在info里边,它会独立出一个IP。Mac地址,包括里边这个port端口号,所以他们现在都在同一个内部思维下边,然后就能实现网络的共享,这就是pod实现网络共享的这么一种机制,通过一个POS容器给它加入到同一个name space空间中,实现网络共享。
07:08
这个啊,给各位做一个说明,然后把这句话在这里边写一下啊,就刚才我提到的。我写一下啊,就是现在我们实现这个叫共享网络。他是怎么做到的呢?他通过一个叫pose。应该叫pause啊,应该是这么拼啊,没错,通过一个POS容器把你就是其他的业务容器都加入到这个POS。容器里边来,然后让你所有的业务容器在。同一个。名称。空间中,然后他们就可以实现网络的共享,所以它是通过POS容器把这过程做到的,这是POS的第一个机制,它称为叫共享网络,大家把这个都知道啊,所以咱们介绍完了第一种机制,共享网络。
08:10
然后这个介绍之后,咱们继续往下来看啊,就这里边啊,或者咱们可以看一个小例子啊,咱们看一下我这里边提供一个小例子,你看这里边啊,我这是一段样文件,然后在里边是不是一个叫counter,就是咱说那容器嘛,当然这里边没有那个POS那个容器体现,因为它默认会创建,而这些都是我们的业务容器,比如说有一个right,一个read,我这里边是不是有两个业务容器,当你创建right的时候,它会把right加到pod里面去,当你创建RA的时候,把RA它也会加到pod里面去,然后让这两个在同一个名称空间下,它就能实现网络的共享,所以它里边是这么一种机制,因为咱看到啊,在样目中,其实我们pod主要是在这里面配置,就你的container里边容器嘛,你可以配置多个,比如说name第一个,Name第二个,当然有更多在里面配置,然后他们通过POS实现一个网络的共享,或者说也可以叫info容器实现。
09:10
网络共享它里边就是这种机制,这各位给他知道啊,所以咱们解释了第一个啊。然后第一个解释之后呢,下面给大家再来解释第二个关于这个叫共享存储,因为它里边也是pod中一个很重要的一个机制。那什么叫共享存储,给各位说一下啊,其实这里边要引入到一个叫数据卷的概念,就是这个外,那各位我也是在里边画一下,说下这个过程啊,就是这个叫共享存储。Pod里边这个实现的。机制。共享存储。那这个什么意思,我来说一下啊,比如说我现在啊,这里边我们在po的这个容器的操作中呢,肯定会产生很多的数据,而这数据产生之后,咱这个数据如果你要一直使用,对于数据是不是要做一些持久化操作呀?
10:10
这应该能理解,就是给他实际存储上才能够为下面再使用,如果你不做持久化,那后面再用的话肯定没有,所以我们在pod里边,你要进行持久化的数据,这里边应该会有很多啊,我简单写几个比较常见的,比如说我们做策划数据,那大家想做什么数据。首先收回有你的。日志的数据,或者说由我们最主要那个业务的数据,比许做增加、修改、删除等等操作,会有这些数据,所以这些数据呢,咱要在pod里边做,这个叫持有化操作,你只有做持久化操作后面才能使用,如果你不做持有化操作,那你操作完成之后它可能就不存在啊,所以这里边就用到这种持久化数据的这个过程,但这过程在pod中是怎么做到的,给各位来画一下啊。
11:02
比如我现在这么来看啊,假如现在我有三个这个node节点。也,这是三个啊,假如三个节点,我们分别起个名字,这个叫NOTE1。然后这个我们叫no刀,然后这个咱们叫NOE3啊,有三个节点,而在三个node节点上边,咱在这个就是里边是不是可以创建那个pod啊,比如说我第一个里边我有一个pod。然后pod中呢,他可能要做一些相关操作,比如做什么增加什么修改删除等等操作啊,里边要作各种事情,但是现在有这么一个问题啊,假如我现在这里边呢,有三个节点,比如说咱们在操作中,当我第一个节点,比如它突然挂掉了啊,就是它已经宕机了,或者说挂掉了。就是宕机了或者挂掉了,那这个时候我这个节点是不能用了,那我现在怎么做,我这po的这个就是部分是不是要给它飘到我这个加减上,因为它有一个故障的转移嘛,让我加节点继续来提供这个循环服务,但是这过程会有问题啊,因为我们现在这pod这个节点已经没了,它要到一个新的一个note里边去,因为大家知道这个pod里边有很多容器,而这过程其实就是一个什么。
12:22
是不是就是一个镜像啊。这能理解吧,啊,就是它本身其实就是一个镜像,而你定向在这里边没有了,你在其里边是不是要重新再新建一个,或者重新要拉取一个新的镜像,当你拉一个新的这个镜像的时候,那里边数据默认是不是就没了,是不是就是一个空的这么一个镜像,就是里边应该没有你之前的数据了。这应该能理解啊,比如现在我这里边。在这个NOTE1里边,我创一个pod,然后里边有相关数据,它本身肯定是一个镜像,然后现在当我这个挂掉了,那我给它就是飘到我的NOTE2中,NOTE2中呢就创建一个新的一个镜像,然后这里边新的镜像中默认数据肯定就没有了,它就不存在了,那这个时候我们还想用之前的日志数据,业务数据都不存在了,特别是业务数据肯定很重要,但是现在已经没有了,那你之前操作怎么样,我们肯定都不知道了,所以这个过程咱就需要怎么做,咱就需要对我们这个数据做一个叫持久化操作,说的通俗点就给它,真正给它存储到一个地方中去。
13:28
假如现在在这里边,我就做一个持久化的这么一个存储。而这里边的存储,比如说我第一个数据,在我操作中产生的数据,然后把这数据就存储到这个里边去啊帮,当然它挂掉之后,那这里边我又新拉取一个新的镜像,然后新的镜像到里边,是不是也能再次读取到你的数据啊,他们都能读取到,包你有第三个节点,比如这里边,从这里边也可以进行数据读取,所以这个过程就叫做共享存储,它通过一个地方做这个持久化存储做到而持有化存储,在咱K8S中引入一个概念,这概念叫数据卷的概念,我写一下啊,就是这个叫外。
14:16
VO。MN用这个叫数据卷,你理解为就类似于我们做这个存储一个介质,用它实现我这个数据的持久化,当你每次做操作,那就从这个数据卷中读取到在那个之前的数据,然后你就可以使用,就算我拉取是新的镜像,你能读取之前这话那种,就好比说一个数据库,只要里边存了数据,那我们这里边可定都可以给它读取到,所以这个过程就叫做共享存储啊,共享存储就是用到这种机制给它做到的,引入一个数据卷的概念,做这个智化存储。所以这个啊,各位知道它的这种机制,然后我把机制在里边给各位,我也是写一下啊。
15:02
就是第二个机制叫。共享存储,它的机制就是引入了一个数据卷的概念,就是这个叫。然后使用数据卷进行持久化的存储,这样的话就能实现共享的存储的这么一种机制,所以这个啊是我们说的两种机制,一个叫共享网络,一个叫共享存储,那共享存储要怎么去体现出来,咱们也是看一下这个例子啊,就刚才这个例子。你看啊,我这是一个样文件,然后这里边呢,我有两个容器,就一个right,一个read。Right里边呢,它的镜像就是3Y啊,然后里边其实做的是一个循环就是。频繁就是依次一到100循环,然后像这里边哈中写这个就是相关的数据啊,主要做这个循环写数据,然后read里边就是用TL-F从里边来读取数据,就是一个写一个读,里边有两个操作,然后这两个操作中,因为你写之后呢,这数据要通过里边读到,那如果说咱们没引入数据点或者说句话存储的概念,那它肯定读到,他只能写肯定后面读到,因为你新的镜像里面肯定没有东西了,那怎么做?当咱们每次写完之后,把这数据就通过持有化的方式存到这个数据卷中,然后这里边从里边能读到,然后各位看啊,W数据卷在里边名字叫date,一个叫empty dl,就是一个空蒙,里边就是为了做那个催化存储。
16:42
然后咱们在每个这个就是容器里边都给它挂载上这个数据源,你看挂载啊,Volume mountains是不是挂载,然后这是名字,这是里边那个路径啊,给它都挂在里边去,然后你向这个名制中路据中写入,这里边从名字路径中给它读取到,这样的话就能实现一个共享的存储,通过一个数据卷对一个存储,就类似于咱们一个数据库这么一个东西,只是它里面叫数据卷。
17:10
Mdr,然后里边进行存储,这里边做这么一个挂载。给各位啊,我特别画一下,首先在里边这个地方。它就是挂载这个数据卷。啊,包括下面也是这个叫。挂载数据,然后在下面这位置,它就是定义我们的数据源啊,就用这个叫W,然后里边加上这个名字,还有它这个empty点,就默认这个空的,然后往里边可以依次给他。放入数据做一个这话的这么一个存储,所以这样的话,咱就把这个就是pod中的两种机制给各位就说完了,大家把这知道啊,我最后快速重复一遍啊,第一个叫共享网络,共享网络中呢,它用的是一个POS这么一容器,就是让我们所有的业务容器放到同一个名称空间中,能实现网络共享。第二个叫共享存储,引入了一个数据卷的概念,叫W,然后使用数据卷进行持久化的存储。
18:21
啊,所以这样的话,咱就把这个pod中的两种最基本机制给哥就说完了,比如说咱们现在讲的,包括刚才说的存在意义,都是讲一下剖的中一些比较底层的过程,这底层过程也各位对它也要有一个认识啊,因为咱们学过东西嘛,有的时候不能只能会用,你要知道它内部的一种实现机制,包括咱们现在给各位就做了一个讲解啊,所以这个机制我们就说完了。
我来说两句