00:00
前面的我们所有节点的这个前置环境安装,我们就已经安装完了,接下来我们就为cooperber ne集群,我们先来初始化一个master节点,那有了master节点我们再来把其他节点加入到整个集群就行了,那master节点初始化也非常简单,那么上边呢,安装了库包din这个工具,所以我们拿这个工具的一个命令叫cumin init初始化一个master节点就行了,来可传一些参数,首先第一个参数API server anddvertise address,这就是指我们这个API server的地址,那么现在知道API server这个呢,其实是master的这个组件,所有对Co ne集群的所有操作,所有命令都得先过APSSO,所以呢,我们这个得告诉我们这个APSSO的地址,其实就是master这个主机的地址,那现在呢,就来挑上一台主机,我们就是NOTE1,那将来呢,当成一个MAS,比我们在这来复制一下,我们来给它改个名,那将来呢,把它准备来当成S。
01:00
来用好,我们就叫master。包括我们给它的这个连接属性上,我们也改个名,我们以后呢就知道,那这个NODE1现在呢就是master,它呢来管控我们整个库ne集群,好,现在我们这个master都准备好了,以后我们准备用note一来作为master,我们可以使用这个命令in告诉我们这个地址,所以这个地址呢,我们一一定要看一下我们这个NODE1的地址,千万不要用幺九二幺六八五六点一百,这个地址不能用们要用默认网卡的,我们把这个命令呢,现在就不发给所有人了,我们现在来初始化master节点,我们先来看master默认网卡是ETH0,是这个10215,那就把这个复制过来,然后呢,我们在这儿来把这个粘贴过来,行,这是我们的APS2的地址,然后呢,由于我们整个master初始化,它也要下载非常多的镜像,这个镜像呢,默认是从我们这个K8SGCO这个里边下载,这个肯定是没办法。
02:04
啊,下载我们可以给他指定一个我们下载镜像的这个镜像仓库地址,我们使用阿里云杭州的这个地址,然后呢,包括我们来指定cuber ne的版本,我们现在是1.1.73,跟我们前边安装的这个CU命库controller这个版本呢是一样的,然后接下来再来指定一个service CI drr,相当于我们这个service的这个网络和我们的这个portd这个网络,这个service pod是什么,我们大概提一下,后来用到呢,还会说,那现在都知道pod呢,其实是我们cooperer ne里边最小的一个部署单元,以前如果有docker,那最小的部署单元是一个容器,但是呢,我们现在cooperer ne抽取了一个pod,因为他认为可能多个容器之间还有关系,它组成一个最小单元,那就是pod,所以呢,Pod,我们一个机器里边能部署非常多的pod pod跟pod之间可能还是需要访问的,比如我这部署的是我的应用,这个呢还是red,我还想要访问它,所以呢,Pod之间。
03:05
也有一个网络生成,所以我们这个网段地址呢,是由我们的这个网络管控的,所以我们现在呢,指定一个pod的网络地址,而我们现在又抽取了我们这几个pod,有可能机器一装的这个pod,这是我们的购物车应用,机器二里边也是我们购物车应用,整个购物车应用我们可以当成一个service对外提供服务,所以呢,这个service相当于拥有了对这两个应用的负载均衡能力,但是我们这个service service又有很多,这两个pod可以是一个service,这两个pod也可以是一个service service service之间也得有一个网络地址,所以这一块呢,就是service的这个网络地址,这个CI drr这个全名叫无类类别,这个遇见路由这块呢比较专业,我们后来慢慢用的多了,才能对它有体会,那现在大家呢,也不用管这个设置,直接按照我这两个设置完就行了,相当于设置了一个port子网和这个service这两个子网,然后呢,我们把这两个命令已运行,但这个运。
04:05
过程中我们都知道要下载非常多的镜像,万一哪个键像下失败没下好,我们在这儿可能得等很久,我们都不知道进度怎么样,所以我们建议呢,先别运行这个命令,先来用这个我们在master节点,我们现在准备来初始化它,我们来给大家呢发了一个这个文档来看一下,在这呢有一个K8S,这个K8S呢,其实是发给我们这个DOS,就是这个里边的这个K8S一样,然后呢,我们这个里边给大家给了非常多的文件,其中就有一个叫master image sh打开给大家看一下,这个SH呢,其实就准备了master节点想要用的所有的docker镜像,然后呢,下边一个便利循环docker铺来下载我们这个镜像,然后呢每一个镜像下载过来,如果你把这个注释打开,那给每一个镜像呢,还打一个标签,认为呢,它是从K8SJCIO这个里边下载的这个镜像名,所以如果你把这句话打开的话,那你都可以不。
05:05
用在这儿来指定我们这个镜像仓库的地址了,行,我们现在都指定了,那我们就不用打开了,都是从这个杭州下载来的,那大家呢,把这个一执行,我们现在下载到哪,我们就能监控来,好我们现在呢,就来做这件事情,我们把我们这个K8S这个东西呢,我们来上传给master节点。来在这儿打开我们这个文件上传工具。来找到我们这个K8S在这儿,我们直接把K8S整个文档就拖过来就行了,好现在全部上传过来以后呢,我们要在下方确认它这个确实是全部上传过来的,这是我们的这个桌面工具,这个桌面工具下边的这个传输过程已经结束了,好然后接下来我们在这来使用LS,我们来看一下K8S这个目录呢,就有了CD到K8S里边,那么就是这个文件,当然这个文件呢,现在没有执行权限LL给大家看一下。那么这个master images它呢,当前用户是RW,杠杠呢就是没有执行权限,那么现在来写一个ch Mo改变一下权限,我们的这个700,我们上当前用户至少得有这个执行权限,Master images sh,这是master节点需要下载的所有镜像走,然后LL来看一下,这个呢就变绿了,那现在呢是RWX,那就是由可读可写可执行我们当前用户,好,现在我们就来直接执行点杠master images走。
06:32
这个一执行以后呢,它其实就给我们来下载我们需要的这些镜像,那么就来等待整个镜像的下载过程,大概可能得等个十分钟左右。好,现在我们这个master节点的所有镜像,那就下载完了们docker images来检查一下,我们下载了这么多的镜像,那master节点有了这些镜像以后,我们再来运行它的这个初始化命令,注意改两块位置,这一块呢是master节点的IP地址,然后我们接下来这是我们这个镜像仓库,一定要标注版本号,把这一块呢来复制一下,把这个命令我们来复制在master节点执行,我们看这个其他节点呢,我们都把命令没有发过去,就在master节点,好,我们来点一个粘贴回车。
07:30
那我们这个master节点呢,就开始初始化,初始化的整个过程也是非常复杂的,它呢要生成一些我们这个客户端,包括生成一些这个配置。那么这个还是一些加密配置,这都是一些认证方式,我们这个API server等等,还有在这来生成一些port,在这呢都有,然后我们接下来来等待它的这个controller pan,我们这个控制面板来整整个启动,这样呢可能会花个四分钟左右就来稍等一下,那如果其实我们不用库的命来安装的话,如果用官网的还有一种二进制方式,我们自己来编译安装,其实这些步骤都是我们要做的,还是非常麻烦的,所以我们这个库巴的命这个工具,其实官网有了发布版以后,也是非常推荐我们用库包admin来搭建整个库ne集群。
08:17
好,那接下来我们这一块呢,做好以后,它这一块呢就直接有提示,首先说我们这个cooperer notice,我们的这个control派控制面板,现在呢已经初始化成功了,我们想要在我们的这个集群里边使用的话,我们就可以把下面的这个东西来使用一个普通用户来执行,那么现在呢,全系统就一个root用户,我们就来拿它执行,先把第一个已执行都是来复制一些配置文件拿过来,再来给他整一些权限组之类的,好,我们来粘贴一下,那第一个命令执行完以后接来第二步,他说有数的no deploy a port network,那现在呢,需要部署一个port网络,那就是我们之前说的每一个node节点里边,它有最小的部署单元pod pod之pod之间要生成一个网络,可以互访问的IP,所以呢需要这个网络插件来生成这个东西,那整个部署呢,我们其实都可以来参照这个文档,包括它这一块呢,都说的很清楚,把这个粘贴过来,我们可以来看一下。
09:16
我们Co ne呢,其实支支持了非常多的这种网络,我们比如来看一下它的这个网络,我们可以来切成中文版的比较好看一点,它这个网络呢,比如支持ACI,卡,LIC,我们看O等等等等,那我们现在呢,就来用这个东西叫flano,那我们使用它来作为我们库ber ne整个的这个网络提供者们,让他呢来生成这些网络,而且这个屏千万不要清,而且注意我们这个网络,如果我们部署完了以后呢,下面还说我们可以join any number of work,我们可以加入我们任意多的这个work节点,然后呢,就来运行这一条命令就行了,我把这一条命令我来复制一下,就是cudin join,我们给整个master节点来加入一个节点,这块呢是master节点,我们这个APSO的地址,我们什么都不变,就这条命令一复制,在其他位置一粘贴,然后这一块呢,都是一些我这个授权令牌,把这个命令呢,提前粘贴来。
10:14
放在自己的这个下边,因为我们把这两个都粘完了,我把这一块之前的我删掉,我们从控制台新复制的放过来,而且这个呢,一般我们这个两个小时内有效,如果大家时间长了都没有加,或者你刚把master整完做了一些其他时间过期呢,你再去加就会有问题,有问题呢可以用下边,那后来再说让它临时再生成一个token,那这个token呢,直接永久没有过期时间的,然后呢,他在控制台打印一个,你再把控制台打印的那个一粘贴就行了,行,这个我们放在这儿,那现在呢,我们就来准备好我们这个,我们现在需要一个网络,有了网络以后我们其他人才能加入进来,所以们现在先来部署一个网络,这个网络呢,来给大家看一下,那们K8S里边我要给大家呢,准备了一个库巴flano的个网络,那默认我们要安装这个网络插件的话呢,我们可以使用一条命令CU controller apply-F,这是cuno的这个压面配置。
11:14
我们现在呢,又接触到了一个命令,叫cooper controller a play cooper controller是我们整个操作cooper ne集群的这个命令行客户端,A play呢就是应用上一个配置,什么配置呢?就是这一块制定的,这块给我们规定了要怎么办,比如要创建多少个po,包括呢,有没有创建一些service,还有等等等等,这块呢全部都有规定,有规定以后呢,我们就按规定来就行了,咱以们可以用这个CU controller play,但这个文件呢,有可能大家下载不来,所以我们给大家也准备了一个,这个叫库包flano,那就是它,然后我们用一条命令,当然运行命令之前,我们可以先调一下这个库包flano是什么。No,这个压面来回车看一下,这个压面里边呢,写了非常多的内容,这个内容呢,都是我们cooper notice现在要做的这个事情,我们可以翻到最前边来看一下。
12:11
比如每一个内容里边有什么API version,那我么之前呢,还给大家在前置的章节说过我们这一块的什么整个API的这个分类,有这个API version kind之类的,那么后来还要说大概呢,先看一下说这个a version,看代表我现在是一个什么类型,完是一个port的这个安全策略,然后呢,我们来配置一些安全策略,允许哪些主机访问的这个策略等等等等,然后呢,我们看到压面三个横杠,就是分割一个文档,继续往下是我们整个集群的角色策略,这一块也有配置,还有我们这个集群角色的绑定,以及我们的整个配置,腾个map,还有我们下边的所有东西,这块呢,还有一个东西叫DEMO set DEMO set翻译过来就是我们库边的这个flano,这个东西呢,它在每一个。
13:02
CU net节点上都得运行一个这个副本,诶我们成为一个副本,相当于它在每一个节点都得运行一个,就跟KNE一样,所以呢,我们这一块呢,有个东西叫N,我们后面还会说我们这种我们称为controller这种方式,然后呢,接下来我们再来往下,特别我们在这来下载的时候,这一块呢还有一个指定,大家可以来看一下,没controller,我们在初始化controller的时候,它还指定了image,其实这个呢,就是下载flano的这个网络地址。这是docker的镜像地址,这个镜像呢,如果大家在运行我们这个文档的时候一直下载不到,那推荐大家要做的就是把这个flano复制过来,去docker HUB里边找一个能下载到的地址,把这个配置文件重新改一下,然后呢让它重新应用一下就行了,那在这来看一下,好在这儿呢,找到这个flano,这个flano呢,注意它下面呢,还专门有人说,诶,这是从。Q u ay IO这里边整的,所以你呢,可以把这一块的镜像找准我们这个标签,我们是010什么的假设,诶就是这个,然后呢,你把这一块的镜像复制过来,CTRLC在这一复制,然后呢,把所有AMD64的一改就行了,因为它能适配多个平台,有MD64的,那其实往下翻你会看到还能适配ARM之类的,咱们现在呢,就是Windows平台m Linux平台这个AMD64,哎,这个。
14:28
叉八六这个架构的这一块,好,我们现在呢,这一块呢,我们就不用管了,整个全部让他用默认设置,而且这个目前下载的还是非踌的,那我们现在呢,就直接来到我们这一块,我们来准备应用我们这个配置,现在我们又来学一个命令叫库ctrler,有一个叫apply apply呢就是应用我们一个文件指定的这个配置叫cuber flano,然后呢,我们只要这个一应用就会为我们整个集群安装非常多它规定的这些规则和我们的这些portt组件等等等等,而且呢,应用完了,如果我们想删除,我们知道它安装了非常多的东西,那你想把它删了重装,其实你还可以这样运行一个delete,就是这个文件里边指定的所有资源全部用一删除,是不是非常方便呢?我们现在呢,就用OB apply apply其实就是部署一个应用,那么这个delete那就是删除,好,现在我们直接apply应用,我们这个flano网络走。
15:25
这块网络应用完了以后呢,这会打印所有的这些东西,Created created created,但现在呢,这个网络用完了以后,不是说立马就能用的,我们可以用这个命令,什么命令呢?首先有一个这个叫cooper controller cooper controller有一个get POS,这个POS呢,就是能获取到我们当前所有节点里边部署的这个port的最小单元,就跟我们doer PS一样,我们查当前正在运行中的容器,好,我们运行这个命令,但是这个命令呢,我们说它又说这个资源在默认的名称空间里边没找到,所以我们说每一个port都有它默认的名称空间,它们之间是互相隔离的,你要运行这个,一定要指定你是在哪个名称空间里边找,那怎么知道有多少名称空间,你还可以get names base,诶,就有这么多个名称空间,那么现在也不用整这个名称空间了,你就直接get ports,让它杠杠o names step base。
16:26
说来获取所有名称空间的这个pose走,现在我们看到呢,这一块呢,就出现了这个东西,而且大家注意这个flano这个东西呢,我们在这儿一定要让它running是在运行状态,我们刚讲了一阵儿,这个现在已经是运行状态了,如果大家自己来实验,你刚应用完flano这块获取它的话呢,它还是非运行状态,一定等它这个运行成功,是runninging状态以后,我们接下来再来做剩下的事情,所以我们相当于这一步才是把我们的这个网络准备好了,那准备好了以后,我们之前master呢,告诉过我们一句话,Master这一块初始完了以后。
17:08
我们说要复制这一段话,我们也复制了,他说要安装一个网络插件,我们也安装了,安装完了以后,最后使用这一条命令,就可以让其他所有的节点加入到我们这个master节点,所以我们现在呢,可以现在再来用运行一个命令试一下CU controller,这个命令呢叫get no,想要获取我们库集群里边所有的节点走,那么现在呢,看到有一个节点叫master,它的状态呢是ready,所以一定要等待我们这个master是ready状态才可以。那么现在这个master呢,状态是ready了,然后我们接下来就把其他节点再往进加,那这个我们现在怎么加呢?就是我们master这个初始化以后,控制台打印的那句加的话,我们再来一复制就行了,把这个我们复制过来,每一个节点都得运行,那运行前一定确认master节点的这个IP,我们现在用的这个IP一旦定下来以后,ETH0,只要你不在重新生成网卡的Mac地址,这块呢都是固定的,龌,Boxx都会记住好,所以我们这块呢,一定得是固定IP,你要一漂移移动,那就出现问题了,所以我们现在呢。
18:19
来到NOTE2节点,我们现在就是2.15,就是它我们来加入我们整个集群,好,我们让NOTE2节点我来粘贴一个这个命令回车,好,Not,德二节点呢,开始来加入,来稍等一下,那这一块呢,它是来等待我们这个cuber late跟我们整个集群是来建立TLS这个连接信息,好,这个只要建立起来,我们整个节点看我们现在呢,打印一句话,This notde has join的the cluster,我们这个节点呢,已经加入到我们这个集群里边了,所以我们接下来可以使用库controller get noes来看我们这个当前节点的状态,那NOTE3节点也一样,直接把这个一运行回车,它呢,也得等它加入进来,那稍等一下,这一块呢,还是来建立连接,大概等个十来秒就行了,好,我们现在看到K8S note3它呢也已经加入到我们的C里边了,那么接下来可以使用cuber controller在master节点来执行,你们其他节点呢,如果我不配置这个cuber controller。
19:20
默认是用不了的,我们可以给大家试一下get notes好,所以呢,我们现在在我们这个master节点,Cooper controller get notes走,我们看到呢,像NOTE1NOTE2NOTE3 note1呢是master角色,Master没问题,NOTE2NOTE3没有ready,没ready的原因是因为我们这个flyno这个网络插件,每一个节点都得创建,所以每一个节点呢,可能都在运行这个节点的,所以我们现在可以用这个来监控一下,如果我们之前呢,Cooper controller get pod,我们之前是获取o space的,然后呢,我们可以watch一下,来监控一下我们整个状态,我们这一块呢,还能使用杠O,杠O呢就是来输出我们每一个的详细信息,以一个这个Y的这个。
20:03
更多信息的方式我们来输出,好,我们现在来watch,直接来监控监控它的整个状态,好这块呢,状态我们能看到这个CU巴,这个flano,这个组件呢,它在我们这个机器是NODE3,这个NODE3节点呢还正在初始化呢,其他节点呢都准备好了,我们这个flano代表呢,每一个节点都得有,所以NOTE1 note2 note3现在只剩下NOTE3了,只要我们这个等NOTE3全部干完活,这一块变成RO状态,那么再来检查我们整个集群的状态,那一定呢都是ready的,好,那么现在呢,这个flano就变成running了,好,那么现在这一块呢,就不用监控了,CTRC来退出这个监控,那现在重新来看一下cool bar controlrler get notes,走,只要我们所有的节点都是ready状态,那我们现在整个集群就搭建成功了。那至此我们创建了一个master单主,然后呢,两个node节点的方式搭建了一个库巴ne集群。
21:04
这块集群的搭建过程呢,稍微比较多,大家在下边呢多试几次,特别严格按照步骤,我们的这个IP这块呢是最坑的,所以大家呢一定要设置好我们这个网络的IP地址。
我来说两句