Google云端http(s)负载平衡与kubernetes

此处的文档介绍了如何在Google云平台上使用kubernetes设置基于http的负载平衡器。

问题是如何实际pipe理基于利用率的负载平衡。 例如,使用以下configuration:

  • 10个节点实例组
  • 3 pod复制控制器部署到该实例组
  • 在实例组中的每个节点上公开端口X的NodePort服务。

假设LB将select10个节点中使用量最less的一个,并将其路由到端口X,那么如何select一个吊舱来处理请求? kubernetes服务然后根据其他平衡algorithmselectpod吗?

显然有趣的事情正在发生,因为大多数情况下不会有一个pod运行(因此可能更有可能被最less利用)。

如本文所述 :

GCE / AWS负载平衡器不提供其目标池的权重。 这对旧的LB kube-proxy规则来说并不是问题,这些规则可以在所有端点之间进行正确的平衡。

使用新function,外部stream量将不会在多个Pod中平均负载平衡,而是在节点级平均分配(因为GCE / AWS和其他外部LB实现无法指定每个节点的权重,所以它们平衡跨所有目标节点,忽略每个节点上的豆荚数量)。

但是,我们可以指出,对于NumServicePods“NumNodes”或“NumServicePods”NumNodes,即使没有权重,也可以看到相当接近平均的分布。

一旦外部负载均衡器提供权重,可以将此function添加到LB编程path。 未来的工作:1.4版本不提供对权重的支持,但可以在未来的date添加

内部的podstream量应该类似于ClusterIP服务,所有pod的概率相同。