在Kubernetes中,如何使用入口实现会话关联?

在Kubernetes中,如何使用入口实现会话关联?,kubernetes,Kubernetes,我想实现一个粘性会话入口控制器。Cookie或IP哈希都可以;我很高兴,只要同一个客户通常被路由到同一个pod 我坚持的是:看起来Kubernetes服务模型意味着我的连接将被随机代理。我可以使用会话关联来配置入口控制器,但一旦连接通过该连接并点击服务,kube proxy就会随机路由我。服务上有sessionAffinity:ClientIP标志,但这对我没有帮助——客户端IP将始终是入口吊舱的内部IP 我错过什么了吗?鉴于Kubernetes当前的架构,这是否可能?入口控制器可以完全绕过ku

我想实现一个粘性会话入口控制器。Cookie或IP哈希都可以;我很高兴,只要同一个客户通常被路由到同一个pod

我坚持的是:看起来Kubernetes服务模型意味着我的连接将被随机代理。我可以使用会话关联来配置入口控制器,但一旦连接通过该连接并点击服务,
kube proxy
就会随机路由我。服务上有
sessionAffinity:ClientIP
标志,但这对我没有帮助——客户端IP将始终是入口吊舱的内部IP


我错过什么了吗?鉴于Kubernetes当前的架构,这是否可能?

入口控制器可以完全绕过kube代理。例如,haproxy控制器。但是它


您可以查找端点并插入它们,而不是它当前使用的DNS名称(即交换指向包含端点的上游的指针)。

我评估了haproxy控制器,但无法使用会话关联使其可靠运行。经过一些研究,我发现自版本0.61以来,它还包括nginx sticky module ng模块,并且在我们的测试环境中已经运行了几天,现在已经可以可靠地运行了。我创建了一个用于设置所需Kubernetes片段的配置,因为在现有文档中很难找到一些重要的配置。祝你好运

我也有同样的问题-但是你的答案中的链接目前已断开,你有没有可能更新这些链接?我使用了LoadBalancer类型的服务,带有loadBalancerIP和sessionAffinity:“ClientIP”,但用户似乎并没有达到同一个pod。我发现在设置基于Cookie的粘性和haproxy的负载平衡应用程序时非常有用。基本上,它可以归结为在您想要平衡的服务上设置文档不太完整的
serviceloadbalancer/lb.cookie-sticky-session
,并让haproxy发挥前面的魔力。github URL的断开链接