Kubernetes에서 Storage를 운영할 때 중요한 부분은 데이터의 생명주기 관리입니다.
Pod와 PVC가 삭제되었을 때 실제 데이터가 어떻게 처리되는지 결정하는 기능이 Reclaim Policy입니다.
예:
Database Pod 삭제
↓
PVC 삭제
↓
PV 처리 방식 결정
↓
Storage 유지 또는 삭제
운영 환경에서는 데이터 손실을 방지하기 위해 Reclaim Policy 설계가 반드시 필요합니다.
| 정책 | 역할 |
|---|---|
| Retain | 데이터 유지 |
| Delete | Storage 자동 삭제 |
| Recycle | 초기화 후 재사용 |
Reclaim Policy를 이해하면 Kubernetes Storage 운영과 Disaster Recovery 전략을 안정적으로 설계할 수 있습니다.
Kubernetes Reclaim Policy란?
Reclaim Policy는 PVC가 삭제된 이후 PV와 실제 Storage를 어떻게 처리할지 정의하는 정책입니다.
흐름:
Pod
↓
PVC
↓
PV
↓
Storage
PVC 삭제 발생
↓
Reclaim Policy 적용
Storage 데이터의 운명을 결정합니다.
Kubernetes Reclaim Policy 종류
현재 Kubernetes에서는 주로 두 가지 정책을 사용합니다.
| 정책 | 설명 |
|---|---|
| Retain | 데이터 보존 |
| Delete | 자동 삭제 |
Recycle 방식은 현재 거의 사용되지 않습니다.
Kubernetes Retain Policy
Retain은 데이터를 보호하는 정책입니다.
동작:
PVC 삭제
↓
PV 유지
↓
Storage 데이터 유지
장점:
- 데이터 보호
- 복구 가능
- 실수 방지
Database 같은 중요한 데이터에 적합합니다.
Kubernetes Delete Policy
Delete는 자동 정리 방식입니다.
동작:
PVC 삭제
↓
PV 삭제
↓
Storage 삭제
장점:
- 자동 관리
- 불필요한 Storage 제거
개발 환경이나 임시 데이터에 적합합니다.
Kubernetes Recycle Policy
Recycle은 과거 방식입니다.
동작:
PVC 삭제
↓
Volume 데이터 삭제
↓
PV 재사용
현재는 Dynamic Provisioning과 StorageClass 사용이 일반적이므로 거의 사용하지 않습니다.
Kubernetes StorageClass와 Reclaim Policy 관계
StorageClass에서 기본 정책을 지정할 수 있습니다.
구조:
PVC 생성
↓
StorageClass 확인
↓
PV 생성
↓
Reclaim Policy 적용
예:
Cloud 환경:
Delete
Database:
Retain
용도별 정책 설정이 필요합니다.
Kubernetes Reclaim Policy 설정 확인
PV 확인:
kubectl get pv
결과:
NAME RECLAIM POLICY
mysql-pv Retain
Storage 삭제 정책을 확인할 수 있습니다.
Kubernetes Reclaim Policy 변경 방법
PV 정책은 변경 가능합니다.
확인:
kubectl edit pv pv-name
수정:
persistentVolumeReclaimPolicy: Retain
운영 환경에서는 변경 전 영향 분석이 필요합니다.
Kubernetes Retain Policy 복구 과정
데이터 복구 흐름:
PVC 삭제
↓
PV Released 상태
↓
Storage 확인
↓
새 PVC 연결
↓
데이터 복구
실수로 PVC를 삭제해도 복구 가능성이 있습니다.
Kubernetes Released 상태 이해하기
PV 상태:
Available
↓
Bound
↓
Released
Released는:
“PVC는 삭제되었지만 Storage 데이터는 남아있는 상태”
입니다.
Kubernetes Production 환경 Reclaim Policy 전략
일반적인 구성:
Database
Retain
이유:
데이터 보호 중요
Log Storage
Delete
이유:
자동 정리 필요
Test 환경
Delete
이유:
관리 편의성
환경별 정책 분리가 필요합니다.
Kubernetes StatefulSet과 Reclaim Policy
Stateful Application에서는 데이터 보호가 중요합니다.
예:
PostgreSQL
↓
StatefulSet
↓
PVC
↓
PV
↓
Retain Policy
Pod 삭제 후에도 Database 데이터를 유지할 수 있습니다.
Kubernetes Reclaim Policy 장애 사례
실제 운영 문제:
Database PVC 삭제
↓
Delete Policy 적용
↓
Storage 삭제
↓
데이터 손실
중요한 Storage에는 Delete 정책 사용 시 주의해야 합니다.
Kubernetes Backup과 Reclaim Policy 관계
Reclaim Policy는 Backup을 대체하지 않습니다.
구조:
Snapshot
Backup
Retain Policy
↓
데이터 보호
여러 보호 계층이 필요합니다.
Kubernetes Reclaim Policy 보안 관리
관리 항목:
- 중요 데이터 Retain 적용
- 삭제 권한 제한
- Backup 유지
- Storage 접근 제어
운영 환경에서는 실수 방지가 중요합니다.
Kubernetes Reclaim Policy Monitoring
확인:
- PV 상태
- PVC 삭제 Event
- Storage 삭제 기록
- Backup 상태
자동 알림 구성이 필요합니다.
Kubernetes Reclaim Policy 운영 전략
Production 환경:
Storage 분류
↓
정책 결정
↓
Backup 구성
↓
삭제 테스트
↓
Recovery 검증
데이터 보호 체계를 구축할 수 있습니다.
Kubernetes Reclaim Policy 장점
| 장점 | 설명 |
|---|---|
| 데이터 보호 | 중요 정보 유지 |
| 자동 관리 | 환경별 삭제 가능 |
| 운영 안정성 | 실수 방지 |
| Recovery 지원 | 복구 가능 |
Reclaim Policy는 Kubernetes Storage 운영의 핵심 정책입니다.
자주 묻는 질문
Retain이면 데이터를 영구적으로 보존하나요?
Storage 자체가 유지되지만 Backup 전략은 별도로 필요합니다.
Delete는 위험한 정책인가요?
임시 데이터에는 유용하지만 중요한 데이터에는 주의가 필요합니다.
Production에서는 어떤 정책을 많이 사용하나요?
Database 같은 중요 데이터는 Retain, 임시 Storage는 Delete를 사용하는 경우가 많습니다.
마무리
Kubernetes Reclaim Policy는 PVC 삭제 이후 PV와 Storage 데이터의 처리 방식을 결정하는 핵심 Storage 정책입니다.
| 정책 | 목적 |
|---|---|
| Retain | 데이터 보존 |
| Delete | 자동 정리 |
| Recycle | 초기화 재사용 |
Reclaim Policy를 이해하면 Kubernetes 환경에서 데이터 손실을 방지하고 안정적인 Storage 운영 전략을 구축할 수 있습니다.
다음 글에서는 Kubernetes Resource 관리 영역으로 넘어가 Kubernetes ResourceQuota 완벽 가이드! Namespace별 CPU·Memory 제한과 Cluster 관리 구조 이해하기를 진행하겠습니다.