国内自适应网站,网站开发策划个人简历,长沙网站优化联系方式,wordpress经典编辑器kube-proxy 通过 Informer知道了Service、endpoints对象的创建#xff0c;然后把service身上的CLUSTER-IP 和端口已经端点信息拿出来#xff0c;创建iptable NAT规则做转发或通过ipvs模块创建VS服务器#xff0c;这样经过CLUSTER-IP的流量都被转发到后端pod。 iptables模式 …kube-proxy 通过 Informer知道了Service、endpoints对象的创建然后把service身上的CLUSTER-IP 和端口已经端点信息拿出来创建iptable NAT规则做转发或通过ipvs模块创建VS服务器这样经过CLUSTER-IP的流量都被转发到后端pod。 iptables模式 我们先查看nat表的OUTPUT链存在kube-proxy创建的KUBE-SERVICE链 iptables -nvL OUTPUT -t nat 在KUBE-SERVICES链中有一条目的地为10.96.148.206即CLUSTER-IP地址跳转到KUBE-SVC-EJUV4ZBKPDWOZNF4 iptables -nvL KUBE-SERVICES -t nat |grep service-demo 接着是查看这条链以1/3的概率跳转到其中一条 iptables -nvL KUBE-SVC-EJUV4ZBKPDWOZNF4 -t nat 最后KUBE-SEP-BTFJGISFGMEBGVUF链终于找到了DNAT规则 iptables -nvL KUBE-SEP-BTFJGISFGMEBGVUF -t nat 即将请求通过DNAT发送到地址100.101.184.61:9376也就是我们其中一个Pod。 IPVS模式 与iptalbes模式相比IPVS模式工作在内核态在同步代理规则时具有更好的性能同时提高网络吞吐量为大型集群提供了更好的可扩展性。 IPVS 模式在工作时当我们创建了前面的 Service 之后kube-proxy 首先会在宿主机上创建一个虚拟网卡kube-ipvs0并为它分配 Service VIP 作为 IP 地址如图 接着kube-proxy通过Linux的IPVS模块为这个 IP 地址添加三个 IPVS 虚拟主机并设置这三个虚拟主机之间使用轮询模式 来作为负载均衡策略。 通过ipvsadm查看 ipvsadm -ln |grep -C 5 10.96.148.206 可以看到虚拟server的IP即是Pod的地址这样流量即向了目的地Pod。 以上我们先认识了Service这个API对象接着讲到了service与endpoints和pod的关联然后是service与kube-proxy的关系以及kube-proxy的两种模式如何通过service的IP创建iptables、IPVS规则将流量转发到Pod。