00:00
好,那这里呢,还有一个etcd的这么一个内部架构图。对吧?好,那在这里你会发现它采用的是一个APP server的形式,也就意味着这里依然是一个采用APP协议进行CS的构建服务。那除此以外,其实还有个东西也是采用这种方案,那就是我们的K8S。K8S也采用的是我们的。HTTP协议进行我们的CS结构的开发。需要注意一下,好,那为什么要这样做呢?因为我们的IP协议天生支持很多的一种操作方式,比如put啊,GI啊,解啊等等,对吧,包括授权认证,所以我没有必要再去采用我们一个标准TCP协议,开发一系列的认证流程,没有必要。所以我们直接采用IP协议即可。好,那在这里呢,我们有一个啊aft,那它呢,这里呢,就是我们的。
01:01
读写的一些信息了,所有的信息都被存在这里,并且为了防止这些信息出现损坏的话,它还有一个叫wi,这是一个预写日志。也就如果你想对我们里面的数据进行更改的话,诶,你先给我生成一个日志,我先存一下对吧,我先存一下,并且会定时的去对这些日志进行一个完整的备份,也就完整加零食。比如。我先备份一个大版本,备份完成以后,如果有些新的修改,一个子版本,两个子版本,三个子版本,那到达它的时间以后呢,会再进行一次完整备份,把它转换成一个大版本,然后再值子子,那这样有什么好处呢?首先我们不可能随时的进行完整备份,因为消耗的数据量太大。那为什么还要在一定的时间内进行完整备份呢?防止这里的。对吧,增量备份太多,我们在还原的时候太费事太费时。
02:02
所以采用了这么一种方案。并且他还会实时的把这些日志,包括我们的数据写入到我们的本地磁盘中,进行持久化设置,那这就是我们的一个etcd的这么一个架构的说明了。好,我们再回来。ECD已经over了对吧,那我们就直接理解为它是我们整个集群中的这么一个重要的存储,对吧,存储我们的库集群的这么一些参数信息的。离开了他,库布蒂斯集群就瘫了,这是肯定的,对吧,必须组建。好,那再往后我们must服务器,Must节点的一些重要组件我们就已经说完了,那在这里我们先看一下我们的node节点。Note代,你会发现有我们的CU pro light以及container。好,也就意味着我们在我们的note节点需要安装三个软件。K。
03:00
以及doc。那当然你在这里可以选择刀客,也可以选择一些其他的容器引擎也是没有问题的,因为我们说容器,虽然我们现在都会默认为刀客,对吧,但是容器是不是除了刀客以外,还有其他很多的一些引擎呢?这个可别忘了,对吧?Do只是引擎的一种实现方案而已,或叫最主流的实现方案而已。好,那k light到底有什么作用呢?我们需要讲一下,它呢,会跟我们的CRICRI叫什么,C是什么container容器对吧。R呢,Runtime运营环境,I呢,Interface接口对吧?好,那这个呢,讲白来说就是我们的doer在这里的表现形式,那Co light会跟dock进行交互操作,Doer去创建对应的容器,也就CU light维维持我们的pod的生命周期。对吧?好,那pro是干嘛的呢?我们之前说过我们的SVC还记得吗?是不是有一点印象啊,我们在讲我们的讲解结构的时候,给大家说明过对吧?有一个叫SVC可以进行我们的负载操作。
04:10
那负载的组件呢,就是通过我们的去完成的,就是通过我们的process去完成的,需要注意一下,也就意味着怎么去实现我们的pod与pod之间的访问,包括负载均衡,那需要借助到我们的pro。它的默认操作对象是操作防火墙去实现这里的PD的映射。当然我们新版本中还支持ipvs,也就是我们的is组件,对吧?好,那这个呢,就是我们的K8S架构了一个标准的这么一些组件。那我们接下来带大家好好的把它整理一下,对吧?这些组件的意义还是很重要的。那我们先看我们的第一个。I pir。所有服务访问的统一入口。
05:05
所有服务方都能统一入口,对吧,包括我们的丢了,包括我们的RC啊。包括我们的RC啊,包括我们的ECD啊,Light啊等等,都需要去访问到我们的IPO网,当然这里还还有我们的light和pro呢,也需要注意一下,好,所有组件都需要访问到IPSSO,所以你可以可想而知它的压力还是比较大的,对吧?好,那我们后面会给大家讲怎么去官方是怎么去为IPSSO进行减压的,这完全会给大家去介绍。好,那这是我们的IPSO,那第二个组件的是我们的控制器。诶,我老是碰到我的触摸板,稍等一下,我把触摸板关了。
06:01
好。Control manage,也就是我们的控制器,它呢去维持,维持或者维护。我们的副本的期望数目。它是我们库布蒂斯集军队的重要组件,好,下一个了。Schedule了,对吧,Schedule了,好,我们的调度器。负责。接受任务。选择合适的节点进行。分配任务,那什么叫合适呢?我想保障的是,诶,这个节点有足够的资源可以供给给我的pod去运行。啊,我想这个节点有一些什么样的固态硬盘啊,对吧,或者一些带宽比较高啊,CPU比较高啊,内存比较大,这些特殊的资源能够分配给我的pod。
07:01
都是由我们的schedule去完成的。需要注意一下。好,那除了这里以外,我们还有etcd对吧。建职队。数据库存储。K8S集群的。所有重要信息。当然,这里的重要,我们需要打一个关键字叫。持久化。因为有些数据虽然很重要,但是它不需要持久化,那需要持久化的数据我们都会被写入到我们的ECD中,也就意味着如果有一天我们想恢复数恢复我们的K8S集群的话,只需要对我们的edcd进行还原即可。需要注意一下,好那。这是我们的must服务里面有的一些组件,对吧?好,那除此以外我们还有什么like pro对吧?好,我们去写一下。
08:02
它呢,直接跟do或叫容器引擎。交互。实现容器的生命周期管理,你可以这样理解,库拉接收到指令以后,先把我们的K8S发布过来的指令先理解,理解完成以后再去把对应的指令直接转化为我们的container,对吧?容器能够听懂的命令让他去创建,达到这么一个pod创建的这么一个流程。好,除此以外,我们还有一个叫Co。好,他呢是负责。线入。我们的规则是IP tables或者是。IPS。时现。
09:05
实现服务建设。访问的好那。主要组件呢,就这么多对吧,这是我们官方的主要组件,那整个KS结构我们就已经讲到这里了,那接下来我们继续往后看,那还有一些其他的。也是比较重要的一些插件,给大家说明一下,比如第一个coins。好。Coins。Cor DNS呢,我们听名字就听出来了,对吧,Cor公cor s公司的这么一个DNS服务器啊,那它主要实现的是什么功能呢?可以为集群中的。SVC创建一个。A记录。或者创建一个域名IP的对应关系解析,也就意味着以后我们在集群中访问我们的一些其他的一些pod的时候,我完全不需要通过这个pod的IP地址,通过什么呢?通过DNS给他生成的这么一个域名去实现访问。
10:22
它也是我们整个集群的重要重要重要组件,也是我们实现我们的负载均衡的其中一项功能。好,那下一个dashboard。它呢是我们的一个BS结构的访问,也就是给K8S集群。提供一个BS结构的。访问体系。啊,大气胞,那还有increase抗了?
11:04
好,这个是什么呢?它可以我们的官方,官方的库布耐历史集群呢,只能实现一个四层代理。不能讲,只能哈,它为我们实现了四层代理,没有实现七层,那Grace可以实现七层代理,也就是可以根据我们的主机名,根据我们的域名进行负载均衡,对吧?In Grace,那这个我们后面也会给大家详细去讲解,先简单听一下到底有什么作用。好。那最后一个。FIL。他们给我们提供一个可以跨。集群中心多K8S的统一。
12:01
管理的功能。这是我们的的这么一个作用。好,那还有最后一个普罗米修斯。好,最后一个普罗米修斯。那中文呢,就是普罗米修斯。好,那普罗米修斯呢,他能够做的作用呢,是什么呢?提供一个。K8S集群的。监控能力。当然我们还会有EFK对吧,给提供。K8S的集群日志统一分析接入平台对吧。
13:03
好,那这些呢,就是我们整个K8S集群的非常重要的一些组件说明了。好,那我们是不是这里少写了一个,少写了一个什么高可用集群副本数目最好是。大雨。等于三的奇数。个对吧,好,那这个呢,就是我们这一章的内容。大家呢,好好的去把这个K8S的这么一个框架子集,好好的去看一看,理一理,最好能够在纸上把它给默写出来,这是最好的状态,好,那这节课呢,我们就讲到这里,我们下节课再见。
我来说两句