@shinyaz

ArgoCD Application を削除してもデプロイ済みリソースは残る — finalizer が必要

約1分

EKS の ArgoCD Capability で検証後、kubectl delete application guestbook -n argocd で Application を消したら、デプロイされた Pod と Service がそのまま残っていた。

ArgoCD の Application を削除したときにデプロイ済みリソースもカスケード削除するには、Application マニフェストに finalizer を設定する必要がある。

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: guestbook
  namespace: argocd
  finalizers:
    - resources-finalizer.argocd.argoproj.io
spec:
  # ...

この finalizer がないと、Application の CR だけが消えてデプロイ済みリソースは孤立する。syncPolicy.automated.prune: true はあくまで同期時の不要リソース削除であり、Application 自体の削除とは無関係だ。検証用途でも finalizer を入れておくとクリーンアップが楽になる。

共有する

田原 慎也

田原 慎也

ソリューションアーキテクト @ AWS

AWS ソリューションアーキテクトとして金融業界のお客様を中心に技術支援を行っています。クラウドアーキテクチャや AI/ML に関する学びをこのブログで発信しています。