kubernetes内的自定义负载平衡

问题描述 投票:1回答:1

我试图部署具有负载平衡kubernetes中的应用

下面是我的预期展开图

enter image description here

理想情况下,应用程序是由一组吊舱使用K8S部署,类型为“后端”的部署

通常,用户实例被存储在存档。和被恢复到荚果的一个根据要求动态地,在那里逗留一个TTL时间(比如30分钟),并删除与已备份到档案。

理想情况下,负载均衡是由一组使用K8S部署,类型为“前端”的豆荚的部署。

理想情况下,前端被构造为7层会话粘带“粘性=主机”。主机等于后端吊舱的UID

一个用户通过SOAP消息,其中包含参数的“主机”和在其主体“用户”请求服务。

当SOAP消息到达前端,“主机”值从消息体萃取。

如果“主机”值是有效的,所述SOAP消息被转发到相应的后端荚(其UID等于宿主值)。否则,随机后端吊舱分配。

(这里在处理是应用特定的)在后端荚,应用程序通过“用户”的值检查用户实例的可用性。

如果已经存在,只是使用它;否则,尝试从档案中恢复;如果恢复失败(新用户),创建一个新的用户实例。

我四处搜寻,并没有发现任何类似的例子。特别是7层会话粘配置以及定制的从传入消息体粘值的获取的执行。

kubernetes load-balancing sticky-session kubernetes-pod kubernetes-service
1个回答
0
投票

这听起来像是你在哪里,通过前端的负载均衡器做认证用例。你有没有看着Istio和大使。好像Istio和特使可以提供服务网请求路由到吊舱。然后,你将不得不编写自定义插件模块插入大使来创建你正在寻找这个特定的路由和认证机制。

大使定制认证服务的例子:https://www.getambassador.io/user-guide/auth-tutorial

https://www.getambassador.io/user-guide/with-istio

这种习俗粘性会话路由也可以使用其他API网关,但仍然使用Istio路由到不同的吊舱完成。然而,如果豆荚才能有基于消息体的参数API网关(大使,香港,Nginx的)更容易分割定义为独立的服务,这将是最好的。

© www.soinside.com 2019 - 2024. All rights reserved.