有人问我这个问题,但我在网上找不到有关它的信息 - Kubernetes 使用哪种算法来控制 Pod 的副本集或部署中的流量(我猜它们相同)?
可以说,我的 Kubernetes 集群中有 5 个 pod 的副本,在副本集中定义。在新请求中,集群如何选择去哪个 pod?它使用循环吗?我找不到有关它的信息。
有人问我这个问题,但我在网上找不到有关它的信息 - Kubernetes 使用哪种算法来控制 Pod 的副本集或部署中的流量(我猜它们相同)?
可以说,我的 Kubernetes 集群中有 5 个 pod 的副本,在副本集中定义。在新请求中,集群如何选择去哪个 pod?它使用循环吗?我找不到有关它的信息。
用于确定哪个 pod 将处理请求的算法取决于正在运行的kube-proxy模式。
在 1.0 中,代理工作在称为用户空间的模式下,默认算法是循环。
在 1.2 模式中添加了 iptables 代理,但由于 iptables 的限制,仍然使用循环。
在 1.8.0-beta 中,引入了 IP 虚拟服务器 (IPVS),它允许更多的算法选项,例如:
参考:
https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies https://sookocheff.com/post/kubernetes/understanding-kubernetes-networking-model/