기존에 일반 서버에서 관리되던 웹을 k8s 에 업로드 해야하는 일이 생겼습니다.
대상 프로젝트는 Spring Core 프로젝트로써 Spring Boot 기반 프로젝트 들과 쿠키 설정하는 방식도 달랐습니다.
문제 1
로그인 관리를 JSESSIONID 쿠키를 사용하여 관리를 하는데, JESSEIONID 가 발급되지 않는다 (?)
Api 요청은 정상적으로 이뤄지나 쿠키 발급이 되지 않았다.
정리 1
프로세스들을 아래와 같이 정리해봤습니다.
각각의 파드가 로딩 될 때는 localhost 로 로딩이 되어야 합니다.
( 외장 톰캣이므로 server.xml 에 host 를 적어줘야함 )
후에 생성된 pod 들에게 접근 할 수 있는 service 를 생성하고
istio 를 이용해 service 에 접근할 수 있는데
이 때 이스티오로 접근하는 host 는 test.soobin.com 입니다.
server.xml 의 Host 부분을 아래와 같이 바꿔줬습니다.
<Host name="localhost"
appBase="webapps"
unpackWARs="true"
autoDeploy="true"
xmlValidation="false"
xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/lucy" path="" reloadable="true">
</Context>
<Alias>test.soobin.com</Alias>
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="console"
prefix="localhost_access_log."
suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
<Alias> 태그를 통해 이스티오에서 매핑된 도메인을 명시해줬습니다.
main Host 는 localhost 로 명시했습니다.
테스트 성공
Host.name = localhost
Alias = test.soobin.com
테스트 실패 ( 쿠키 생성 실패 )
Host.name = test.soobin.com
Alias = localhost
테스트 실패 ( 쿠키 생성 실패 )
Host.name = localhost
Alias =
테스트 실패 ( 쿠키 생성 실패 )
Host.name = test.soobin.com
Alias =
'개발중 > Kubernetes (k8s)' 카테고리의 다른 글
Spring Boot vs Fluentd vs ElasticSearch ✨ (0) | 2023.12.13 |
---|---|
Dockerfile Build 에러 (jdk 버전 문제) (0) | 2023.09.05 |
쿠버네티스의 여정 (0) | 2022.05.04 |