1

有人问我这个问题,但我在网上找不到有关它的信息 - Kubernetes 使用哪种算法来控制 Pod 的副本集或部署中的流量(我猜它们相同)?

可以说,我的 Kubernetes 集群中有 5 个 pod 的副本,在副本集中定义。在新请求中,集群如何选择去哪个 pod?它使用循环吗?我找不到有关它的信息。

4

1 回答 1

6

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

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

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

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

    • 循环;
    • 加权循环;
    • 最少连接;
    • 加权最小连接;
    • LocalityBasedLeastConnection;
    • LocalityBasedLeastConnectionWithReplication;
    • 源哈希;
    • 目的地哈希;
    • 最短预期延迟;
    • 从不排队。

参考:

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

于 2019-04-08T02:58:07.320 回答