Skip to content

ArgoCD ​

レビュー基準: Argo CD 3.5.2, Argo Rollouts 1.10.0; リリースノートのレビュー後に Argo CD マニフェストのピンをパッチ 3.5.4 に更新(例は再実行していません) 最終更新: October 12, 2026

目次 ​

ArgoCD とは? ​

ArgoCD は、Kubernetes 向けの宣言的な GitOps 継続的デリバリーツールです。Git リポジトリで定義された望ましい状態をクラスター内の実際の状態と同期することで、Kubernetes クラスターへのアプリケーションのデプロイを自動化します。

Argo CD は CNCF の Graduated Argo プロジェクトの一部です。採用実績だけで、特定のセキュリティまたは可用性要件への適合性が保証されるわけではありません。

ArgoCD のコントロールプレーンが Repo Server を介して Git、Helm、OCI ソースからマニフェストを取得し、Application Controller がそれらを管理対象 Kubernetes クラスターへ調整・同期する一方、ユーザーは Web UI、CLI、または gRPC API を介して API Server にアクセスすることを示すアーキテクチャ図。

ArgoCD のコントロールプレーンが Repo Server を介して Git、Helm、OCI ソースからマニフェストを取得し、Application Controller がそれらを管理対象 Kubernetes クラスターへ調整・同期する一方、ユーザーは Web UI、CLI、または gRPC API を介して API Server にアクセスすることを示すアーキテクチャ図。全画面で開く ↗

主な利点 ​

GitOps ネイティブ ​

  • 唯一の信頼できる情報源としての Git: すべてのアプリケーション設定を Git に保存
  • 宣言的デプロイ: 望ましい状態を定義し、残りは ArgoCD が処理
  • 監査証跡: Git コミットを通じたすべての変更の完全な履歴
  • ロールバック: 保持された設定リビジョンを再デプロイ。データベース/外部状態の復旧は別途必要

マルチクラスター管理 ​

  • 一元管理: 単一の ArgoCD インスタンスから数百のクラスターを管理
  • ApplicationSet: テンプレートベースのマルチクラスターデプロイ
  • Cluster Generator: ラベルに基づく動的なクラスターターゲティング

エンタープライズ対応 ​

  • RBAC: きめ細かなロールベースアクセス制御
  • SSO 統合: 他のアイデンティティプロバイダー向けの直接 OIDC またはサポート対象の Dex コネクター
  • マルチテナンシー: Project ベースの分離
  • 高可用性: 本番環境対応の HA デプロイ

開発者体験 ​

  • Web UI: 視覚的なアプリケーション管理とモニタリング
  • CLI: フル機能のコマンドラインインターフェイス
  • 通知: Slack、Teams、メール、webhook 統合
  • ヘルスモニタリング: 組み込みおよびカスタムのヘルスチェック

アーキテクチャの概要 ​

コアコンポーネント ​

コンポーネント説明レプリカ数 (HA)
API Serverすべての API リクエスト、認証、RBAC を処理2+
Repository Serverリポジトリをクローンし、マニフェストを生成して、結果をキャッシュ2+
Application Controllerアプリケーションを監視し、状態を調整2+ (sharded)
Redisrepo server と controller のキャッシュレイヤー3 (HA)
Dexオプションのアイデンティティブローカー。バンドルされたインメモリストレージはレプリカ追加による安全なスケールに対応していない標準バンドルでは 1
Notification Controllerイベントに応じて通知を送信1+
ApplicationSet ControllerApplicationSet リソースを管理1+

データフロー ​

ユーザーが API Server を介して ArgoCD アプリケーションを作成し、Repo Server 経由でマニフェストをレンダリングした後、Application Controller が調整ループ内で Kubernetes に対して望ましい状態と実際の状態を繰り返し比較し、差異があれば変更を適用することを示すシーケンス図。

ユーザーが API Server を介して ArgoCD アプリケーションを作成し、Repo Server 経由でマニフェストをレンダリングした後、Application Controller が調整ループ内で Kubernetes に対して望ましい状態と実際の状態を繰り返し比較し、差異があれば変更を適用することを示すシーケンス図。全画面で開く ↗

コアコンセプト ​

Application ​

Application CRD は ArgoCD の主要リソースです。次を定義します:

  • ソース: マニフェストの取得元 (Git リポジトリ、Helm chart、OCI)
  • デスティネーション: デプロイ先 (クラスターと namespace)
  • Sync Policy: 同期の処理方法

Project ​

Project は論理的なグループ化とアクセス制御を提供します:

  • 使用可能なリポジトリを制限
  • デスティネーションクラスターと namespace を制限
  • 許可/拒否するリソースを定義

ApplicationSet ​

ApplicationSet は、generators を使用して単一の定義から複数のアプリケーションを管理できます:

  • List Generator: 静的な値のリスト
  • Cluster Generator: 登録済みクラスターをターゲット
  • Git Generator: リポジトリのディレクトリ/ファイルをスキャン
  • Matrix/Merge: 複数の generator を結合

Sync ​

同期により、クラスターの状態を望ましい状態に一致させます:

  • 手動 Sync: ユーザーがトリガー
  • 自動 Sync: Git の変更時に自動実行
  • Self-Heal: 差異を自動的に修正
  • Prune: 孤立リソースを削除

サブガイドのナビゲーション ​

