Skip to content

feat: ai 모델 볼륨 StatefulSet+Retain 전환 및 EBS VolumeSnapshot 백업 (#59)#60

Merged
eomkyeongmun merged 1 commit into
mainfrom
feat/#59-ai-snapshot-backup
Jun 1, 2026
Merged

feat: ai 모델 볼륨 StatefulSet+Retain 전환 및 EBS VolumeSnapshot 백업 (#59)#60
eomkyeongmun merged 1 commit into
mainfrom
feat/#59-ai-snapshot-backup

Conversation

@eomkyeongmun

Copy link
Copy Markdown
Contributor

closes #59

개요

ai 모델 볼륨을 StatefulSet + gp3-retain(Retain) 으로 전환하고, EBS VolumeSnapshot 주기 백업(snapshot-controller + snapscheduler)을 추가한다. PVC 삭제/노드 교체 시 데이터 보존 + 정기 스냅샷 확보. (코드리뷰 #43 백업 부재, #44 reclaim=Delete 위험)

변경

terraform

  • storage.tf: gp3-retain StorageClass (reclaimPolicy=Retain) — PVC 삭제돼도 EBS 볼륨 보존
  • snapshots.tf (신규)
    • snapshot-controller EKS 관리형 애드온 — VolumeSnapshot/Class/Content CRD + 컨트롤러
    • snapscheduler Helm (3.5.0 고정) — SnapshotSchedule CRD로 주기 스냅샷·보존

k8s

  • base/ai: Deployment + standalone PVC → StatefulSet + volumeClaimTemplates(model-storage, 라벨 app=ai, 10Gi). deployment.yaml/pvc.yaml 삭제
  • overlays/eks/ai: volumeClaimTemplates에 gp3-retain 지정, patch 타깃 DeploymentStatefulSet
  • overlays/kind/ai: patch 타깃 DeploymentStatefulSet (기본 SC 유지)
  • overlays/eks/ai-backup/ (신규): VolumeSnapshotClass(ebs.csi.aws.com) + SnapshotSchedule(매일 02:00 KST, 최근 7개 보존, claimSelector app=ai)
  • apps/ai-backup.yaml (신규): ArgoCD App

docs

  • README: EBS 스냅샷 백업 가이드 + 복원 방법

동작

StatefulSet(ai) → volumeClaimTemplates(model-storage, gp3-retain)
  → SnapshotSchedule(매일,7개) → VolumeSnapshot(ebs-snapclass) → AWS EBS 스냅샷

비고 / 범위

  • 로컬(kind) 은 스냅샷/Retain 미적용(기본 standard SC).
  • 복원: 스냅샷에서 dataSource: {kind: VolumeSnapshot}로 새 PVC 생성.
  • terraform fmt(snapshots.tf/storage.tf) 통과, 매니페스트 YAML 검증 완료. kustomize build 실검증은 클러스터 환경 권장.
  • 참고: ai를 StatefulSet으로 바꿔 overlay patch 타깃 kind도 함께 변경됨(eks/kind).

🤖 Generated with Claude Code

- terraform/storage.tf: gp3-retain StorageClass(reclaimPolicy=Retain) 추가
- terraform/snapshots.tf: snapshot-controller EKS 애드온(VolumeSnapshot CRD) + snapscheduler Helm(3.5.0) 설치
- k8s base/ai: Deployment+standalone PVC → StatefulSet + volumeClaimTemplates(model-storage, 라벨 app=ai)
- k8s eks overlay: volumeClaimTemplates에 gp3-retain 지정, patch 타깃 Deployment→StatefulSet
- k8s kind overlay: patch 타깃 Deployment→StatefulSet (기본 SC 유지)
- k8s overlays/eks/ai-backup: VolumeSnapshotClass(ebs.csi.aws.com) + SnapshotSchedule(매일, 7개 보존)
- k8s/apps/ai-backup.yaml: ArgoCD App
- README: EBS 스냅샷 백업 가이드 추가

로컬(kind)은 스냅샷/Retain 미적용. 복원은 스냅샷에서 dataSource로 PVC 생성.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@eomkyeongmun eomkyeongmun merged commit cc5750c into main Jun 1, 2026
1 check passed
@eomkyeongmun eomkyeongmun deleted the feat/#59-ai-snapshot-backup branch June 1, 2026 04:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: ai 모델 볼륨 StatefulSet+Retain 전환 및 EBS VolumeSnapshot 백업

1 participant