【あるごしーでぃー】

Argo CD とは?

💡 Kubernetesの状態をGitで「宣言」して自動反映
📌 このページのポイント
Argo CD — GitOpsによる継続的デリバリー Git リポジトリ (あるべき状態) deployment.yaml service.yaml 監視 Argo CD 差分を検知 自動 Sync ヘルスチェック 適用 K8s クラスター (実際の状態) Deployment Service / Pod ConfigMap 差分があれば再同期(GitOpsループ) Synced OutOfSync Gitが唯一の信頼源 — kubectl apply は不要に
Argo CDのイメージ — Gitの定義をKubernetesへ自動同期
ひよこ ひよこ

普通のCI/CDツールと何が違うの?

ペンギン先生 ペンギン先生

JenkinsGitHub ActionsはPush型。CIがビルドしてkubectl applyでクラスタに反映する。Argo CDはPull型で、Gitリポジトリの変更を検知してクラスタ側から取り込む。誰かが手動でkubectlを実行してGitと差分が出ても検知して元に戻せる。これがGitOpsの核心だよ

ひよこ ひよこ

同期って具体的に何をするの?

ペンギン先生 ペンギン先生

Gitリポジトリ内のKubernetesマニフェストとクラスタの実際の状態を比較して、差分があれば自動(または手動承認で)反映する。「Synced」なら一致、「OutOfSync」なら差分あり。Web UIでリソースツリーが視覚的に見えるから、どのPodがどのReplicaSetに属しているか一目でわかるんだよ

ひよこ ひよこ

Flux CDとどう違う?

ペンギン先生 ペンギン先生

どちらもKubernetes GitOpsツールでCNCFプロジェクト。Argo CDはリッチなWeb UIと細かいRBAC(権限管理)が強み。Flux CDは軽量でGitOpsツールキットとしての拡張性が高い。マルチテナント環境や大規模運用ならArgo CD、シンプルに始めたいならFlux CDを選ぶことが多いよ

ひよこ ひよこ

導入時の注意点は?

ペンギン先生 ペンギン先生

①マニフェストのリポジトリとアプリケーションコードのリポジトリを分離するのが推奨。②Secretsの管理にはSealedSecretsやExternal Secrets Operatorを併用する。③ApplicationSetを使うと複数環境(dev/staging/prod)の管理が楽になる。GitOps全体の設計を先に考えてから導入しようね

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Argo CD」って出てきたら「KubernetesGitOpsで管理するCDツール」と思えればだいたいOK!
📖 おまけ:英語の意味
「Argo Continuous Delivery」 = アルゴ継続的デリバリー
💬 Argoはギリシャ神話の船の名前。Kubernetesエコシステムを航海するツール群だよ
← 用語集にもどる