korean-docs
추가 기능
PV 라이프사이클
시작하기

PV Lifecycle Management 시작하기

이 빠른 시작 가이드에서는 Kubernetes Persistent Volume에 PV Lifecycle Management를 활성화하는 방법을 다룹니다. PVC의 자동 확장을 설정하고, 클러스터 전체의 unused PV 정리 기능을 활성화합니다.

Prerequisites

PV Lifecycle Management를 활성화하기 전에 다음을 준비하세요.

  • PVC 설정: 워크로드에 PVC가 구성되어 있어야 합니다 (auto-expansion 대상)
  • 확장을 지원하는 StorageClass: 자동 확장할 PVC에 allowVolumeExpansion: true가 설정되어 있는지 확인하세요

Step 1: Access Storage Management

PVC 관리 화면으로 이동합니다.

  1. Wave 웹 콘솔에 로그인합니다
  2. 왼쪽 사이드바에서 StoragePersistent Volume Claims로 이동합니다
  3. 상단 드롭다운에서 클러스터를 선택합니다
  4. 클러스터의 전체 PVC 목록이 표시됩니다

Step 2: Select a PVC for Auto Expansion

특정 PVC에 auto-expansion을 설정합니다.

  1. 목록에서 관리할 PVC를 찾습니다 (예: 데이터베이스 스토리지, 애플리케이션 데이터)
  2. PVC 이름을 클릭해 상세 페이지를 엽니다
  3. Auto Expansion 탭으로 이동합니다
  4. 현재 PVC 정보, 사용량 통계, 설정 옵션이 표시됩니다
PVC Auto Expansion tab

Step 3: Configure Auto Expansion Settings

임계값 기반 확장을 설정합니다.

PVC Auto Expansion Settings Modal
  1. Auto Expansion 탭에서 Settings 버튼을 클릭합니다

  2. 모달에서 다음 설정을 구성합니다.

    Basic Configuration:

    • Threshold Percentage: 확장을 트리거할 사용률을 설정합니다 (예: 80%)
    • Expansion Method (둘 중 하나 선택):
      • Expansion Percentage: 현재 크기의 퍼센트만큼 확장 (예: 50%)
      • Expansion Size (MiB): 고정 확장량 (예: 1 GiB의 경우 1024 MiB)
    • Max Capacity (MiB): 무한정 확장을 막는 선택적 상한선 (예: 100 GiB의 경우 102400)
  3. Save를 클릭해 설정을 적용합니다

  4. 확장 모니터링이 즉시 시작됩니다

PVC Auto Expansion Settings Modal
⚠️

StorageClass가 확장을 지원하지 않나요?

StorageClass가 확장을 지원하지 않는다는 오류 메시지가 표시된다면, StorageClass를 수정해야 합니다.

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: your-storage-class
provisioner: kubernetes.io/aws-ebs  # or your CSI driver
allowVolumeExpansion: true  # Enable this
parameters:
  type: gp3

StorageClass를 다시 적용한 뒤 재시도하세요. 참고: 이 StorageClass로 이미 생성된 PVC는 확장 기능을 자동으로 상속받습니다.

Step 4: Enable Auto Clean Up (Optional)

클러스터 전체의 unused PV 정리를 설정합니다.

  1. 왼쪽 사이드바에서 StoragePV Auto Cleanup으로 이동합니다
  2. 상단 드롭다운에서 클러스터를 선택합니다
  3. Enable PV Auto Clean Up을 ON으로 전환합니다
  4. 시스템이 즉시 unused PV를 감지하고 정리하기 시작합니다
PV Lifecycle Settings
⚠️

활성화 즉시 정리가 시작됩니다

Wave는 정리 기능이 활성화되면 unused PV를 즉시 정리합니다. 중요한 PV를 보호하려면:

  • PV별 opt-out 어노테이션을 사용하세요: waveautoscale.io/pv-cleanup: disabled
  • 또는 준비가 될 때까지 Settings에서 정리 기능을 전역적으로 비활성화하세요
  • 감지 로그는 감사 추적을 위해 타임스탬프를 기록합니다 (추적 기준 기간 7일)

삭제가 완료되기 전에 PV가 다시 바인딩되면 resolved로 표시되고 정리가 취소됩니다.

Step 5: Monitor Performance

