피드로 돌아가기
Recover a deleted Deployment from a Retain-policy volume (CKA Storage)
Dev.toDev.to
Infrastructure

Retain 정책 기반 PV 재바인딩을 통한 데이터 유실 없는 Deployment 복구

Recover a deleted Deployment from a Retain-policy volume (CKA Storage)

The Cyber Sidekick2026년 6월 20일3intermediate

Context

사용자 실수로 인한 Database Deployment 삭제 상황에서 데이터 영속성 확보가 필요한 시나리오. 기존 PV의 Reclaim Policy가 Retain으로 설정되어 실제 디스크 데이터는 유지되었으나, 이를 연결할 PVC와 Deployment가 소멸한 상태.

Technical Solution

  • Retain 정책을 통한 PVC 삭제 후에도 물리적 데이터 볼륨을 유지하는 구조 설계
  • storageClassName을 빈 값("")으로 설정하여 Dynamic Provisioning을 배제하고 Static Binding을 강제하는 방식 채택
  • volumeName 필드에 특정 PV 명칭을 명시하여 기존 데이터가 포함된 볼륨과 PVC를 직접 연결하는 매핑 로직 구현
  • PVC의 Bound 상태를 선행 검증하여 Pod 스케줄링 시 볼륨 마운트 실패 가능성을 차단하는 순차적 복구 절차 적용
  • PVC 삭제 후 Released 상태로 전환된 PV의 claimRef를 제거하여 재사용 가능한 Available 상태로 전환하는 수동 관리 기법 활용

- PV 생성 시 데이터 중요도에 따라 Reclaim Policy를 Retain으로 설정하여 예기치 못한 삭제 대비 - 정적 볼륨 바인딩 시 storageClassName: "" 설정을 통해 의도치 않은 신규 볼륨 생성 방지 - PV의 상태가 Released인 경우 claimRef를 초기화해야 새로운 PVC와 바인딩 가능함을 인지 - 복구 프로세스 중 [PV 확인] -> [PVC 바인딩] -> [Deployment 배포] 순의 의존성 체인 준수

원문 읽기