00:00
好,那接着上节课的部署,我们现在呢,把MYSQL做成一个可在集群外访问的,因为我们之前部署的这个有状态副本及MYSQL,它呢给我们的这一块服务是它默认生成的,只能在集群内访问,包括呢,我也能确定一下这个事情,比如我们来进到我们这个MYSQL这个容器内部,我来进到容器内部,这是我们这个容器内部,然后呢,我来在这儿来做上这么一件事,这是我们容器内部。它为我们呢自动生成了一个MYS的服务,服务名叫这个,然后呢,接下来我们在下边呢,有一个叫DNSDNS呢是服务名点一个我们当前所在的项目名,相当于名城空间的名字,我把这一块复制拿过来,然后呢我进到我们这个pod里边,诶这一块也能直接看到pod,那我就不用在这,比如呢,我进入到我们的部署的MYSQ的这个pod里边,我使用MYSQL,因为MYS的pod内部也能使用MYSQL命令,它暴露出来了,所以我使用MYSL-u root,比如以root用固方式杠H连上哪个MYSQ呢,我不连本机,我指定按照它的这个DNS域名来指定好,我连上呢这个主机,然后呢杠P密码呢,来说一下123456回车发现是可以的,所以呢,这一块的操作相当于就验证了一件事儿,在集群内部任何人,我现在呢,是在我们MYSQ的。
01:28
这个pod里面测试,甚至于呢,你部署的其他微服务,在他tomcat里边,你想要连MYSQL都可以使用他给我们暴露的这个服务的DNS名字就行了,所以我们现在部署的这个效果啊,我们默认部署的有状态应用在集群内部是可以直接被访问的,集群内部,集群内部直接通过直接通过咱们这个应用的服务名点一个我们接下来是应该是我们的项目名。
02:01
这是在我们库里边。通过这个我们是不是就能直接访问,直接访问,而我们举一个例子呢,就是它MYSQL,我们杠u wrote,比如那之前呢,这一块,这一块就是我们这个名字加项目名,而项目名呢,其实在我们K8S里边不就是名称空间吗?Get name space可以看一下底层原理就是名称空间,包括呢,我们可以来看一下我们的那次部署get all,我叫get all吧,然后杠N,我只看his名称空间的,His名称空间呢,部署了一个state for set,有状态副本集,然后呢,产生了一个service service呢,但是它的类型是集群内部才能访问,所以接下来你在任意一个pod里边,只要用它的service名字点一个我们的这一块项目名作为它的整个域名,我就可以访问到,那么也验证了这个事情,但是呢,我现在集群内部它默认是能访问,但我现在呢,想要在集群外部进行访问,那咱们。
03:05
钱呢,那我可以额外多做上一件事情,他给我们默认给的这个,咱默认给的这个呢,我甚至于可以删了,我觉得他这一块名字给我们起了一个随机名,感觉不好记,那你也可以删了,做成一个自己的啊,我们就来把这个删除吧,删除呢,删除的时候千万不要删这个有状态副本集,有状态副本集是我们在工作负载里边部署的应用,我只删当前的这个服务,相当于负载均衡的服务啊,删删了以后呢,我自己创建一个我们自己的创建呢,都用下边叫指定工作负载,所以我们现在呢,就可以起一个名了,比如我们就叫his my s,然后。别名我们就叫my circle的,咱们这个集群内服务。然后我点一个下一步,下一步呢,你可以在这儿选定你是通过集群内访问的,还是呢,集群外你也想反的,呃,这这块啊,这是集群内通过我们的endpoint IP直接访问服务,就这种东西呢,是我们只能在集群内进行访问的,如果我们想要在集群外也能访,就选择下一个,我们现在呢,比如我就选这个吧,叫集群内部通过后端的endpoint,主要看这句话,集群呢不为服务生成IP,只有一个域名,所以接下来我在这儿指定一个工作负载。
04:29
点过来我们就是我们的部署的MYS口,部署好了以后呢,我们接下来添加端口,因为我们my circle口呢在3306,所以我写一个3306容器的单端口就是3306,你访问我服务的3306,那也就是来到我们这,当然马S口还有一个33060,你也可以加上,我们现在只用这个3306端口,我点一个下一步,下一步呢,如果我们在这还可以选择外网,对吧?呃,暴露外网访问的方式,嗯,比如要说集需内也能访啊,外也能访,我点一个创建,但这个创建呢,你就会发现外网访问这一块呢是有问题的,他说我们这种。
05:09
呃,就是no的这种service是。就是如果我们是选的集群内部不不生成IP的方式,那们是不可以暴露外网的,所以我先来用第一种不暴露外网的方式,我们创建出一个服务,此时这个服务的名就是我们自己定义的,所以你看这块的DNS名就很好看,没有那个随机字符,然后呢,接下来我来重新访问一下,重先进这个pod里边我们还是用马S的命令,杠u root,杠P,包括呢啊,我们先来杠H,来连上哪个MYS狗,我们直接拿它的域名,然后呢杠P123456,好,我们这次呢也是能访问的。但是这个呢,只是我们利用集群内部来进行访问,所以我创建了一个服务,接下来呢,我要外部也能暴露访问,再来创建一个还是指定工作负载,那现在呢,就可以将配的MYSQL。
06:08
叫my circle啊,比如呢,我就叫node,在每一个节点呢,都能访问my circle啊,外部访问。这个其实就是我们以前讲的K8S里边的class IP和note port模式,然后呢,我们如果想要在外部就不能选下边这个不为服务生成IP了,要选择上面这个,好,我们选上面这个,然后接下来我们还是选中我们这个MYSQL,当然为我们的这个工作负载,我们可以指定任意多的这个负载,均衡网络随便指,然后接下来还是3306。红旗端口呢,3306。3306,然后我点下一步,此时我再来选中外网也要能放我叫note port方式,我再来重建这个呢就是行的,所以呢,大家就会发现我的这个MYSQL,我创建了两个服务,第一个服务你可以使用集群内部的这个域名来进行访。
07:04
第二个我们创建的这个服务,主要呢,会暴露一个节点端口叫31840,前提是呢,这个端口放行了,因为我们安全组把3万到32767都放行了,所以呢,这个31840我们就可以让别人来放,比如我在这儿复制一下这是我们的IP地址,然后我们启动我们的mys po来访问一下,添加链接,添加链接呢,链接名,比如我们这个,呃,我们的库巴斯菲尔的MYS部署到MYSIP地址呢,我们来写上。此时呢,我们的这个马S端口就变成集群外部的31840这个端口了,31840这是root用户,然后呢密我们现在来测试连接密码,我们来写一下123456.1个OK,我们看到这就连上了,对吧?所以呢,我们这种方式也是可以的,密码我们现在把这个密码呢,让他自己保存一下,123456。
08:06
点一个确定,点一个OK,这是我们远程的MYSQ,我现在双击我重新连进来,好,我们连到了远程的MYSQ,没有任何问题,所以这就是我们部署的MYSQL,在集群外部也能访问了,主要呢就是在这儿创建的时候来给大家看一下,在这创建的时候呢,它的步骤就是指定工作负载,当然这一块的图我就不截了,大家可以自己生成笔记把这个图做出来。最终呢,我们就部署了两个。就是为一个MYSQL,我做了两个服务,一个呢是在集群内部,一个呢是在我们集群外部,集群外部的这个端口在这儿我们也开放了点一个完成。这就是我们最终的马色的可访问性,那么现在呢,就访问到了,然后呢,还有一个啊好处大家给大家看一下啊,其实我们没必要自己再建一个集群内部的访问,因为即使是集群外部的访问,它这是不是也有一个这个DNS域名,所以呢,我如果在集群内部。
09:10
我来进行访问的话,我用它的这个域名也是没有任何问题的,杠u root啊杠H。然后呢,杠P回车123456好,我们这一块是不是照样访问,所以这就是我们的马。我们这个马SQ呢,集群内部可以用它,也可以用它,但集群外部只能用上面这个方式,我做两个的好处是什么?其实在生产环境,除非我们要连上生产库,我们要排错,否则的话,我可以把集群外部的这个负载均衡,我直接一删,这样生产环境以后呢,只有我们生产环境里边部署的每一个应用能访问到我们生产环境的MYSQL,而你外部呢,永远是连不上的,所以这样就能保证我们MYSQ的一定的安全性。
10:02
那我们马赛的整体部署这个就结束了,我们集群内部也能仿,用这两个都能仿,集群外部呢,用我们刚才暴露的外部的端口号也能仿,那剩下的部署我们在剩下呢,会以ready啦,以及我们的其他,嗯,以less search啦,我们为例再来部署两个中间件。整个部署思路呢,跟MYSQL的部署都是一样的。
我来说两句