同期からドリフトした ArgoCD アプリを検出する
使うタイミング: 週次確認:どのクラスターのどのアプリが OutOfSync や Degraded になっているか、その原因は何か?
前提条件
- 読み取りスコープ付きの ArgoCD API トークン — argocd account generate-token --account <read-only-user>
- ArgoCD サーバー URL —
ARGOCD_SERVER=argocd.my.company.com
フロー
-
ステータス付きでアプリを一覧表示List all ArgoCD apps. For each: name, project, sync status, health status, last sync time.✓ コピーしました→ 全アプリのインベントリ
-
ドリフトに絞り込むFilter to apps with syncStatus != 'Synced' or health != 'Healthy'. Rank by time since last sync.✓ コピーしました→ 問題のあるアプリ一覧
-
特定アプリの差分を確認For app <name>, show the diff between desired (git) and live. What resources are out of sync?✓ コピーしました→ リソースレベルの差分
結果: どのアプリに対応が必要か、その理由を特定する週次ドリフトレポート。
注意点
- 正当なランタイム専用リソース(例:HPA のスケール済みレプリカ数)によるドリフト — Application スペックの ignoreDifferences を設定し、ランタイムで変動するフィールドを除外する