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

iam*_*eli 10 kubernetes

我想实现一个粘性会话Ingress控制器.Cookie或IP哈希都可以; 只要相同的客户端通常路由到同一个pod,我就很高兴.

我坚持的观点:似乎Kubernetes服务模式意味着无论如何我的连接都会被随机代理.我可以使用会话亲和性配置我的Ingress控制器,但是一旦连接越过那个并点击服务,kube-proxy就会随机地路由我.服务上有sessionAffinity: ClientIP标志,但这对我没有帮助 - 客户端IP将始终是Ingress pod的内部IP.

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

Pra*_*h B 1

入口控制器可以完全绕过 kube-proxy。例如,haproxy 控制器会执行此操作并直接到达端点。然而它并没有使用典型意义上的 Ingress

您可以对 nginx 控制器执行相同的操作,只需查找端点并插入它们而不是当前使用的 DNS 名称(即将此行交换为指向包含端点的上游的指针)。

  • github URL 的链接已损坏 (3认同)