一、什么是Service?  

        1、Service只是后段一堆Pod的集合抽象概念而已。

        2、当你创建Service资源时会同时创建一个名称为Endpoints的资源对象来List 这些实际的Pod的IP。     

二、Service代理流量吗?

        1、不代理。        

        2、实际处理流量是每个节点上的kube-proxy。

三、kube-proxy怎么处理流量的?

只要创建了Service资源那么kube-proxy就会根据Service资源下实际的Endpoints来维护一张转发表并且全网同步。

        1、kube-proxy会拦截所有访问Service Cluster-ip的流量并且通过Service的Endpoints 来list实际的后端IP地址。

        2、通过轮训、随机等方式进行负载均衡

        3、它干的活儿就是一个 4层LB的活儿。

四、Ingress Controller 处理的流量会到达kube-proxy?

        1、不会。

        2、Ingress Controller 只需要Service 的Endpoints的信息。

        3、它本身就是入口节点上的7层负载均衡。

五、4层LB和7层LB的区别

        1、4层只能负载TCP、UDP协议且只能依靠源目 IP,源目端口进行转发。

        2、7层则可以使用应用层的Http层应用层协议并且可以做的LB更加灵活。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