Skip to content
Latchkey

Argo CD とは?Kubernetes 向けの GitOps controller

Argo CD は、Git リポジトリで宣言された manifest にあなたのクラスタを継続的に同期する、Kubernetes ネイティブの GitOps controller です。

Argo CD は、GitOps モデルを Kubernetes 向けに具体的に実装します。manifest(素の YAML、Helm、Kustomize)のリポジトリを指し示して Application を定義すると、Argo CD はリポジトリと稼働中のクラスタを比較し、diff を表示して両者を同期します。GitOps に UI、API、明確な sync 状態を与えます。

Application オブジェクト

Argo CD の Application は、ソース(リポジトリの path、branch、Helm のようなツール)を宛先(クラスタと namespace)に結びつけます。Argo CD はその後、その宛先をそのソースに一致させ続けます。

sync と drift 検知

Argo CD は、Git 内の望ましい状態と稼働中の状態を継続的に比較します。各 Application を Synced または OutOfSync として報告し、変更を自動 sync するか手動承認を待つことができます。手動のクラスタ編集は drift として現れます。

健全性と rollback

  • リソースの健全性(例: Deployment の可用性)を表示する。
  • drift を Git に戻すことで自己修復できる。
  • rollback は、同期先として以前の Git リビジョンを選ぶことである。

可視性という利点

リコンサイルを超えて、Argo CD のダッシュボードは、何がデプロイされているか、それが Git とどう異なるか、各部分の健全性を正確に示します - 「実際に何が動いているのか?」を一目で分かるものに変えます。

pipeline における Argo CD

CI はイメージを build・push し、新しい tag または digest を manifest リポジトリに commit します。Argo CD は commit を検知してクラスタを同期します - GitOps pipeline の CD 側であり、CI からきれいに分離されています。

重要なポイント

  • Argo CD は、クラスタを Git に同期する Kubernetes の GitOps controller です。
  • Application は Git のソースをクラスタの宛先にマッピングし、drift を検知します。
  • CI が新しいイメージを Git に commit し、Argo CD が rollout をリコンサイルします。

関連ガイド