argocd application 으로 관리되는 myapp 앱을 삭제할때 리소스는 삭제 방지하기
[방법1]
argocd ui 상에서는 앱 삭제시시 non-cascading 체크하여 삭제한다.
[방법2]
argocd cli 를 상용할 수 있다면 prune 비활성화 옵션을 주면 된다.
argocd app delete myapp --cascade=false --prune=false
[방법3]
직접 application 리소스 삭제시 다음 순서로 진행한다.
1. finalizer 삭제
kubectl patch application myapp --type=json -p='[{"op":"remove","path":"/metadata/finalizers"}]'
2. argocd app 삭제
kubectl delete application myapp
finalizer는 Application 삭제보다 먼저 제거되어야 한다.
그렇지 않으면 Application 삭제 명령이 들어가는 순간 ArgoCD controller가 prune loop를 돌기 때문에 리소스들도 삭제된다.
아니면 다음과 같은 어노테이션을 추가하면 prune 을 방지할 수 있다.
metadata:
annotations:
argocd.argoproj.io/sync-options: SkipPrune=true
comments:
댓글 쓰기