
Argo CDはKubernetes向けの宣言型継続デリバリーツールで、GitリポジトリをSingle Source of Truthとしてクラスタの状態を同期する。2018年にIntuitのチームが社内向けに開発を始め、2020年4月にCNCFのインキュベーションプロジェクト、2022年12月にGraduatedとなり、GitOpsの事実上の標準実装となった。本稿ではArgo CDの動作原理、登場の経緯、典型導入パターン、Flux CDなど競合との違いを順に解説する。
この記事の目次
- 宣言型同期の仕組み
- GitOpsとIntuit発の起源
- 現場で使われる導入パターン
- Flux CDとの比較
- まとめ
宣言型同期の仕組み

Argo CDの中核概念はApplicationというカスタムリソースで、どのGitリポジトリのどのパスを、どのKubernetesクラスタの名前空間に同期するかを宣言する。Argo CDは定期的にGitをポーリングし、または変更通知を受けて、Gitに書かれたマニフェストとクラスタの実状態を比較する。差分があればSyncを実行し、ない場合はin-sync状態として静観する。
対応する形式はプレーンYAML、Helm Chart、Kustomize、Jsonnetと幅広く、Configurationの違いをすべてGit履歴に集約できる。Health Status機能はDeployment、StatefulSet、Service、Ingressなど主要リソースの健康状態を判定し、Progressing/Healthy/Degraded等で可視化する。WebUIも提供されており、誰がどのコミットを何時にデプロイし、現在の状態がどうなっているかをワンクリックで確認できるのが現場で歓迎される所以だ。
GitOpsとIntuit発の起源

GitOpsという言葉は2017年8月にWeaveworksのAlexis Richardsonが提唱したのが起源で、「Gitに書かれた望ましい状態に向け、エージェントが自動収束する」というスタイルを指す。FluxはWeaveworksが先行してリリースしたが、操作性とマルチクラスタ対応に課題があった。Intuitのインフラチームは社内CDツールを刷新する中で別実装を構想し、2018年に「Argo CD」として公開した。
ArgoプロジェクトはArgo Workflows、Argo CD、Argo Rollouts、Argo Eventsの4本柱で構成され、2020年4月にCNCF Incubatingに採択された。2022年12月にはGraduatedプロジェクトに昇格し、KubernetesのCDツールとして揺るぎない地位を確立。GitHubスター数は18,000を超え、利用企業にはRed Hat、Adobe、IBM、Major League Baseball、Tesla、CapitalOneなどが名を連ねる。Jesse SuenとAlexander Matyushentsevが主要メンテナとして長く貢献している。
現場で使われる導入パターン

もっとも王道なのが「App of Apps」パターンで、ひとつのApplicationが複数のApplicationを子として束ね、Gitに新サービスのマニフェストを追加するだけで自動でArgo CDに登録される構造を作る。さらに動的な要件にはApplicationSetが使われ、クラスタ一覧やGitディレクトリ構造から自動的にApplicationを生成、マルチテナント・マルチクラスタ運用を大幅に簡略化する。
本番デプロイの安全性向上にはArgo Rolloutsを併用し、Canary、Blue-Greenなどのプログレッシブリリースを実現する。SlackやTeams、Webhookへの通知はNotifications Controllerで設定でき、SyncFailed、Healthy、Out of Syncなど豊富なイベントを配信できる。Dex連携でOIDC認証を行い、プロジェクトとRBACでチームごとに編集権限を分離する運用は、大規模組織でほぼ標準となっている。
Flux CDとの比較

FluxはWeaveworks発のGitOps実装で、2020年にv2へと刷新されGitOps Toolkitという複数Controllerの集合体になった。CLIとGitオペレーションを中心とした思想で、Webコンソールに頼らず宣言的に進める文化が強い。Flagger(Progressive Delivery)と組み合わせるとArgo Rolloutsに近い体験を得られる。
Argo CDの優位はWebUIの完成度と、App of Apps/ApplicationSetのような実運用機能の厚みで、特に開発者やSREに「目で見える安心感」を提供する点が大きい。一方、軽量さやGitOps Toolkitの細やかさを評価してFluxを選ぶチームもあり、優劣は組織の文化に左右される。両者はGitOps Working Groupで規格議論を共有しており、設計思想は近づきつつあるのが現状だ。
まとめ
Argo CDはGitOpsという開発文化の象徴であり、KubernetesでのCDをGit中心に整流する有効な手段となった。本番運用ではApp of Apps、Rollouts、Notificationsを組み合わせ、安全かつ宣言的なデプロイを実現できる。組織文化に合わせFluxとの選択を見極め、長期的な運用品質を高める設計を組み上げたい。
※本記事はIT用語辞典の手書きドラフトです。公開前に最新情報・出典を確認のうえ加筆修正してください。

コメント