Kubernetes中服务的三种访问方式

Kubenerters中对于服务的访问,提供了多种访问方式,以适应不同的使用场景。其中主要的访问方式有ClusterIP、NodePort以及LoadBalancer三种。

三种访问方式详细对比说明如下表所示:

一、Cluster IP访问方式

适用于集群内服务间相互访问的场景,其访问的流程如下图所示:

访问的数据流向为: Internal traffic>Cluster IP:Port–>kube-proxy(iptables)–>Pod Backend

二、 NodePort访问方式

在无外部负载均衡器的情况下,可以通过NodePort提供外部访问的能力,其访问的流程如下图所示:

访问的数据流向为: Client–>NodeIP:NodePort>kube-proxy(iptables)–>Pod Backend

1、Client–>kube-proxy: 通过NodeIP:NodePor访问,NodeIP可以是集群中任意一个节点的IP,NodePort一般通过Kubernetes随机分配,默认分配范围为30000—32768。

2、kube-proxy–>Pod Backend: (同Cluster IP访问)

三、LoadBalancer方式

在外部存在负载均衡器的情况下,一般通过LoadBalancer的方式实现外 访问(其底层依赖于NodePort),其访问的流程如下图所示:

访问的数据流向为: Client–>VIP:VPort–>负载均衡器–>NodeIP:NodePort>kube-proxy(iptables)–>Pod Backend

1、 Client–>负载均衡器: 通过VIP:VPor访问,也可以通过负载均衡器中绑定的域名进行访问。

2、负载均衡器–>kube-proxy: 负载均衡器在可用的节点中,根据均衡算法选择一个节点进行转发,转发的目的端口为NodePort。

3、kube-proxy–>Pod Backend: (同Cluster IP访问)。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月15日
下一篇 2020年1月15日

相关推荐