【发布时间】:2020-06-04 13:23:07
【问题描述】:
首先请求转到我已经实现的代理服务,服务将请求随机转发到 Pod,而不使用 sessionAffinity。我想根据我使用 post 方法在请求参数中设置的自定义值向同一个 pod 发送请求。我在服务 yml 中使用了 sessionAffinity。
这是带有 sessionAffinity 的服务 yml:
apiVersion: v1
metadata:
name: abcd-service
namespace: ab-services
spec:
ports:
- name: http
protocol: TCP
port: ****
targetPort: ****
nodePort: *****
selector:
app: abcd-pod
sessionAffinity: ClientIP
sessionAffinityConfig:
clientIP:
timeoutSeconds: 600
type: NodePort
现在的问题是,当多个客户端从同一 IP 地址发送请求时,所有请求都被定向到单个 pod 而不是其他副本,导致负载平衡不均匀。但我也不希望随机转发请求。我希望根据我在发布请求中设置的自定义值而不是通过 clientIP 转发来自同一客户端或不同客户端的所有请求,因为 clientIP 解析为每个请求的源 IP。
【问题讨论】:
-
您好,您有没有找到其他方法根据其他值将请求路由到特定 pod?我也需要类似的解决方案
标签: ruby kubernetes sticky-session session-affinity