我有一个大型应用程序,其使用的ingress-nginx的配置类似于:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
nginx.ingress.kubernetes.io/affinity: "cookie"
nginx.ingress.kubernetes.io/affinity-mode: "persistent"
nginx.ingress.kubernetes.io/ssl-redirect: SSL_REDIRECT
name: MY_INGRESS
spec:
tls:
- secretName: SSL_CERTIFICATE_NAME
rules:
- host: EXTERNAL_HOST
http:
paths:
- backend:
serviceName: service2
path: /service2
- backend:
serviceName: service3
path: /service3
- backend:
serviceName: service4
path: /service4
- backend:
serviceName: service5
path: /service5
- backend:
serviceName: service6
path: /service6
- backend:
serviceName: service7
path: /service7
- backend:
serviceName: service1
path: /
使用当前配置,我的cookie值会经常更新,并且会路由到其他服务器。
我的问题是每个服务都是唯一的,每个服务都链接到一组不同的POD,因此我需要会话关联。
实现此目标的最佳方法是什么?每个后端都有一个不同的Cookie名称的入口?