k8s 创建应用没有提供对外访问端口,所以创建好了之后还不能被外部调用,要想被外部访问就必须创建服务,服务一方面链接到k8s应用内部一方面暴露端口给外部访问。k8s提供了多种暴露服务的方式,默认是clusterip,还有nodePort,Loadblancher等方式。
环境:阿里云已经建好k8s 测试集群1,测试集群2
测试集群1对应的服务器:A和B
测试集群2对应的服务器:C和D
1、cluterip,当你在k8s测试集群1为一个应用创建一个cluterip(172.1.1.3:80)的服务,只能在测试集群1服务器的A和B访问该服务,在测试集群2是访问不了的.
2、nodePort,当你为测试集群1为一个应用创建一个nodePort的服务时,会自动创建一个clusterip,并在每台服务器上暴露一个对外访问的端口,这时候可以在集群内部服务器通过clusterip + port 或者服务器ip + nodeport访问,也可以在测试集群2通过测试集群1ip访问,但这时候你不能在阿里云账号下不能通信的网段访问。
3、Loadblancher,当你创建一个负载均衡提供访问时,会自动创建cluster ip, nodePort和Loadblancher,这时候你有三种方式访问,一个是集群内部cluster ip + port,服务器ip + nodePort,和Loadblancher ip + port,使用Loadblancher ip + port可以在同一阿里云账号下的不同网段的服务器进行访问,比如交换机1和交换机2下的不同服务器.
网友评论