K8S之Service代理模式
2020-10-23 本文已影响0人
喝不醉的Solace
iptables
WX20201023-151949@2x.png- 在这种模式下,对于每个Service,都安装一套iptables规则,该规则捕获到Service的clusterIP和的port流量,并将该流量重定向到服务的Pod中的一个,默认情况下,选择哪个pod是随机的。
- 在iptables模式下,如果随机的第一个Pod没有响应,连接失败,kube-proxy将检测到Pod的连接已失败,并将自动使用其他后端Pod重试。
- 在iptabels模式下,我们可以使用就绪探针(readless)来告诉kube-proxy Pod是否就绪,详情:https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes
IPVS代理模式
WX20201023-151730@2x.pngIPVS模式有以下优点:
- IPVS为大型集群提供了更好的可扩展性和性能。
- IPVS支持比iptables更复杂的负载平衡算法(最小负载,最少连接,位置,加权等)。
- IPVS支持服务器健康检查和连接重试等。
IPVS代理模式基于类似于iptables模式的netfilter挂钩函数,但是使用哈希表作为基础数据结构,并且在内核空间中工作。这意味着,与iptables模式下的kube-proxy相比,IPVS模式下的kube-proxy可以以较低的延迟重定向通信,并且在同步代理规则时具有更好的性能。与其他代理模式相比,IPVS模式还支持更高的网络流量吞吐量。