카테고리 없음

🔍 AWS EKS에서 워커 노드 삭제 시 PV(Persistent Volume)는 삭제될까?

idea9329 2025. 3. 28. 13:55
반응형

Amazon EKS(AWS Kubernetes Service)를 운영하다 보면, 워크 노드 그룹(Managed Node Group)을 0으로 설정해 모든 노드를 삭제해야 할 일이 생깁니다. 이때 가장 많이 받는 질문 중 하나는 다음과 같습니다:

 EKS에서 노드를 삭제하면 Persistent Volume(PV)도 함께 삭제되나요?

이 질문에 대한 답변은 스토리지 유형 Reclaim Policy 설정값에 따라 다릅니다. 아래에서 상황별로 명확하게 정리해드릴게요.


✅ 결론 요약

스토리지 타입ReclaimPolicyPVC 삭제PV 삭제EBS 삭제

EBS (AWS 블록 스토리지) Retain (보존) O ❌ 아니오 ❌ 아니오
EBS (AWS 블록 스토리지) Delete (삭제) O ✅ 예 ✅ 예
EBS Delete ❌ PVC 살아있음 ❌ 아니오 ❌ 아니오
hostPath (노드 로컬 디스크) - 노드 삭제 시 ✅ 예 ✅ 예 (실제 데이터 손실)

📌 핵심 용어 정리

  • PV (Persistent Volume): 실제 스토리지를 나타내는 쿠버네티스 객체. AWS에서는 주로 EBS 볼륨을 의미합니다.
  • PVC (Persistent Volume Claim): 파드에서 요청하는 저장소 요구 사항
  • ReclaimPolicy: PVC가 삭제되었을 때 PV가 어떤 행동을 할지 결정하는 정책
    • Retain: PV는 삭제되지 않음 (EBS도 유지됨)
    • Delete: PV와 백엔드 스토리지(EBS 등)도 함께 삭제됨

💡 워커 노드 삭제와 PV 삭제의 관계

  1. 노드 삭제만 한 경우
     PVC/PV는 삭제되지 않음. 단지 파드가 스케줄되지 못할 뿐입니다.
  2. PVC도 삭제한 경우
     ReclaimPolicy가 Delete라면 PV와 실제 EBS도 함께 삭제됩니다.
  3. hostPath 같은 로컬 스토리지를 사용 중이라면?
    → 노드 삭제 시 스토리지도 사라지고, 데이터도 영구 삭제됩니다.

🔎 실시간 확인 방법

# 현재 사용 중인 PV들의 상태 확인
kubectl get pv

# StorageClass의 ReclaimPolicy 확인
kubectl get storageclass -o yaml

# 연결된 PVC 상태 확인
kubectl get pvc -A

🛡️ 권장 사항

  • 중요 데이터를 사용하는 PVC는 반드시 ReclaimPolicy를 Retain으로 설정하세요.
  • EC2 기반의 노드 삭제 전, EBS 볼륨 상태를 AWS 콘솔이나 CLI로 이중 확인하세요.
  • 백업이 중요한 경우, Velero 같은 백업 도구 사용을 고려하세요.

🔗 참고 자료


결론:

워크 노드 그룹이 0으로 줄어들어 노드가 삭제되어도, PV는 자동 삭제되지 않습니다.
PVC 삭제 + ReclaimPolicy가 Delete일 때만 PV와 실제 EBS 볼륨이 삭제됩니다.

반응형