環境
- Kubernetes 1.24
- Argocd v2.4
ArgoCDのsync遅すぎ問題
よく記事に「ArgoCDは自動でgitをsyncしてくれるので自動で反映してくれる」みたいなこと書いてあるけどデフォルトの設定ではやってくれない。
しかもauto-syncを有効にしてもデフォルトでは「3分ごと」にポーリングされる(??????) 公式ドキュメント
The controller will automatically detect the new config (fast tracked using a webhook, or polled every 3 minutes)
そこで自動反映の設定を変える設定メモ
ArgoCDのgit自動取得の間隔を変更
これはアプリごとではなくコントローラー自体に設定がある --app-resync
単位は秒なので好きに変更できる。デフォルトは3分なので180
apiVersion: apps/v1 kind: Deployment metadata: name: argocd-server spec: selector: matchLabels: app.kubernetes.io/name: argocd-server template: spec: containers: - command: - argocd-server - --app-resync 30 name: argocd-server
ArgoCDの自動sync機能を有効にする
実はこれだけだと自動Syncしてくれない(デフォルトでOFFになっているため
この設定はレポジトリごとなので --sync-policy automated
を設定する必要がある
argocd app set xxxxxxxxxxx --sync-policy automated
Webhookで反映を伝える方法
検証中