本文主要是介绍大白话说明:k8s-Service资源的理解以及与Ingress Controller 做区分,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、什么是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更加灵活。
这篇关于大白话说明:k8s-Service资源的理解以及与Ingress Controller 做区分的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!