現場実践|GitOps・デプロイ自動化

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

「GitOpsって何?CI/CDと何が違うの?」——GitOpsの考え方とArgoCDを使ったKubernetes環境への継続的デリバリーの実装方法をインフラエンジニア向けに解説します。

読了目安:約18分更新日:2026年3月

💡 GitOpsはGitをシングルソース・オブ・トゥルースとしてインフラ・アプリ設定をすべてGitで管理するアプローチ。ArgoCDを使えばGitのmergeだけでKubernetesへの自動デプロイが実現します。

この記事を書いた人
現役ITエンジニア・IT講師(経験14年)
CCNA・CCNP 取得LPIC-1 保有SES現場を複数経験

GitOps・ArgoCDを使ったKubernetes継続的デリバリーを複数案件で実装してきた立場から解説します。

1. GitOpsとは

まず、GitOpsはWeaveWorksが提唱した「Gitリポジトリを唯一の信頼できる情報源(Source of Truth)として、インフラとアプリの設定をすべてGitで管理し、差分を検知して自動的に同期する」というアプローチです。「Gitにmergeする」という行為が「デプロイのトリガー」になります。

2. GitOpsとCI/CDの違い

従来のCI/CDGitOps(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月からフリーランス講師として本格始動予定です。

※ArgoCDのバージョンにより手順が異なります。公式ドキュメントもご参照ください。

ABOUT ME
たから
サラリーマンをしながら開業して経営やってます。 今年、本業で独立・別事業を起業予定です。 ◆経験:IT講師/インフラエンジニア/PM/マネジメント/採用/運用・保守・構築・設計 ◆取得資格:CCNA/CCNP/LPIC-1/AZ-900/FE/サーティファイC言語 ◆サイドビジネス:アパレル事業/複数のWEBメディアを運営