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+ (シャーディング) |
| Redis | repo server と controller のキャッシュレイヤー | 3 (HA) |
| Dex | SSO 統合用の OIDC プロバイダー | 2+ |
| Notification Controller | イベント発生時に通知を送信 | 1+ |
| ApplicationSet Controller | ApplicationSet リソースを管理 | 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 統合 |
| Applications | Application CRD、Source タイプ、ヘルスチェック、hook、App of Apps |
| Sync 戦略 | Sync Policy、wave、window、差分比較、リトライ設定 |
| ApplicationSets | すべての Generator、テンプレート化、プログレッシブ Sync、マルチクラスター・パターン |
| トラフィック管理 | Argo Rollouts、blue-green、canary、分析、ingress 統合 |
| Projects と RBAC | AppProject、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=300s2. UI にアクセス
bash
# Port forward to access locally
kubectl port-forward svc/argocd-server -n argocd 8080:4433. 初期パスワードを取得
bash
# Retrieve the initial admin password
kubectl -n argocd get secret argocd-initial-admin-secret \
-o jsonpath="{.data.password}" | base64 -d && echo4. CLI からログイン
bash
# Install CLI (macOS)
brew install argocd
# Login
argocd login localhost:8080
# Change password (recommended)
argocd account update-password5. 最初の 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.x | 1.28 - 1.31 |
| 2.12.x | 1.27 - 1.30 |
| 2.11.x | 1.26 - 1.29 |
| 2.10.x | 1.25 - 1.28 |
| 2.9.x | 1.24 - 1.27 |
Amazon EKS 互換性
| EKS バージョン | 推奨 ArgoCD |
|---|---|
| 1.31 | 2.13.x |
| 1.30 | 2.12.x - 2.13.x |
| 1.29 | 2.11.x - 2.12.x |
| 1.28 | 2.10.x - 2.11.x |
Argo Rollouts 互換性
| Rollouts バージョン | ArgoCD バージョン | 機能 |
|---|---|---|
| 1.7.x | 2.10+ | 分析機能の改善 |
| 1.6.x | 2.9+ | 通知統合 |
| 1.5.x | 2.8+ | プログレッシブデリバリー |
次のステップ
- インストールガイド: 本番環境向けに ArgoCD をセットアップ
- Applications ガイド: Application CRD について学ぶ
- ApplicationSets ガイド: マルチクラスター・デプロイ
リソース
クイズ
学習内容を確認するには、ArgoCD インストールクイズに挑戦してください。