auto-expansion 동작과 정리 감지 현황을 확인합니다.

Auto Expansion 활동 확인:

  1. StoragePersistent Volume Claims -> (목록에서 PVC 선택) → Auto Expansion 섹션으로 이동합니다
  2. 용량과 사용량 추이를 보여주는 Usage History Chart를 확인합니다
  3. Auto Expansion Logs Table에서 다음을 확인합니다.
    • 각 확장의 타임스탬프
    • 현재 용량과 목표 용량
    • 확장 상태 (InProgress, Completed, Failed)
    • 실패 시 오류 사유

정리 감지 확인:

  1. InsightsCost EfficiencyUnused PV Detection으로 이동합니다
  2. 감지된 unused PV에서 다음을 확인합니다.
    • 감지 시각과 사유
    • 정리 상태 (InProgress, Completed, Failed)
    • PV 상세 정보 (용량, 스토리지 클래스, phase)
Unused PV Detection Logs

Example: Quick Setup for Database PVC

프로덕션 데이터베이스 볼륨에 대한 일반적인 설정 예시입니다.

# Navigate to: K8s → Storage → PVCs → postgres-data → Auto Expansion tab
 
Configuration:
  Threshold Percentage: 80%
  Expansion Method: Percentage
  Expansion Percentage: 50%
  Max Capacity: 512000 MiB (500 GiB)
 
Behavior:
  - At 80% full (e.g., 8 GiB used of 10 GiB)
  - Expands to 15 GiB (50% increase)
  - Continues until 500 GiB max capacity reached
  - All expansions logged with timestamps and status

Troubleshooting

⚠️

일반적인 문제와 해결 방법

Auto Expansion이 동작하지 않는 경우:

  • StorageClass에 allowVolumeExpansion: true가 설정되어 있는지 확인하세요
  • threshold percentage가 올바르게 설정되어 있는지 확인하세요
  • 확장 방식이 하나만 설정되어 있는지 확인하세요 (둘 다 설정하면 안 됩니다)
  • Auto Expansion 로그에서 오류 메시지를 확인하세요
  • PVC 관리를 위한 RBAC 권한을 확인하세요

확장이 "InProgress"에서 멈춘 경우:

  • PVC condition 확인: kubectl describe pvc <pvc-name>
  • ControllerResizeError 또는 VolumeResizeFailed condition을 확인하세요
  • 하위 스토리지 프로바이더가 온라인 확장을 지원하는지 확인하세요
  • 일부 스토리지 클래스는 파일시스템 리사이즈를 위해 pod 재시작이 필요합니다

PV가 정리되지 않는 경우:

  • Settings → PV Lifecycle에서 정리 기능이 전역적으로 활성화되어 있는지 확인하세요
  • PV에 opt-out 어노테이션이 있는지 확인하세요: waveautoscale.io/pv-cleanup: disabled
  • StorageClass에 정리를 막는 opt-out 어노테이션이 있는지 확인하세요
  • Insights → Cost Efficiency에서 정리 로그를 확인해 오류 상세 내용을 확인하세요
  • PV에 보호용 finalizer(백업 도구 등)가 걸려 있지 않은지 확인하세요

MaxCapacityReached 상태:

  • PVC가 설정된 최대 용량 한도에 도달했습니다
  • 최대 용량 설정을 늘리거나 데이터를 정리해 공간을 확보하세요
  • 이는 무한정 스토리지 증가와 비용 초과를 방지합니다

Next Steps

PV Lifecycle Management 설정을 마쳤다면, 각 기능의 상세 가이드를 살펴보세요.

  • Auto Expansion: 확장 방식, 임계값, 모니터링을 자세히 다룹니다
  • Auto Clean Up: 감지 로직, 안전장치, opt-out 옵션을 알아봅니다

Need Help?

자세한 내용은 로그에서 확인할 수 있습니다.

  • Auto Expansion Logs: PVC 상세 페이지 → Auto Expansion 탭 → Logs table
  • Cleanup Detection Logs: Insights → Cost Efficiency → Unused PV Detection
  • Wave Logs: 시스템 수준 오류는 core 로그를 확인하세요

각 로그 항목에는 타임스탬프, 상태, 메트릭, 오류 사유가 포함되어 있어 문제 해결에 도움이 됩니다.