GitOps入門|ArgoCDを使ったKubernetesへの継続的デリバリーの実践

現場実践|GitOps・デプロイ自動化
GitOps入門|ArgoCDを使ったKubernetesへの継続的デリバリーの実践
「GitOpsって何?CI/CDと何が違うの?」——GitOpsの考え方とArgoCDを使ったKubernetes環境への継続的デリバリーの実装方法をインフラエンジニア向けに解説します。
💡 GitOpsはGitをシングルソース・オブ・トゥルースとしてインフラ・アプリ設定をすべてGitで管理するアプローチ。ArgoCDを使えばGitのmergeだけでKubernetesへの自動デプロイが実現します。
1. GitOpsとは
まず、GitOpsはWeaveWorksが提唱した「Gitリポジトリを唯一の信頼できる情報源(Source of Truth)として、インフラとアプリの設定をすべてGitで管理し、差分を検知して自動的に同期する」というアプローチです。「Gitにmergeする」という行為が「デプロイのトリガー」になります。
2. GitOpsとCI/CDの違い
| 従来のCI/CD | GitOps(ArgoCD) | |
|---|---|---|
| デプロイの方向 | CI/CDシステムがクラスターにPushする | ArgoCDがGitからPullしてクラスターに適用 |
| クラスターへのアクセス | CI/CDシステムがkubeconfigを保持 | ArgoCDがクラスター内で動作(外部アクセス不要) |
| ドリフト検知 | なし | Git状態と実際のクラスター状態の差分を自動検知・修正 |
3. ArgoCDの基本的な動作フロー
1
GitリポジトリにKubernetesマニフェストをpush
開発者がアプリのDockerイメージタグを更新したマニフェストをGitにpushする。
2
ArgoCDがGitの変更を検知
ArgoCDが定期的(デフォルト3分)にGitリポジトリをポーリングして、マニフェストの変更を検知する。
3
Kubernetesクラスターに自動同期
ArgoCDがGitの状態とKubernetesの実際の状態の差分を計算して、自動的に同期を実行する。
4. ArgoCDの導入コマンド
kubectl create namespace argocd
kubectl apply -n argocd \
-f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
# ArgoCDのUIをLoadBalancerタイプに変更
kubectl patch svc argocd-server -n argocd \
-p "{\"spec\":{\"type\":\"LoadBalancer\"}}"📌 この記事のポイント
- GitOpsはGitをシングルソース・オブ・トゥルースとして、Gitのmergeをデプロイのトリガーにするアプローチ
- ArgoCDはKubernetes内で動作するGitOpsツール。ドリフト検知と自動同期がCI/CDとの最大の差別化点
- EKSクラスターにArgoCDをインストールしGitリポジトリを設定するだけで即座にGitOpsを始められる
キャリアの疑問、一緒に解決しませんか?
Route Bloomでは、インフラ系ITエンジニアを目指す方への個別サポートを行っています。2026年7月からフリーランス講師として本格始動予定です。
ABOUT ME




