00:00
前面我们说了一下service的class IP模式,也就说我们使用这个命令叫暴露疑似部署的时候,当我们不传type,或者呢传type等于class IP,代表就是我们将这次部署产生的这些pod,然后呢,统一暴露成一个统一的service服务地址以后呢,大家都来访问这个service,那就可以负载均衡的访问到各个port,而我们默认的这种方式呢,我们称为集群IP,也就是说我们只能在集群内部进行访问,而如果我们真正想要在公网上进行访问,我们还可以用另外一种方式叫notde port k8S呢,在暴露我们这个服务的时候,可以传杠端type等于class IP,也可以使用另外一种方式叫notde port,当然它还有更多其他的方式,我们后来再说这个noteport呢,它的意思就是我们集群外也可以访问,而且呢,翻译过来它叫节点端口,所有的节点。
01:00
端口,它的意思就是我接下来暴露的这个服务,我会在每一个节点都开一个端口,这样的话呢,你可以使用每一个节点的公网IP加端口的方式来访问,但这个不好理解,我还是来参照这个图,假设呢,还是这次部署,这次部署呢,我产生了三个pod,这三个pod呢所在三个机器,那我为了让公网都能访问,首先我们明确的一点就是每一个机器它都有一个公网IP,这是没问题的,浏览器要能访问,我们就用公网IP,因为我们现在开通着这个三台机器,我们为它每一个呢都有一个公网IP,然后呢,我接下来可以把它暴露成一个service,但是呢,我的命令使用note port的方式,相当于呢,未来我暴露service,还是把这一组port来暴露出来,来选中我的这个service呢,还是服务这一组炮的,还是服务这一组炮的,但是呢,不同的是我接下来的暴露,我准备。
02:00
用另外一种叫node port的方式,好,我们来直接进行实验,把我们之前暴露的这个service我就删了,Cooper controller delete service叫买第一批啊,来重新暴露cooper CTR了XPOS来暴露一次部署,我们这次部署的名叫买第一批,它呢会产生3PORT,我们只要说暴露这次部署,那这三个portd呢,就会被自动加到service里边,而我们暴露这次部署呢,得写上两个关键的,一个叫杠杠port,等于还是我们以前杠杠port等于8000 8000的意思呢,就是当我来访问我们当前service的8000端口,它的来画一下它的杠杠portt,它的8000端口,那我呢就来给你访问负载均衡档每一个pod的什么,因为每一个pod自己也开了一个端口,就是它的八零端口,换成这样的每一个。
03:00
破的呢,自己有八零端口,而这个八零端口所在的这个位置,我们把八零端口呢,称为它给它破的好,我们来划过来吧,还是我们以前的命令,只不过呢,我们以后呢,喜欢把八零端口,八零端口呢,我们会称为称它叫它给它杠杠target写上吧。啊,我八零端口呢,它target port,我们还是这个命令,那我呢就杠杠PORT8000,也就是说你以后访问我这个service的8000端口,就负载均衡的来到我控制的这port的八零端口,所以刚刚target port的什么target port等于八零,然后呢,另外最关键的就来了,我type呢,我传成notde port,因为不传或者呢传这个class IP它们是一样的,都是集群内访问,而如果我传note来看一下效果回车,然后呢来看一下这个service,我们会发现这个service呢,不仅有集群IP地址,我们先拿集群IP来进行访问,如果我们用集群IP加8000端口对吧,那我们呢,能负载均衡的访问到我们的内容,一会333,一会儿我们的这个页面一会儿一一好没没有任何问题而。
04:26
且呢,我们还有这样的效果,大家会看到我们此时暴露的service呢,多了一个端口叫30948 30948呢是K8S随机的开的一个端口,而且这个端口它的最大特点是每一台机器都开,所以为什么叫nodeport叫节点端口,它呢就是在每一台机器,我们现在呢,三台机器,每一台机器都会开一个叫30948这个端口,30948,那这样的话就相当于是什么呢?我只要访问这三台机器的任何一台机器的30948就可以了,而且呢,大家注意这个端口呢是随机的,它呢也有范围,默认K8S呢在暴露呢是暴露的是3万到32767之间,所以呢,为了我的整个访问方便,期间我直接在我们的青云控制台,在我们安全组里边,我们就来开放一下,默认安全组里边。
05:26
由于我们接下来的K8S的这些应用端口将会随机,如果我们想要暴露的话,将会随机在3万到32767之间给我们来开啊,点一个提交,点一个应用修改,那最终的效果呢,就是我访问任何一台机器的他开的这个端口,那我们就可以负载均衡的访问到我们这个pod来进行一个测试,任何一台机器我们呢,就随便打开吧,比如呢,我现在访问master,但不能在这呢进行连接,我把master的这个IP地址拿过来,我访问master的这个端口,哎,过来回车,Master呢,有一个端口叫来看一下我们现在暴露的这个叫30948。
06:18
3094吧,回车,诶我们看到呢,就能访问到这个应用,包括我们也可以在其他浏览器里边来试一下我们的这个访问回车,然后呢,大家会看到有些浏览器呢,打印的是111,有些浏览器呢,打印的是333,也就是无负载均衡到我们的各个pod了,这就是我们note port端口暴露的方式,而且呢是任何一台机器啊,我们如果呢,我接下来刚才呢是使用的master,我如果使用NODE1也是可以,我又点连接上呢,我们把这个IP拿来,如果我们使用NODE1的这个地址。加上我们这个端口回车也是可以访问到我们部署的这三个pod的,所以呢,这就是我们说的端口暴露的方式,它呢,接下来将会在每一台机器呢,都开放一个相同的端口,这样的话呢,我们只要访问在集群外使用任意一台机器的公网IP加端口也能负载均衡的访问到G,当然我们暴露的这个service呢,除了我们使用机器端口能访外,剩下的特性呢都还在,比如呢,你可以拿它的集群IP,也可以在某一个pod内拿它域名,这些都可以访问的,大家可以下边继续测试。
我来说两句