00:01
各位大家好,我们继续来学习KS,刚才我们讲到了KS中一个核心的概念ctrler控制器,讲了里边一个最常用的d deployment,包括讲到它怎么来发布应用,怎么做升级回滚以及弹性伸缩,那咱们下面继续往下学习,咱下面要学什么呢?给各位说一下,也是学一下我们KS中一个很重要的概念,这概念叫做。Service,咱就来学service service呢,在之前内容中呢,给各位应该介绍过,咱可以先回顾一下啊,当时我们讲到的。Pod最小的部署单元crler控制器service是什么呢?它表示定义一组po的反规则,也就是说我们现在啊,咱们进行访问的过程中,首先先访问的其实是service,然后service建立pod关系,最终完成这个操作,就是通过controller创建po,然后通过service。
01:02
这个里边建立关联访问pod,包括访问里边的应用,所以它里边是这个特点,那这个service它存在的意义到底在哪里呢?下面给各位来自我介绍,所以首先我们先说第一个内容。就是关于这个service,它存在的意义,就是为什么要有这个东西,包括它存在是出于什么目的而设计一个service,那我下面给各位来做个说明。首先里边的第一个存在意义就是Siri,它存在其实为了什么呢?是为了防止咱那pod失联,这是第一个。他为了防止。这个pod。失联。那这句话什么意思呢?给各位来解释一下啊,其实这里边用到这种机制,这机制就叫做服务发现。那位各位详细说一下,比如说啊,咱们看一下啊,就是咱之前在我这里边,我们部署过很多的pod,比如咱们看一下。
02:06
裤子睡甜了盖一套。是不是有很多,包括咱看的详细点,加个杠O的。然后大家仔细看啊,你发现啊,这里边个pod对应的是不是都是一个IP地址啊,而每个IP地址是不是都不一样嘛,咱曾经说过pod里边它的这个是短暂的嘛,就是它每次比如说你更新回滚,或者说重新创建,那IP地址都会要发生变化,就是它的IP肯定是不固定的,所以我们用S为了防止它这个失联,做一个复发现。那这是什么意思,给各位画个图,我们来说一下啊,比如说啊,我这里强调,假如说咱们一个正常一个网站,一般来讲这么几个流程嘛,比如说我们现在访问第一部分网站中,是不是有我们的页面部分啊,咱通俗说就是我们的前端。
03:00
这一部分,然后除了前端之外,是不是有咱们的后端,而咱们访问首先访问的输入咱们这个前端呀,比如现在我反问网站,我做注册,那在前端页面中咱们填写注册信息,然后它会返咱的后端,在后端里边就是得到你添加过来这个猪的信息,然后把信息最终是不是加到咱这个数据库里边去,或者说我们的DV里面去,所以它里边有这么一个过程。这各位应该知道啊,而在访问中呢,这是我们普通方式,但是在实际中,我们现在把这过程是不是通过咱的pod进行最小的单元部署,比如现在我这里边有多个pod,咱通过pod。进行部署,那部署中假如我现在啊,我在前端部分中呢,我们有三个pod。然后在后端我也是有三个pod,比如说我们是这么一个场景,那这个过程中,比如现在我先访问前端,进入到前端中的某个pod里面去,然后这pod里边它是要进入到后端中的某个pod中去,也就是现在我通过前端的pod要进入到咱们后端的pod中去,那怎么进入呢?就这过程怎么来进入到。
04:18
后端的坡道中去,它里面一个最直接方式是不是用咱的。IP地址进行访问啊,但是IP地址有个问题,就刚才提到的,因为咱的pod IP地址是不是不固定的,比如现在我做了一个滚动更新、升级、回滚等等操作,那它的IP是不是都要发生变化呀?假如第一次我都注册访问到我们某个IP的pod,比如说等了几秒之后再访问JP是不可能就不存在,是不会有这个问题,所以里边目前就存在这么一个问题,就是它可能会出现pod失联的情况,而咱现在service就为了解决这问题,那service怎么解决呢?给各位说一下,比如现在。
05:01
我这里边你可以理解为啊,当我现在呢,我要进行访问,那我pod是不是有它的IP地址啊,然后pod怎么做呢?它就把自己的IP先在我这地方做一个注册,就是在里边做一个叫注册,什么叫注册呢?比如现在我这pod它里边做后端,比如一个注册功能,然后IP,比如说有1.2.168.1.1有它的名字,有IP,然后这里边已经注册,而现在比如说我通过前端po去访问后端怎么做,他先到我这位置去找到你这注册功能对应的IP,找到之后再进行访问,比如现在我这IP发生变化,那它会通知这个位置,告诉别人调的人,我这IP变了,你用我新的IP进行访问,所以它里边起到的就是这个作用,而这过程用的就是我们的。思维做到的,他做的功能理解为就是做咱这个叫。服务发现的过程就是通过我这个过程中找到你具体功能对应的IP,然后告诉调用者,调用者从里边得到最新IP进行访问,所以这个叫副发现,也是咱们service存在的一个意义。
06:16
不知各位是否知道啊,有这么一个工具叫注册中心嘛,就是services,跟它的过程有点类似,做这个服务发现过程,通过里边我们注册pod IP,然后他拿到新的IP进行调用,当我这个po的IP发生变化,他会通知其他人,然后其他人用新的IP再进行访问,所以这个过程就是咱说的复发现,而咱pod这里边包括跟斯瑞。它里边就是通过复发现防止破失点,所以这是它存在的第一个意义。各位给他知道啊,就是为什么存在它,为了防止这个就是po失联。这各位也就知道是咱们说的。
07:00
第一个特点。就是存在意义,然后它除了这个特点之外,我们service存在还有第二个意义,给大家说一下第二个一是什么呢?它就是定义一组关于pod的一个访问的一个策略,说的简单点就是做一个事情,叫做。负载。均衡。会做这个事情,那这个什么意思呢?给各位说一下啊,比如说我现在还是刚才那张图上,我通过这个前端pod要去访问咱们后端的pod,那我后端pod里边咱是不是有三个pod。我这里边比如说我有三个画到这里啊,那我有三个pod,而我现在想通过这个前端的这个pod去访问后端的pod,而后端我现在有三个,比如这是第一个,这是第二个,这是第三个,而这三个pod你说我要访问到哪一个,是访问第一个,是访问第二个还是访问第三个,所以这过程中也要经过咱们的这个叫service。
08:03
Service,而service做什么事情呢?就是做咱刚才说那个叫负载均衡的一个效果,比如现在我访问它怎么做,让我这个请求访问给他平均分担到不同的po上去,比如现在我有十个访问,那让三个这个pod平均分担你不同的请求,这个叫负载均衡,也如是定义我这个规则,比如我怎么定义,假如我现在根据我这个想时间定义,根据我这个就是并发多少定义,根据我这个空闲时间定义,比如说谁闲那给谁分配,谁里边比较忙就给它不分配,所以这个叫负载均衡,就是定义一组pod的访问策略,这称为叫负载均衡,而这过程我们用service也是可以做到的。所以这个是service存在的,第二个,以这个给各位做个说明,然后最终我来总结一下啊,就是service存在第一个以防止pod的失联啊失联。
09:04
就是它失去联系,因为它的IP要不断变化嘛,所以咱们用这个service作为一个叫服发现的过程,防止它失联,这是第一个啊,然后里边第二个就是定义组pod的反问策略,这个过程叫负载均衡,所以咱们S维存在就是因这个而存在,因这个而产生的这么一个过程。这是我们提到的这么一个部分啊,所以各位把这知道就是space为什么要存在。然后这个说完之后,咱下面继续往下来说,就是这个service,它跟pod之间他们到底的关系是怎么样,就是他们怎么来建立关联,比如现在我通过service在里面注册,怎么通过service找到IP等,这个过程他们是怎么建立关系的,那各位来说一下里边的第二个内容。就是关于这个po的。和service。
10:00
他们之间的这么一个关系,那给大家我也是在里边画个图,给各位说明一下。那我来画一下啊,比如说我现在啊,在我这里边呢,我们有一个这个service,然后里边还有很多这个po啊,假如说我这是一个。Service,我画一下。Service。然后three,比如它下面有很多这个就是pod啊,假如我们画三个pod。这是三个,然后里边我分为给他写一下,就是这是一个。这个也是一个pod,然后最后这个也是一个pod啊,里边有三个pod,而我现在想要让这个service和咱的pod它们里边建立这么一个关联,或者建立一个关系,那他们是怎么建立关系呢?其实这个跟咱之前说那个CTRL跟pod类似。
11:00
不知各位是否记得啊,当时咱讲那个controller的时候,它是通过什么建立关系?是不是那个标签呀,一个叫label,一个是不是叫这个select,而现在他们是一样的,他们也是根据这个label和select标签建立关联的,我写一下啊,他们是根据这个label。和这个。标签建立。关联的,也就是说在现在这个过程中呢,我们在Switch里边给它做这么一个定义,而这个定义我写一下啊,比如我们叫这个select。加个冒号,然后在里边加上,比如这名字叫APP,它的值,比如我叫N,这是定一个标签,然后定义之后咱在pod里边再进行定义,这个叫labels。然后在里边也是来一个APP,这个叫N这个词,因为这两个名字和值是不一样,所以他们通过这个标签来建立它们个关系啊,所以它里边就是这么一个特点,通过他们建立关系。
12:09
这是我们提到的啊,他们之间的一个关联关系。而这里边各位注意,就是Switch通过这个关系,然后实现pod的附带均衡,包括它的副发现这么一个过程。啊,这是我们写到的啊,然后给大家写一下。就这一句话。就是通过service。它来实现pod的。这么一个叫。负载均衡,包括咱刚才说那个复发现啊,就是防止它失联,所以这个啊是我们提到的这么一点啊。然后在这里边给各位强调啊,就是现在这service,因为咱们最终访问的时候,肯定先要进入到service,而service呢,它肯定也是有一个IP的JIP呢,肯定不是我们pod IP就是它不是POD1,也不是POD2,它有自己一个IP,而IP理解为有一个词,它叫。
13:02
VIP或者说叫这个虚拟IP。因为这种我们设计中经常见到,比如你做那种高可用,经常用那种虚拟IP这概念,所以现在wi里边会有一个虚拟IP,当咱们访问是通过虚拟IP进行访问,就是对外暴露是虚拟IP这个地址,然后通过它访问S瑞在进行里边做这个复发现,包括负载均衡过程,所以这是关于po的与service之间的这么一个关系啊,它们就是这么来达到这么一个关系建立的。所以各位做了一个说明,我最终总结一下啊,刚才提到的SS,它是为了定义一组访问pod的这么一种规则,然后它可以防止po失联,就是复发线,因为po IP不断发生变化,定义组规则,比如咱做负载均衡,另外这跟services根据这个标签建立关联,Select label跟CTRL一样。另外我们访问首先经过这个service service对外有一个虚拟IP,然后通过它做到负发现和负载均衡,给它访到不同的pod里面去。
14:09
所以这是关于service一个最基本的概念,包括存在意义以及它与po的关系,给各位做了一个介绍,希望通过我的介绍,各位对service有一个最基本的一个认识。
我来说两句