在使用子集散列时,是否可以根据条件为单个上游服务器而不是子集实现粘性?
这是我使用入口 nginx 控制器的要求。我在部署中有 4 个 pod,并且我已经根据标头键(我在 http 请求中作为标头传递)配置了上游散列,并且还启用了大小为 2 的子集。所以基本上,我现在有两个子集,每个子集都有两个豆荚。Subset1-->(p1, p2) 和 Subset2-->(p3, p4)
nginx.ingress.kubernetes.io/upstream-hash-by: "$my_header"
nginx.ingress.kubernetes.io/upstream-hash-by-subset: "true"
nginx.ingress.kubernetes.io/upstream-hash-by-subset-size: 2
我有两个请求 GET /req1 和 GET /req2 具有相同的上游哈希键,并说两个请求都转到 Subset1。但是一个请求可以到达 p1,而另一个请求可以到达 p2。是否可以强制要求如果 req1 去了 p1,那么第二个请求 req2 也应该去同一个 pod p1?同样,如果 req1 去了 p2,那么第二个请求 req2 也应该去同一个 pod p2?
会话 cookie 允许子集的粘性,而不是子集中的 pod。有没有办法做到这一点?