服务资源中的负载均衡逻辑



在我的 kubernetes 集群中,有很多服务间通信。我还启用了水平 pod 自动缩放程序,我们将服务资源用于所有这些服务

我需要了解服务资源如何在 Pod 之间对请求进行负载平衡。

我确实读过有关SessionAffinity的信息,但是如果您不使用入口资源,它仅支持ClientIP。

想知道服务是否可以根据特定 Pod 上的负载(在 CPU、内存等方面)进行负载均衡。简而言之,sessionAffinity 配置是否支持除 ClientIP 以外的任何内容。我不想引入入口资源,因为这些不是面向外部的请求,而是服务间通信。

提前谢谢。

简而言之,sessionAffinity 配置是否支持 ClientIP 以外的任何内容

不,它没有。请参阅此处的模型定义以获取v1.SessionAffinityConfig:也不会;我已经觉得会话亲和力超出了服务的范围,我很惊讶它的存在。

如果您想更好地控制连接,则需要在服务前面使用某种层。有很多服务网格可以解决您的问题(参见 isito 或 Linkerd )

你也可以用nginx推出自己的解决方案,并将你对该服务的请求发送到nginx pod。

相关内容

最新更新