00:00
那前面我们为每一个微服务呢,都生成了它的部署描述文件,主要有两种资源类型的部署,一种是deployment,我们部署这个port,还有分片的,然后呢,还有一种是我们的这个service,那我们这一块好像是有问题的,大家一定注意,我们刚才呢没看到现在我们的这个看的它是呢顶在最左边的这是一个文档,然后呢,我们这个三个短横杠是分割另外一个文档,我们懒得写两种配置文件,所以一定要shift table,把这个呢缩进到我们这一块,保证呢上边看的是一个文档,下边看的是一个文档,包括下边这一块提示是DOCUMENT2,那以后接下来每一个配置文件都得这么做,那我们之前呢,没看见把它这个直接复制到,诶没有复制到最左边,把这一块呢,我们都直接拿过来,全部顶到这边,那以后呢,每一个这都一样,每一个这都一样,我们把这个顶过来。那剩下的呢,下下面大家呢就先自己改,我们来说上一件事情,就是大家可能在这配的时候呢,对于我们这个port target port note port这些port都是什么,可能稍微呢有点不清楚,来给大家大概的看了一张图,那我们这个图呢,首先我们得清楚一点的就是我们的这个pod pod呢是对我们容器像要docker运行时的一个container的一个再封装一个抽象,所以呢,我们整个呢,应该是这样子的,大家注意我这呢有一个服务器零一,这是我们的服务器零一,然后呢,我们说的这个target portt target portt就指的是我们,因为我们要封装一个容器,然后呢把它封装到portt里边,然后呢到pod,要最终我们要通过这个pod访问容器,所以我们target portt指的是我们这个容器它内部的,哎,我们容器内部。
01:57
那还有一个container portt,就是容器的8080,然后呢,容器内部的这个portt暴露给我们pod的是什么端口,那就是8080,那是我们的target port,然后呢,再接下来我们呢,还有一个port,就是我们看到target portt,我们现在解释过来这个target port呢,就是我们容器内部,因为我们一个portt里边可能有两个容器,假如这有一个tomcat是8080的,我还给里边装了一个NX是八零的,以后你访问八零,给你带给8080,所以我装了两个容器,把这两个容器呢变成一个pod,那接下来我们这个808。
02:38
对,Pod暴露的呢是8080,那就是他给它pod以后,我们访问pod的8080,那就访问了pod里边的这个容器,然后呢,另外访问八零,就访问了portt里边的这个容器,所以接下来我们来写了一个portt target的portt,那就是暴露给它的,然后呢,我们还有一个叫port port呢,那就是整个我们这个port,它呢我们还会封装成一个service service呢,我们是对外访问的,我们service可以拿域名访,也可以拿我们集群里边的每任何一个节点的IP,加上我们的这个端口号访,所以我们现在呢,给这个service,如果我们是拿域名访,集群内访问的话,我们这个service呢,我们称为是服务端口,服务呢又给它一个端口,这个叫port,相当于我们如果把这个pod封装成了service,因为我们这个pod呢,不止在一个机器,有可能呢,这十几台机器,然后呢,每一个机器都有这个pod,他们统一的这个pod,然后呢封装。
03:38
成一个service,这个service呢,有一个域名,比如我们叫8080,然后呢,那接下来我们访问这个8080,那就是访问它它它它它都行,这是我们说的负载均衡策略,在最后一个那就是node port,我们既然把它封装成service集群内部呢,能进行访问了以后,那我们想要对外访问,我们就可以把它给它开一个我们的集群这个端口,这个端口呢,就叫note pod,比如我们这个31773,这个一开以后呢,只要我们这个,它会给我们现在任何一台机器,比如们现在有三台机,1233台器机器,你指定了一个这个noteport端口,那呢,它会给三台机器都开一个这个端口,所以呢,你访问这三台机器,哪一台机器都行,你只要访问了这个端口,那就是访问我们的这个service,所以我们就是这一块的功能,包括我们来如果看我们的这个界面,这块界面呢,我们都有这个提示,我们随便点。
04:38
进来,如果我们来看一个我们的这个S,我们的这个容器端口,就是我们说的target port暴露在外边的,然后呢,我们这一块服务端口就是我们说的port,然后这个三三,这个987,就是我们说的node,但现在呢。又有一个问题,就是哪个端口可以重复利用,哪个端口不能重复利用,那现在呢,只有这个节点端口是我们必须不能重复的,每一个人都不能一样,就像我们现在这一块配的这个一样,我们节点端口noteport每一个人都不能一样,但剩下的我们你看权限微服务我的端口都叫8080,然后服务对外呢都叫八零,为什么能这么做?因为我们现在呢是一个pod,我们现在呢可能有非常多的pod,我们后来每一个微服务我们都封装成了一个pod,我们微服务呢,其实是一个容器,我们自己的微服务这个容器它启动起来是8080,这个呢是我们的container portt,然后呢,它对我们的这个pod暴露的是8080,这就是我们说的target port,现在呢,我们看pod跟portd之间是隔离的,所以po每一个pod之间,它都会有自己的8080和暴露出来的8080那。
05:58
那么就问pod跟pod之间这个8080能不能重复,这个也能重复,以我们看一下现在我们的这个pod呢,每一个pod其实它都有一个自己的独立的IP,这个呢,大家把每一个pod你就认为成一个虚拟机都行,所以这是一个它拥有独立IP的,那就相当于我有三台虚拟机,我有八个pod,那就是八个虚拟机,我有1万个pod,那就是1万个虚拟机,那每一个虚拟机里边有自己的8080是没任何问题的,所以我们这两个呢,我们的target port,以及我们的这个container port,这是我们容器端口,Target port这块呢都能重复,另外呢,我们这个。
06:41
再暴露的这个port,就是我们现在把这两个port呢,封装成一个service,这个service我们暴露了一个port,这个呢也是可以重复的,因为每一个service的访问域名都是不一样的,我们看到之前我们的这个效果,每一个service呢,如果用域名访问,会有它自己的这个域名,包括呢,你也可以拿它集群的这个class IP来进行访问,都没啥问题,因为每一个service它都不一样的,所以呢,我们在这来。
07:11
访问呢是没有任何问题的,也是可以重复的,唯一不能重复的端口就是这个note port,因为我们现在呢,相当于我们呢有这么几个pod,我们现在三台机器,这个机器里边呢,跑了我们的购物车服务,这个也跑了购物车服务,但我把这个购物车服务呢,封装成了一个service,我让它对外暴露的这个节点端口是2005,那相当于将来每一台机器在它里边呢,都要开一个2005端口,这也一样2005,这也一样2005,即使我这个机器没有这个pod,你访问我的2005,那我呢也会给你转到我们这个真正的我们这个service服务里边,因为他们能互相发现,所以呢,那如果我们的service这个端口别的。这个是购物车,别的订单服务也用了2005,那他就暴露不出来了,这台机器为我们的购物车开了2005,再要为订单开2005,这肯定就端口占用了,所以我们这个东西呢,每一个微服务我们都设计成不一样,所以大家就呢,就按照我们之前的这个配置全配好,那一定注意下面这一块必须顶头缩进过来。
我来说两句