kube-proxy 是集群中每个节点上运行的网络代理,是实现service资源功能组件之一。kube-proxy 建立了pod网络和service网络之间的关系,即 cluster ip 和 pod ip 中间的关系。不同node上的service流量转发规则会通过kube-proxy进行更新,其实是调用apiserver访问etcd进行规则更新。
service流量调度方式有三种方式: userspace(废弃,性能很差)、iptables(svc较多的时候性能较差)、ipvs(性能好,转发方式清晰)。当然,就算是ipvs,那也是走iptables规则,只是随着service规模的增加,性能降低衰减很小而已,未来会有越来越多的公司采用eBPF方案替代Kube Proxy,现在cilium就是采用eBPF实现的CNI插件,可以替代Kube Proxy。