본문 바로가기
프로젝트 일지/BoWS

PV - PVC를 사용하면서 주의할 점 - 데이터가 남아있는 경우

by 데브겸 2024. 9. 5.

상황: 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는 건드리지 않았다.