Kubernetes使用哪种算法来导航副本集/部署中的流量

Yag*_*gel 1 replicaset kubernetes kubernetes-deployment

我被问到了这个问题,但我找不到在线信息-Kubernetes使用哪种算法来导航Podset或部署中的Pod或部署中的流量(我想它们是相同的)?

可以说,我的Kubernetes集群中有5个Pod的副本,在副本集中定义。集群如何在新请求中选择要转到哪个吊舱?它使用轮询吗?我找不到有关它的信息。

小智 6

确定哪个Pod将处理请求的算法取决于正在运行的kube-proxy模式。

  • 在1.0中,代理在称为用户空间的模式下工作,默认算法为循环轮询。

  • 在1.2模式下,添加了iptables代理,但是由于iptables的限制,仍然使用循环轮询。

  • 在1.8.0-beta中,引入了IP虚拟服务器(IPVS),它提供了更多的算法选项,例如:

    • RoundRobin;
    • WeightedRoundRobin;
    • LeastConnection;
    • WeightedLeastConnection;
    • LocalityBasedLeastConnection;
    • LocalityBasedLeastConnectionWithReplication;
    • SourceHashing;
    • DestinationHashing;
    • ShortestExpectedDelay;
    • NeverQueue。

参考文献:

https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies https://sookocheff.com/post/kubernetes/understanding-kubernetes-networking-model/