kubernetes 会话关联行为
kubernetes session affinity behavior
我正在使用创建的 kubernetes 1.9.2 但 kubeadm。
这个 kubernetes 集群在 4 个 ec2 节点中 运行。
我有一个部署需要在每个 pod 中使用缓存。
为了实现我们使用 ClusterIP 的会话亲和性。
因为我是 Kubernetes 集群前面的 ELB,所以我想知道会话亲和力的表现如何。
自然的行为是,对于每个客户端 IP,不同的客户端会收到请求,但考虑到流量是通过 ELB 传输的,会话亲和性识别哪个 IP,ELB IP 还是实际客户端 IP?
当我检查 pods 的流量时,我看到 102 pods 收到了所有请求,而另外 2 个 pods 正在等待。
非常感谢您的帮助。
SessionAffinity
识别客户端IP,ELB应该传递客户端IP。
我认为你应该使用 HTTP Headers and Classic Load Balancers 并设置 X-Forwarded-For: client-ip-address
此外,这似乎是一个已知问题 enabling Session affinity goes to a single pod only #3056。
据报道 0.18.0
和 0.19.0
版本的 NGINX Ingress 控制器。
问题已关闭,并评论说已在版本 0.21.0
中修复,但在 12 月,初始作者表示它仍然对他不起作用。
我正在使用创建的 kubernetes 1.9.2 但 kubeadm。 这个 kubernetes 集群在 4 个 ec2 节点中 运行。
我有一个部署需要在每个 pod 中使用缓存。 为了实现我们使用 ClusterIP 的会话亲和性。
因为我是 Kubernetes 集群前面的 ELB,所以我想知道会话亲和力的表现如何。
自然的行为是,对于每个客户端 IP,不同的客户端会收到请求,但考虑到流量是通过 ELB 传输的,会话亲和性识别哪个 IP,ELB IP 还是实际客户端 IP?
当我检查 pods 的流量时,我看到 102 pods 收到了所有请求,而另外 2 个 pods 正在等待。
非常感谢您的帮助。
SessionAffinity
识别客户端IP,ELB应该传递客户端IP。
我认为你应该使用 HTTP Headers and Classic Load Balancers 并设置 X-Forwarded-For: client-ip-address
此外,这似乎是一个已知问题 enabling Session affinity goes to a single pod only #3056。
据报道 0.18.0
和 0.19.0
版本的 NGINX Ingress 控制器。
问题已关闭,并评论说已在版本 0.21.0
中修复,但在 12 月,初始作者表示它仍然对他不起作用。