■ 개요:
WAS에서 로그인 로직이 존재하는 경우, Ingress에서 Multi POD를 구성하면 로그인이 끊긴다.
■ 원인:
Ingress는 기본적으로 Round-Robin으로 사용자 접속 정보를 Routing하므로, 사용자 세션 정보가 없는 POD로도 지속적으로 사용자 Request를 보낸다.
따라서 Session 정보가 없는 POD에 의한 처리가 될 경우 세션이 끊긴다.

■ 해결책:
두가지 방안이 있다.
1. Redis와 같은 Session Manager를 구성하여 Session Replication 하기
2. Ingress에서 Sticky Session을 적용해서 Ingress Routing을 고정하기.
여기서는 Ingress에 Sticky Session을 적용하는 법을 가이드한다.
■ Ingress에 ticky session 적용 절차
apiVersion: extensions/v1beta1 kind: Ingress metadata: name: nginx-ingress annotations: nginx.ingress.kubernetes.io/rewrite-target: / kubernetes.io/ingress.class: "nginx" nginx.ingress.kubernetes.io/affinity: "cookie" nginx.ingress.kubernetes.io/session-cookie-hash: "sha1" nginx.ingress.kubernetes.io/session-cookie-name: "route" spec: rules: - host: test.skcc.com http: paths: - path: / backend: serviceName: svc-weblogic12c servicePort: 17001 |
'Kubernetes' 카테고리의 다른 글
Kubernetes 클러스터 구성 (1 Master + 3 Nodes) (0) | 2020.03.27 |
---|