kubernetes - 在 Kubernetes 中,如何使用 Ingress 实现 session 关联?

标签 kubernetes

我想实现一个粘性 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/

相关文章:

azure - 如何从 Azure Kubernetes 服务访问本地 IP url?

java - 如何使用 k8s java 客户端连接到 pod 内的 k8s api 服务器

kubernetes - RabbitMQ节点无法彼此发现并加入集群

kubernetes - Kubernetes服务有时无响应

kubernetes - kubernetes pod 的写时复制式内存重用?使 pod 生成速度更快、内存效率更高

kubernetes - 如何忽略部署文件中的随机Kubernetes Pod名称

docker - Ingress-nginx日志-出现很多奇怪的条目

bash - 在kubernetes pods容器中循环运行n次命令

kubernetes - 尝试使用 minikube 运行示例微服务应用程序时如何解决 DNS 查找错误

docker - 减少 kubernetes 持久卷