首页 > 解决方案 > Kubernetes 会话亲和行为

问题描述

我正在使用 kubernetes 1.9.2 创建但 kubeadm。这个 kubernetes 集群在 4 个 ec2 节点上运行。

我有一个需要在每个 pod 中使用缓存的部署。为了完成我们使用来自 ClusterIP 的会话亲和性。

因为我是 Kubernetes 集群前的 ELB,所以我想知道会话亲和性的表现如何。

自然的行为是,对于每个客户端 IP,都会有不同的请求,但考虑到流量是通过 ELB 传输的,会话亲缘关系识别哪个 IP,ELB IP 还是实际客户端 IP?

当我检查 pod 的流量时,我看到 102 个 pod 收到了所有请求,而另外 2 个 pod 正在等待。

非常感谢您的帮助。

标签: kubernetesamazon-elb

解决方案


SessionAffinity识别客户端 IP,ELB 应该通过客户端 IP。

我认为您应该使用HTTP 标头和经典负载均衡器并进行设置X-Forwarded-For: client-ip-address

此外,这似乎是一个已知问题,使会话亲和性仅转到单个 pod #3056

报告了NGINX Ingress 控制器0.18.00.19.0版本。

问题已关闭并评论说已在 version 中修复0.21.0,但在 12 月最初的作者说它仍然对他不起作用。


推荐阅读