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

时间:2019-04-07 19:39:52

标签: kubernetes replicaset kubernetes-deployment

有人问我这个问题,但我没有在线找到有关它的信息-Kubernetes使用哪种算法来导航Podset或部署中的通信(对于Pod)?

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

1 个答案:

答案 0 :(得分:5)

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

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

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

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

    • RoundRobin;
    • WeightedRoundRobin;
    • LeastConnection;
    • WeightedLeastConnection;
    • LocalityBasedLeastConnection;
    • LocalityBasedLeastConnectionWithReplication;
    • SourceHashing;
    • 目标哈希;
    • ShortestExpectedDelay;
    • NeverQueue。

参考文献:

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