00:01
各位大家好,下面我们继续学习K8S,在之前内容中呢,我们搭建了K8S的集群。但是咱们之前搭建各位应该想到了,我们当时呢,咱们只有一个master节点,然后有多个node节点,但是在这过程中会存在一个很严重问题,比如我这个master节点出现了问题,或者这个。机器它宕机了,那这个时候我通过note键在访问是不是访不到了,而master节点里边主要做到管理作用,它就没法起到这个过程,所以里边就不能正常工作了。所以我们在实际的生产环境中,Master节点肯定不能只是一个,咱至少要有两个,达到一个主备,或者说你可能有多个,这样的话才能保证咱们集群一个高可用的场景,就是当你某个节点挂掉了,或者集群依然可以正常提供服务,所以咱们现在给各位就来搭建一个K8S集群中的高可用的这么一个过程,那我们下面来做个操作。
01:05
给各位啊画个图,咱先说一下我们现在搭建的一个过程,就咱们选用哪些技术,包括咱们该怎么去做,比如说咱们具体就来搭建一下这么一个高可用的KYS机群。给各位画一下啊,比如说咱们之前的方式,咱是一个叫单master这么一个节点,在这个过程中是这么一个场景给大家画一下,比如现在我们有多个。No的节点。假如这些都是no的,比如说我这个是。NO1,然后这个是。NOTE2然后下面这里边我们有一个master节点,比如这是一个master。咱们之前都是一个单master场景,而我现在与master起到肯定是一个就是管理作用,而我通过node可以访问到master做这个管理效果,但现在如果说你在单master节点过程中,假如我现在我这个master这个机器出现了问题,那现在是不是就不能提供管理这种过程,而你在进行访问中,那肯定会出现各种问题,所以咱们现在要把这个单master扩中重多master场景,让它呈现出一种高可用场景。
02:21
啊,所以这是我们要做的一个背景,就是单ma可以做到,但你正常运行没有问题,当你机器出现问题,比如这个节点挂掉了,那我不能提供管理作用,它就不能对外正常提供服务,你通过node再连接master肯定连不上这个啊,是咱们一个背景。给各位做个说明,所以咱下面说一下我们要怎么做,咱实验就是一个多master这么一个场景,也就说咱们通俗说这个叫高可用的这么一个过程,那这个我们该怎么做,给各位把这个图给大家画一下。比如说我现在在里边还是有多个no的节点。
03:03
啊,假如画到下边啊,这里边我们也是有多个noe节点,比如说有NODE1NODE2啊,当然你可能有NOTDE3NOTE4有多节点,比如说我再画一个。再来一个叫NOTE3。现在大家看我有三个漏的节点,而下面的咱肯定要连接上我们这个master节点,比如我现在我这里边我就画两个master,当然可以有三个,可以有更多,我就以两为例,假如两个master节点,这是第一个是这个。MASTER1,然后这是一个叫MASTER2。有两节点,而我现在要通过node是不是要连接上我这MASTER1,还有这个MASTER2,咱要做这么一个连接,但是这个过程中啊,就会有这么一个问题。大家注意啊,比如说我现在我通过NOTE1,我是连MASTER1还是连MASTER2,我NOTE2或者NOTE3到底说是连谁,这里边有问题,所以咱们在操作中,在这过程中呢,就需要加上这么一个场景。
04:07
给各位说一下啊,就是你在master和load中间要加一个东西,这东西咱们叫load balance啊,就是一个术语的描述,我写一下啊,它叫一个load。Balance。啊,Balance加上这个东西,而load balance什么意思呢?比如说我们现在通过连接,咱们首先肯定先连接我这个load balance,然后由它把你这个连接给你,就是分发到你是连MASTER1还是连MASTER2,所以这个过程起到的主要是可以说是两个作用,给各位说一下啊,首先第一个作用。什么作用呢?就给你做这个叫负载的这么一个效果,比如现在我这里边有多个这个请求,那我是连MASTER1还MASTER2,由漏balance给你分担,然后第二个load balance还做点事情,他要检查一下,就是你当前这个master节点的一个状态,就是它目前是正常还是有问题,比如说这里边正常的话,那我们就是连接正常的,如果有问题,那连接那个就是正常的一个节点,所以它里边要做这个事情。
05:22
但是过程中还有一个问题,你看啊,我现在MASTER1MASTER2是不是它有不同的IP,咱内部连接肯定通过IP进行连接,而我现在这里边MASTER1MASTER IP肯定是不一样的,所以我这里边连的时候,咱肯定不是直接去连接MASTER1或者MASTER2的IP,而我在load balance的位置要加上一个东西,这东西我们可以叫VIP。注意啊,这VIP呢,不是咱说那个就是高级会员,它指的是什么?这个叫虚拟IP。也就说这个IP呢,不配置到我们的具体某个节点中,它只一个配置一个统管的IP,咱们访问的时候,通过这个虚拟IP,然后由他给你分发到你具体的MASTER1,还有这个二中,所以里边要做这个过程,这就是一个最基本的高可用场景,给各位在重复点,然后咱们说里边用到的技术,首先note节点连接MASTER1MASTER2,那它肯定不是直接连MASTER1MASTER2,因为里边IP不一样,当你某个IP挂掉了,再去另个IP。
06:31
那它过程肯定会有问题,所以我们现在对外有一个统一的IP,我们叫VIP,叫虚拟IP,就是不管你是连MASTER1MASTER2都去访问我这个虚拟IP,由虚拟IP中的技术给你分发到你是MASTER1节点还是你的MASTER2节点,这过程中load balance第一个起到就是这个统一访问有一个虚拟IP,然后他做到一个负载的效果,就是负载均衡。另外他还要做件事情,检查你master节点的状态,比如说某个节点有问题了,那连另一个节点,某个节点正常,它给你提供对外的服务,另外做到负载的效果,所以这是一个最基本的高可用效果。
07:14
咱们实际中做高可用,基本上就是满足这么一个场景,用它来做到。所以这个啊,是各位说的一个基本的一个高可用的一个过程,大家把这知道就多了一个load balance,把这做到。然后这个过程咱做了说明之后,下面给各位具体说一下,这个过程中呢,我们要用到哪些技术来实现,就这技术我们该怎么做,那各位画一下啊,我画到下边。就是咱们说这个。高可用的集群里边一些技术的一些细节啊,就是里边具体用到哪些技术,包括里边过程具体怎么样,那我来给各位画下啊,比如说我现在其实还是这个场景,只是里边把技术给它画上,首先比如说咱们还是有多个这个。
08:07
No的节点啊,比如大家还是三个,然后no的节点肯定要去访问我们里边那个具体的这些相关内容,那这过程怎么做呢?咱们肯定有一个叫load balancer这么一个东西,通过它进行访问,所以说这个位置中呢,我们首先有个东西,就是咱说那个叫。VIP。或者说我们叫虚拟IP,肯定通过这个我们进行一个访问,而这虚拟IP咱们不配置到某台具体机器上,但是它要跟你当前的IP在同网段中进行配置,所以咱们都是统一访问这个虚拟IP,然后由虚拟IP这过程中给你分发到你具体那个master几点中去,比如咱在下面假如我画这么几个。Master节点啊,咱们给画大一点,因为里面涉及到很多的技术啊。就是master节点,比如说我以两为例啊,如果你有三个,有四个都一样,比如说我现在左边这是那个MASTER1。
09:07
这个节点,然后这是我们那个MA2。这个节点,然后在里边我们要用到技术有哪些技术,我说一下啊,首先第一个,因为咱们现在通过这个load balance,是不是要做一个你节点状态的检查呀,就是看你当天节点是否正常,是否正确,所以这个过程中呢,我们要用到这么一个东西。包括啊,这东西叫什么,其实有很多场景,咱用其中的一个技术叫这个keep alive。用它,包括咱们在两个master中都来部署这个叫keep alive的,所以咱们需要做这么一个部署,就是这个keep alive,而keep alive做什么事情呢?就刚才提到的第一个,它能检查你这个master节点状态,另外它里边要配置出你这个虚拟IP,就是你的虚拟IP是在keep alive中做一个配置。
10:08
啊,所以里边做这个事情,然后除了keep alive之后,因为里边是提供这个访问,包括里边检查状态,另外它还做个事情是做个负载的效果,就是你的负载均衡,所以咱们要部署一个负载均衡的这么一个服务器,而负载均衡服务器在实际中有很多的服务器,比如说大家比较熟悉的index,包括还有什么ha pro,那我这里边就缺你这个叫ha。给各位做配置,你用index是一样的,我用这个做操作,因为这个应该说更加方便,所以咱们第二部分我们用这个ha pro做到一个负载的效果。啊,用它做的,比如说这个东西呢,如果说你不加这个HR pro,当咱们仅仅使用keep alive的时候,比如说现在我这里边有这个虚拟IP,它要绑定到某个节点中,就在节点中进行执行,那这个时候呢,当我的节点正常的时候,那这里边会有问题,就你所有请求都会到你的VIP锁在这个master节点上啊,它会飘到里边给你,就是建立一个虚拟一个网卡虚拟IP,而我加上ha pro之后,这里边会把我的请求平均分到其他的ma键中来,就让其二节点也加入到我的个请求过程中来,如果你不加ha proc,那它都是在你当前这个虚拟IP所在节点中进行请求,把所有请求压力都给某一个这个节点啊,所以里边会有这个问题,所以咱加一个h proc,做到一个负载的效果。
11:44
然后下面就是我们的master建中一些具体组件,比如各位知道的,比如里边有什么API server。包括有这个叫controller manager。比如说有这个叫筛。就是这些相关组件啊,都是咱们之前提到过的啊,所以这里边咱们现在就是按照这个过程给各位把这个高可用的KS集群作为搭建啊,里边用到就是这些技术。
12:14
然后这过程我最后重复一遍啊,给各位就最终做个完整搭建,首先我们这里边就是有多个master节点,我就以两为例。然后在ma节点中首先部署这个叫keep alive。Keep alive2个作用,第一个它配置你的虚拟IP,第二个检查当前节点这个状态就是在我这个里边MASTER1MASTER2是否是正常运行,然后除了它之外还有一个叫ha pro,这做到是一个负载效果,比如现在我请求给它平均分摊到你的MASTER1MASTER2中,H ha pro c,还可以用这个N,这个实现过程是类似的,然后下面就是你这个master中的具体的一些组件,所以咱们现在按照这个过程就来搭建出一个。
13:04
高可用的K8S集群啊,这是我们一个就是过程的一个说明,所以各位啫喱过程啊,比如说咱们这么做之后,比如现在在过程中,当我访问,当我某个master节点挂掉了,那里边怎么做,这个虚拟IP就会给你飘到另外一个master节点中,然后继续提供服务啊,所以里边就可以实现一个高可用,当某个节点挂掉之后,它依然可以正常停服务,而我这里边访问内部通过虚拟IP,因为虚拟IP是固定的,就算你内部节点挂掉,它也会飘到另一个节点,然后提供这个正常访问。所以这个啊,是关于高可用的这么一个场景,给各位做一个说明,你把过程给他知道。这个啊,我们就讲完了啊。
我来说两句