소통하는 개발자 Sean
article thumbnail
쿠버네티스 환경에서 여러 Pod가 하나의 Redis 세션을 참조하는 구조
Web Programming/Spring Boot 2024. 2. 25. 19:26

쿠버네티스(Kubernetes) 환경에서 스프링부트(Spring Boot) 애플리케이션을 배포하고, Pod을 2개로 설정했을 때 로그인 문제가 발생했습니다. 로그인을 해도 다시 로그인을 하게 되는 상황이였는데요, 스프링 시큐리티(Spring Security)를 사용할 때, 세션 정보가 한 Pod에만 저장되어 있기 때문에 로드 밸런싱으로 인해 사용자 요청이 다른 Pod로 전송될 때 세션 정보를 찾을 수 없어 로그인 문제가 발생한것으로 보입니다. 스프링 세션 + Redis를 사용하여 문제를 해결해보도록 하겠습니다. Redis를 사용하여 세션을 공유하는 과정을 단계별로 설명하겠습니다. 이 과정은 스프링 부트와 스프링 세션(Spring Session) 라이브러리를 사용하여, 세션 정보를 중앙 집중식으로 관리하는..