我想实现一个粘性 session Ingress Controller 。 Cookie 或 IP 散列都可以;只要同一个客户端通常路由到同一个 pod,我就很高兴。
我所坚持的:似乎 Kubernetes 服务模型意味着无论如何我的连接都将被随机代理。我可以用 session 亲缘关系配置我的入口 Controller ,但是一旦连接越过那个并点击服务,kube-proxy
只是要随机路由我。这是sessionAffinity: ClientIP
服务上的标志,但这对我没有帮助——客户端 IP 将始终是 Ingress pod 的内部 IP。
我错过了什么吗?鉴于 Kubernetes 当前的架构,这可能吗?
最佳答案
入口 Controller 可以完全绕过 kube-proxy。例如,haproxy Controller ,does this and goes straight to endpoints .然而它doesn't use the Ingress in the typical sense .
您可以 do the same with the nginx controller ,所有您需要查找端点并插入它们而不是它当前使用的 DNS 名称(即交换 this line 用于指向包含端点的上游的指针)。
关于kubernetes - 在 Kubernetes 中,如何使用 Ingress 实现 session 关联?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33792919/