yona-projects / yona

Project Hosting SW
https://yona.io
Apache License 2.0
490 stars 154 forks source link

쿠버네티스 환경에서 confiamap으로 application.conf를 생성하였을 시 문제 #817

Open Clickin opened 3 months ago

Clickin commented 3 months ago

기존에 yona를 일반 deployment 및 파일시스템 매핑으로 잘 사용하다가 헬름 차트로 한번 만들어보고싶어져서 헬름 차트를 작성하였습니다. 혹시나 문제 재현을 위해 필요하실 수도 있어 미리 소개합니다. 리포지토리: https://github.com/Clickin/yona-helm-chart 사용법

helm repo add clickin https://clickin.github.io/yona-helm-chart/
helm install yona clickin/yona

헬름 차트는 써보기만 했지 만드는 건 처음이라 미숙한 부분이 많습니다만 이중 application.conf read only 마운트 문제는 스스로 해결할 방도가 없어 이슈를 생성하였습니다.

문제점

문제가 되는 건 아래의 secret을 업데이트해주는 부분이었는데요. Global.java 쿠버네티스 configmap의 경우 read only 파일시스템으로 마운트되기 때문에 다음과 같은 warning이 발생 후 프로그램적으로 secret을 업데이트해주지 못합니다.

[warn] application - Failed to update secret key
java.nio.file.FileSystemException: /yona/data/conf/application.conf: Read-only file system
        at sun.nio.fs.UnixException.translateToIOException(UnixException.java:91) ~[na:1.8.0_402]
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102) ~[na:1.8.0_402]
        at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107) ~[na:1.8.0_402]
        at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214) ~[na:1.8.0_402]
        at java.nio.file.spi.FileSystemProvider.newOutputStream(FileSystemProvider.java:434) ~[na:1.8.0_402]

이에 따라 현재 시크릿이 DEFALT_SECRET과 동일하기 때문에 초기화 페이지만 계속해서 보이는 문제가 발생합니다. 현재는 직접 configmap을 edit해서 임의의 secret을 넣어주는 방법으로 사용 가능한걸 알았는데, 다른 방법이 있을까요?