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

정리 감지 확인:

  1. Insights → Cost Efficiency → Unused 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 로그를 확인하세요

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