상황: DB Pod에서 DB 스키마 초기화가 되지 않는다
MySQL에 특정 데이터베이스, 테이블을 찾을 수 없다는 에러가 계속 나고 있었다 (sampleapp.message does not exists). 나는 분명 message에 대한 schema.sql을 입력했고, 다른 DB를 확인해보아도 message 테이블 생성에 대한 스크립트가 입력되었음을 확인했다.
원인: PV에 대한 이해도 부족
DB Pod에 접속하여 확인했더니 생판 다른 테이블이 생성되어 있는 것을 확인했다. 그것도 내가 옛날에 실험을 위해 적어두었던. 이 로그를 확인해보니 번뜩 그런 생각이 들었다. 아 이거 PV에 데이터 남아있는 걸로 연결이 되었구나. 초기화 스크립트가 제대로 안 먹힌 거구나. (애플리케이션을 개발하고 테스트하는 과정 중에서 중복된 경로, 이름으로 pv, pvc를 생성하고 있는 상황)
해결: PV - PVC 말끔하게 청소해주기 & reclaim 정책 잘 설정해주기
NAS 서버에 접속해서 이전에 만들었던 폴더들을 모두 제거했다. 또한 k delete pv -all -n namespace 와 k delete pvc -all -n namespace로 남아있는 pv, pvc 리소스를 제거한다.
결국 PV 리소스를 계속 남게 한다는 정책에 의거한 것이기 때문에 근본적으로 PV Reclaim을 retain이 아닌 delete 등으로 설정하는 방법이 좀 더 자동화된 방법일 것이다. 지금은 데이터를 남기게 하는 것이 더 필요한 상황이기 때문에 policy는 건드리지 않았다.
'프로젝트 일지 > BoWS' 카테고리의 다른 글
인프라 형상을 코드로 관리하기 (1) - ArgoCD (0) | 2024.08.30 |
---|---|
Nginx에서 뒷단의 서비스와 Https 통신하려 할 때 겪는 문제들 (0) | 2024.08.30 |
Synology NAS NFS 기반 PV 생성하기 (0) | 2024.08.17 |
자체 제작 KaaS에서 배포된 애플리케이션의 상태 보여주기 (0) | 2024.08.12 |
kubernetes java client를 사용하여 springboot에서 k8s 제어하기 (0) | 2024.08.09 |