Skip to content

ArgoCD

対応バージョン: ArgoCD v2.9+, Argo Rollouts v1.6+ 最終更新: July 11, 2026

目次

ArgoCD とは?

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

CNCF の卒業プロジェクトである ArgoCD は、GitOps ベースの Kubernetes デプロイにおけるデファクトスタンダードとなっており、世界中の数千の組織で使用されています。

主な利点

GitOps ネイティブ

  • 唯一の信頼できる情報源としての Git: すべてのアプリケーション設定を Git に保存
  • 宣言的なデプロイ: 望ましい状態を定義すれば、残りは ArgoCD が処理
  • 監査証跡: Git コミットを通じたすべての変更の完全な履歴
  • ロールバック: 任意の以前の状態へ即座にロールバック

マルチクラスター管理

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

エンタープライズ対応

  • RBAC: きめ細かなロールベースのアクセス制御
  • SSO 統合: OIDC、SAML、LDAP をサポート
  • マルチテナンシー: Project ベースの分離
  • 高可用性: 本番環境対応の HA デプロイ

開発者エクスペリエンス

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

アーキテクチャの概要

コアコンポーネント

コンポーネント説明レプリカ数 (HA)
API Serverすべての API リクエスト、認証、RBAC を処理2+
Repository Serverリポジトリのクローン、Manifest の生成、結果のキャッシュ2+
Application Controllerアプリケーションを監視し、状態を調整2+ (シャーディング)
Redisrepo server と controller のキャッシュレイヤー3 (HA)
DexSSO 統合用の OIDC プロバイダー2+
Notification Controllerイベント発生時に通知を送信1+
ApplicationSet ControllerApplicationSet リソースを管理1+

データフロー

コアコンセプト

Application

Application CRD は ArgoCD における主要なリソースです。以下を定義します。

  • Source: Manifest の取得元(Git リポジトリ、Helm chart、OCI)
  • Destination: デプロイ先(クラスターと namespace)
  • Sync Policy: 同期の処理方法

Project

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

  • 使用可能なリポジトリを制限
  • 宛先クラスターと namespace を制限
  • 許可または拒否するリソースを定義

ApplicationSet

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

  • List Generator: 静的な値のリスト
  • Cluster Generator: 登録済みクラスターを対象に指定
  • Git Generator: リポジトリのディレクトリ/ファイルをスキャン
  • Matrix/Merge: 複数の Generator を組み合わせ

Sync

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

  • Manual Sync: ユーザーがトリガー
  • Auto Sync: Git の変更時に自動実行
  • Self-Heal: ドリフトを自動的に修正
  • Prune: 孤立したリソースを削除

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

ガイド説明
インストールインストール方法、CLI のセットアップ、HA 設定、EKS 統合
ApplicationsApplication CRD、Source タイプ、ヘルスチェック、hook、App of Apps
Sync 戦略Sync Policy、wave、window、差分比較、リトライ設定
ApplicationSetsすべての Generator、テンプレート化、プログレッシブ Sync、マルチクラスター・パターン
トラフィック管理Argo Rollouts、blue-green、canary、分析、ingress 統合
Projects と RBACAppProject、RBAC ポリシー、マルチテナンシー、JWT token
セキュリティSSO 統合、secret 管理、TLS、監査ログ
通知通知サービス、trigger、template、subscription
ベストプラクティスリポジトリ・パターン、パフォーマンスチューニング、トラブルシューティング、EKS のヒント

クイックスタート

1. ArgoCD をインストール

bash
# Create namespace
kubectl create namespace argocd

# Install ArgoCD
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/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 からログイン

bash
# Install CLI (macOS)
brew install argocd

# Login
argocd login localhost:8080

# Change password (recommended)
argocd account update-password

5. 最初の Application をデプロイ

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

バージョン互換性

2026 年 7 月の更新: ArgoCD 3.x パッチリリース

ArgoCD v3.4.5 は 2026 年 7 月 9 日にリリースされました。3.4 系は現在の安定リリース系列であり、次のマイナーバージョンである v3.5.0 は rc2 に到達しています。以下の表は 2.x 時代を対象に作成されたものです。バージョンごとの最新のサポート情報については、ArgoCD リリースページを確認してください。

Kubernetes 互換性

ArgoCD バージョンKubernetes バージョン
2.13.x1.28 - 1.31
2.12.x1.27 - 1.30
2.11.x1.26 - 1.29
2.10.x1.25 - 1.28
2.9.x1.24 - 1.27

Amazon EKS 互換性

EKS バージョン推奨 ArgoCD
1.312.13.x
1.302.12.x - 2.13.x
1.292.11.x - 2.12.x
1.282.10.x - 2.11.x

Argo Rollouts 互換性

Rollouts バージョンArgoCD バージョン機能
1.7.x2.10+分析機能の改善
1.6.x2.9+通知統合
1.5.x2.8+プログレッシブデリバリー

次のステップ

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

リソース

クイズ

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