正如发现的这里一样,有一种新的kube服务是IPVS,并且有许多负载平衡算法。
唯一的问题是我没有找到那些算法的指定位置。
我的理解是:
rr:循环 ->在循环中一个接一个地调用后端吊舱lc: lowest ->将连接数最少的所有pod分组,并向其发送消息。哪种联系?只有这个服务的那个?dh:目的散列 ->?基于url的东西?sh: 源代码哈希 ->?基于url的东西?sed:最短的预期延迟 ->,要么是后端,要么是没有ping的后端,要么是后端过去响应时间的逻辑。nq:从来没有像最小连接一样排队 ->?但在某些时候拒绝留言呢?如果有人有文档链接(没有在官方页面中提供,仍然说IPVS是beta的,而它是稳定的同步1.11)或者所有这些链接背后的真正算法,请提供帮助。
我试过了: Google搜索中使用了正式文档中的术语+查找。
发布于 2019-04-16 11:39:42
它们在代码https://github.com/kubernetes/kubernetes/blob/master/pkg/proxy/apis/config/types.go#L193中定义。
rr 循环:在可用的实际服务器之间平均分配作业lc 最小连接:向活动作业较少的实际服务器分配更多作业sh 源代码散列:通过查找服务器源IP地址静态分配的哈希表将作业分配给服务器dh 目标散列:通过查找目标IP地址静态分配的哈希表将作业分配给服务器sed 最短期望延迟:以最短的预期延迟将传入的作业分配给服务器。如果将任务发送到ith服务器,则该作业的预期延迟为(Ci + 1) / Ui,其中Ci是ith服务器上的作业数,Ui是ith服务器的固定服务速率(权重)。nq 从不排队:如果有空闲服务器,则将传入作业分配给空闲服务器,而不是等待快速作业;如果所有服务器都很忙,则采用ShortestExpectedDelay策略分配作业。所有这些都来自IPVS官方文档:http://www.linuxvirtualserver.org/docs/scheduling.html。
问候
https://stackoverflow.com/questions/55707071
复制相似问题