ガイド説明
インストールインストール方法、CLI セットアップ、HA 設定、EKS 統合
ApplicationsApplication CRD、ソースタイプ、ヘルスチェック、hooks、App of Apps
Sync 戦略Sync Policy、waves、windows、diffing、retry 設定
ApplicationSetsすべての generator、templating、段階的 Sync、マルチクラスターパターン
トラフィック管理Argo Rollouts、blue-green、canary、分析、ingress 統合
Projects & RBACAppProject、RBAC ポリシー、マルチテナンシー、JWT トークン
セキュリティSSO 統合、secret 管理、TLS、監査ログ
通知通知サービス、トリガー、テンプレート、サブスクリプション
ベストプラクティスリポジトリパターン、パフォーマンスチューニング、トラブルシューティング、EKS のヒント
Rollouts Experiments 詳細解説Experiment CRD、一時的な ReplicaSet 検証、AnalysisRun の判定

クイックスタート ​

1. ArgoCD をインストール ​

これは自己管理の非 HA 評価例です。互換性のあるクラスター、CRD/RBAC 権限、空の専用 namespace を準備してください。本番の HA/認証/アップグレードに関する判断にはインストールガイドを使用してください。

bash
# Create namespace
kubectl create namespace argocd

# Install ArgoCD
kubectl apply --server-side -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/v3.5.4/manifests/install.yaml

# Wait for pods to be ready
kubectl wait --for=condition=Ready pods --all -n argocd --timeout=300s

2. UI にアクセス ​

bash
# Port forward to access locally
kubectl port-forward svc/argocd-server -n argocd 8080:443

3. 初期パスワードを取得 ​

bash
# Retrieve the initial admin password
kubectl -n argocd get secret argocd-initial-admin-secret \
  -o jsonpath="{.data.password}" | base64 -d && echo

4. CLI 経由でログイン ​

インストールガイドの説明に従って、対応する OS/アーキテクチャ用 CLI をインストールし、リリースチェックサムを検証してください。別のターミナルでポートフォワーディングを実行したままにしてください。

bash
# Install CLI (macOS)
brew install argocd

# Login
argocd login localhost:8080

# Change the bootstrap password
argocd account update-password
kubectl -n argocd delete secret argocd-initial-admin-secret

5. 最初のアプリケーションをデプロイ ​

bash
# Create application via CLI
argocd app create guestbook \
  --repo https://github.com/argoproj/argocd-example-apps.git \
  --path guestbook \
  --dest-server https://kubernetes.default.svc \
  --dest-namespace default

# Sync the application
argocd app sync guestbook

または、宣言的に定義します:

yaml
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: guestbook
  namespace: argocd
spec:
  project: default
  source:
    repoURL: https://github.com/argoproj/argocd-example-apps.git
    targetRevision: HEAD
    path: guestbook
  destination:
    server: https://kubernetes.default.svc
    namespace: default
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
    syncOptions:
      - CreateNamespace=true

バージョン互換性 ​

レビュー対象の基準は Argo CD 3.5.2 / Helm chart 10.8.4 です。マニフェスト例はリリースノートのレビュー後にパッチ 3.5.4 へ更新されています(再実行はしていません)。Chart 10.8.4 は依然として Argo CD v3.5.2 をデプロイします。3.5.4 は chart 10.9.7 で初めて提供されます。Application と installation-chart のバージョンは異なります。Argo CD は直近 3 つのマイナーラインにパッチを提供し、それより古いラインは EOL です。

テスト済み Kubernetes の組み合わせ ​

Argo CDKubernetes
3.51.36, 1.35, 1.34, 1.33
3.41.35, 1.34, 1.33, 1.32
3.31.35, 1.34, 1.33, 1.32

これは 3.5.4 リポジトリに記録されているアップストリームのテストマトリックスです。これは chart の最小 kubeVersion 制約、Kubernetes/EKS のサポート期間、および管理対象 Argo CD のバージョンポリシーとは異なります。EKS のマイナーバージョンと Argo CD のマイナーバージョンの間に一対一の対応関係はありません。

最近のリリース ​

  • 3.5.0: 2026-08-04 にリリース。server の Helm 4 renderer を含む変更について、移行ガイダンスを確認してください。
  • 3.5.1: 2026-08-12 にリリース。
  • 3.5.2: 2026-08-27 にリリース。
  • 3.5.3: 2026-09-14 にリリース。バグ修正(ヘルスチェック、Sync retry state、UI)。
  • 3.5.4: 2026-10-06 にリリース。repo-server および AppProject hook 処理で CRITICAL 評価が 4 件を含むセキュリティ修正。リリースノートには、破壊的変更となる可能性がある 2 件が記載されています。Helm chart をレンダリングする Kustomize ビルドは helmGlobals.configHome を尊重しなくなり、4 MiB を超える OCI マニフェストは拒否されます。現在サポートされているラインについては公式リリースを確認してください。

Argo Rollouts ​

Rollouts は別の controller であり、Argo CD なしでも使用できます。このレビューではその 1.10.0 ドキュメントを使用しています。関連のない製品バージョン番号を対応付けるのではなく、Rollouts CRDs/controller、トラフィックプラグイン、Kubernetes、および Argo CD ヘルスチェック統合を検証してください。

EKS Managed Argo CD Capability ​

Argo CD 向け EKS Capability は、自己管理インストールとは異なる運用モデルです。そのカスタム設定は、サポート対象の argocd-cm キーにのみ適用され、capability で設定された namespace 内で、ラベル app.kubernetes.io/part-of: argocd を持つものが対象です。サポート対象外のキー/フラグは無視されます。標準の Lua ライブラリや任意の実行プラグインが利用可能であると想定しないでください。管理設定ガイドを参照してください。

次のステップ ​

  1. インストールガイド: 本番環境向けに ArgoCD をセットアップ
  2. Applications ガイド: Application CRD について学ぶ
  3. ApplicationSets ガイド: マルチクラスターデプロイ

リソース ​

クイズ ​

学んだ内容を確認するには、ArgoCD インストールクイズに挑戦してください。

バージョン付きレビューソース ​

ドキュメントに質問する

Enter で送信、Shift+Enter で改行します。