nginx-ingress同服务多端口路径下Cookie会话亲和性是否生效?
结论
同一客户端访问/和/static路径时,会话亲和性均生效,所有请求都会被转发到同一个Pod。
原理说明
- nginx-ingress的会话亲和性注解是配置在Ingress资源的元数据层级,属于全局生效的规则,会覆盖该Ingress下定义的所有路径转发规则,不会按路径单独隔离亲和性策略。
- 你配置的会话Cookie名称为
route,作用域是绑定的域名test.com,客户端访问该域名下的任意路径时都会携带同一个routeCookie,不会因为路径不同而使用不同的会话Cookie。 - nginx-ingress从Cookie中解析出目标Pod的标识后,只会将请求转发到
test-service关联的、符合app=test-pod标签的对应Pod。不同路径只是对应转发到该Pod的不同端口(8080/8081,对应Pod内不同容器),Pod实例本身不会改变。
注意事项
只有当你为不同路径单独配置独立的亲和性规则(比如通过BackendConfig为不同路径后端绑定不同的亲和性策略)时,才会出现不同路径的会话亲和性结果不一致的情况,你当前的配置不存在该问题。
内容的提问来源于stack exchange,提问作者user3908406
相关产品推荐
相关产品推荐

