--- date: 2026-05-09 topic: Longhorn snapshot-purge 임시 cron 회수 areas: [infra/platform/longhorn] --- # 2026-05-09 / longhorn-snapshot-purge cron 회수 ## 동기 2026-05-02 도입한 임시 cron `longhorn-snapshot-purge` (v1.11.1 snapshot 회귀 [#12856](https://github.com/longhorn/longhorn/issues/12856) 우회용) 가 2026-05-07 v1.11.2 업그레이드 (Outline `a0a5ad90-68ed-4939-bbc1-1e20cd25f874`) 로 fix 적용되어 의미 사라짐. 이틀 안정 운영 후 회수. ## 사전 상태 - ArgoCD Application `longhorn-snapshot-purge` Synced/Healthy, `automated.prune=true` - CronJob `longhorn-system/longhorn-snapshot-purge` 마지막 실행 26초 전 - ns Warning 0건 - stuck snapshot CR 0개 - helm-charts repo 의 `charts/longhorn-snapshot-purge/` 디렉토리 그대로 ## 회수 단계 ### ArgoCD Application 삭제 (cascade prune) ```bash kubectl -n argocd patch application longhorn-snapshot-purge --type=merge \ -p '{"metadata":{"finalizers":["resources-finalizer.argocd.argoproj.io"]}}' kubectl -n argocd delete application longhorn-snapshot-purge --wait=false ``` `resources-finalizer.argocd.argoproj.io` 추가로 cascade prune 트리거. ArgoCD 가 `automated.prune=true` 이므로 deployed 리소스 자동 정리. ### prune 완료 대기 CronJob `longhorn-snapshot-purge` 사라질 때까지 폴링. 시작 후 약 수십 초 내 prune 완료. ### chart 디렉토리 보존 `gitea.inouter.com/kaffa/helm-charts` repo 의 `charts/longhorn-snapshot-purge/` 는 그대로 남김. 향후 동일 회귀 발생 시 재활용 가능. ## 사후 검증 ``` $ kubectl -n longhorn-system get cronjob,sa,role,rolebinding | grep snapshot-purge (no match) $ kubectl -n argocd get application longhorn-snapshot-purge Error: NotFound $ ls /tmp/helm-charts/charts/longhorn-snapshot-purge/ Chart.yaml templates values.yaml ← 보존됨 ``` 회수 후 5분 폴링 (1분 간격, 5회): ``` T+1m ~ T+5m warn_after_baseline=0 stuck_CR=0 ``` 회귀 신호 없음. ## 후속 - 다음 v1.11.x / v1.12 업그레이드 시 이 임시 cron chart 는 무관 — 정본 helm release 만 다룸 - 만약 v1.11.x 후속 패치에서 동일 회귀 재현 시 chart 디렉토리 그대로 ArgoCD Application 만 재배포로 복구 가능 - 본 회수로 longhorn-system 의 ArgoCD App 의존이 다시 0 (longhorn 본체는 helm 직접 관리 그대로 유지)