ArgoCDとは|GitOpsの仕組み・Kubernetes運用と案件動向
最終更新日:2026/06/12
ArgoCDとは、Gitリポジトリ上の宣言的マニフェストをKubernetesクラスタへ自動同期する、CNCF(Cloud Native Computing Foundation)卒業プロジェクトのGitOpsデリバリーツールです。kubectlの手作業デプロイやJenkins中心のCD構成に限界を感じているフリーランスのインフラ・SREエンジニア向けに、仕組み・運用パターン・案件動向まで一気に整理します。
先に結論
ArgoCDはKubernetes専用の宣言的GitOpsデリバリーツール。Gitが「あるべき状態」、ArgoCDが「差分を埋める実行者」という役割分担になる
GitHub ActionsやJenkinsはビルド・テスト中心のCI寄り。ArgoCDはデプロイ後の同期・自己修復を継続的に担うためレイヤーが違う
自己修復・差分可視化・ロールバックなどKubernetes運用を堅くするための機能が一式そろう
案件はKubernetes本体・Helm・Kustomizeの実務経験とセットで募集されることが多く、SRE/DevOps系のポジションで採用される
小規模ステートレスから大規模マルチクラスタまで段階的に拡張できるが、Webhookの戻り経路やSecret管理は早めに設計したほうがよい
この記事でわかること
ArgoCDの定義とGitOpsの中での位置づけ
アーキテクチャ・主要コンポーネント・同期の仕組み
Helm / Kustomize / 生マニフェストの扱いの違い
CI/CDツール(GitHub Actions・Jenkins・CircleCI・GitLab CI)との組み合わせ方
フリーランス案件で求められるスキルセットと単価感
目次
ArgoCDとは何か(基本定義とGitOpsの位置づけ)
ArgoCDのアーキテクチャと主要コンポーネント
ArgoCDの主要機能
ArgoCDの導入と初期セットアップ
ArgoCDとCI/CDツールの違いと組み合わせ
Kubernetes運用でのケース別活用パターン
ArgoCDの運用でよくある失敗と対策
ArgoCDを活かせるフリーランス案件の動向と単価感
ArgoCD導入チェックリスト
まとめ
よくある質問
ArgoCDとは何か(基本定義とGitOpsの位置づけ)
ArgoCDは、Argo Projectの一部としてCNCFに寄贈され2022年に「Graduated(卒業)」ステータスへ昇格した、Kubernetes向けの宣言的GitOpsデリバリーツールです。Gitリポジトリに置かれたマニフェスト(YAML / Helm / Kustomize)を 「あるべき状態(Desired State)」 とみなし、クラスタの 実状態(Live State) との差分を検知して継続的に同期します。
公式ドキュメントは Argo CD - Declarative GitOps CD for Kubernetes を参照すると正確です。CNCFのプロジェクトページは CNCF Argo にあります。
GitOpsの基本思想
GitOpsは、Weaveworks社が2017年に提唱した運用パターンです。中核となる考え方は次の4点に集約されます。
宣言的:システム全体を宣言的なマニフェストで表現する
バージョン管理:それらをGitで管理し、変更履歴とレビューを残す
自動化:マージされた状態が自動的にクラスタへ反映される
自己修復:実状態がドリフトしても、宣言された状態に戻す
ArgoCDは、この4点のうち自動化と自己修復を担うコンポーネントとして位置づけられます。
ArgoCDが解決する課題
kubectl applyの手作業オペレーションでクラスタごとの差異が生まれる
JenkinsからCLIでデプロイすると、誰が・いつ・何を変えたかがJenkins側のログに散る
マニフェストのリポジトリと実環境がズレても気づきにくい
ロールバック時に過去のマニフェストをどこまで戻すか曖昧になる
ミニFAQ:
Q. GitOps=ArgoCDですか? GitOpsはあくまで運用パターンの名前で、実装ツールはArgoCDのほかにFluxなどがあります。本記事ではArgoCDに絞って解説します。
Q. ArgoCD単体でCIまでこなせますか? いいえ、ArgoCDはCD側に特化しているため、ビルド・テストはGitHub ActionsやJenkinsと組み合わせるのが基本構成です。
ArgoCDのアーキテクチャと主要コンポーネント
ArgoCDは複数のコントローラとサーバが疎結合に動く構成で、すべてKubernetesのカスタムリソース(CRD)とDeploymentとして稼働します。
コンポーネント | 役割 |
|---|---|
API Server | Web UI・CLI・Webhookのエンドポイント。RBACや認証もここで処理する |
Repository Server | Gitリポジトリから取得したマニフェストを描画する(Helm template、Kustomize buildの実行を含む) |
Application Controller | クラスタの実状態と宣言された状態を継続的に比較し、差分があれば同期処理を行う |
Redis | キャッシュ層。差分計算のパフォーマンスを支える |
Dex(オプション) | 外部IDプロバイダとのSSO連携。SAML / OIDC / LDAPなどに対応 |
Applicationリソースという中心概念
ArgoCDのオペレーションは、Application というCRDを軸に進みます。Applicationには「どのGitリポジトリ・どのパス・どのリビジョン」を「どのクラスタ・どのNamespace」に同期するかを宣言します。
Application自体もマニフェストで管理できるため、「ApplicationそのものをGitで管理する」 という再帰的な構成(いわゆるApp of Apps)が可能です。これがArgoCDの拡張性の核になっています。
同期(Sync)の流れ
Application ControllerがGitとクラスタを定期的に(あるいはWebhookで即時)比較する
差分があるとOutOfSyncと判定される
自動同期が有効ならその場で適用、手動同期なら通知のみ
適用後、再度差分を確認し、Syncedとなれば完了
Application Controllerが既定では一定間隔のポーリングで宣言状態と実状態を比較し、Webhookを併用するとより早く反映できます。Push型のCDツールと違い、デプロイ後も差分検知が継続する点が特徴です。
ミニFAQ:
Q. WebhookでGitHubからイベントを受けないと反映が遅いですか? 既定では一定間隔のポーリングで動作するため反映には待ち時間が乗ります。反映遅延を短くしたい現場ではWebhookを併用する構成がよく採られます。
ArgoCDの主要機能
ArgoCDが選ばれる理由は、UIと運用機能の作り込みにあります。代表的な機能を整理します。
差分の可視化
WebコンソールでGit上のマニフェストと実状態のYAML差分を行単位で確認できます。「誰かが手で変えたフィールド」が一目で分かるため、ドリフト調査の時間が大きく削減できます。
自己修復(Self-Heal)
クラスタ上で手作業の変更が入った場合に、宣言状態へ自動で戻す機能です。kubectl edit による緊急対応がそのまま残り続ける、というよくある事故を防げます。
同期ウェーブ(Sync Waves)と同期フェーズ(Hooks)
リソースの適用順序を制御する機能です。PreSync / Sync / PostSyncフェーズに分けて、たとえば「DBマイグレーションJobを先に流してからDeploymentを更新する」といった順序制御が可能です。
マルチクラスタ管理
1つのArgoCDから複数クラスタをまとめて管理できます。本番・ステージング・開発の同期状況を1画面で把握できるため、SREの運用負荷が下がります。
RBACとSSO
プロジェクト(AppProject)単位で、誰がどのアプリを操作できるかを制御します。Dexを介してGoogle Workspace、GitHub、Okta、Azure ADなどとSSO連携できます。
Helm / Kustomize / 生マニフェストの対応
ArgoCDは描画エンジンを内蔵しており、以下の形式をそのまま読み込めます。
形式 | 対応 | 補足 |
|---|---|---|
生のYAMLマニフェスト | 標準対応 | パスを指定するだけ |
Helm | 標準対応 | values.yamlのオーバーライドや複数values指定が可能 |
Kustomize | 標準対応 | kustomization.yamlを自動検出 |
Jsonnet | 標準対応 | 関数型マニフェスト生成にも対応 |
プラグイン | 対応 | 独自のテンプレートエンジンを差し込める(ConfigManagementPlugin) |
ArgoCDの導入と初期セットアップ
導入は比較的シンプルで、Helmチャートまたはマニフェスト一括適用で検証環境であれば短時間で立ち上げられます。本番運用に乗せる場合はSSO・Ingress・Secret管理・権限設計を含めるため、別途設計工数を見込む必要があります。
最小構成での導入手順
具体的な流れは次のとおりです。
argocd Namespaceを作成する
公式マニフェストまたは公式Helmチャートでargocd-server / argocd-application-controller / argocd-repo-server / argocd-dex-server / argocd-redis を一括デプロイする
argocd-cli をローカルにインストールする
初期管理者パスワードをargocd-initial-admin-secretから取得する
argocd login でCLIから接続し、最初のApplicationを宣言する
本番運用前にやるべき設定
初期パスワードを変更し、admin直接ログインを無効化する
DexまたはAPI Serverに直接OIDC / SAMLを設定する
TLS終端をIngress / Service Mesh側で済ませる
ArgoCDのインストールマニフェスト自体もGit管理する(ブートストラップ手順を文書化)
バックアップとして、Argo CD Autopilotやargocd admin export を活用する
ネットワーク経路で詰まりやすい点
Gitプロバイダ(GitHub / GitLab / Bitbucket)へのアウトバウンドが通っているか
WebhookがGitプロバイダからArgoCDのAPI Serverに届く経路になっているか(社内クラスタの場合はReverse Proxy経由で外に出す設計を検討)
プライベートリポジトリ用のクレデンシャルをSealed SecretsやExternal Secrets Operatorで管理する
ミニFAQ:
Q. Webhookは必須ですか? 動かすだけならポーリングで足ります。ただし本番では「マージから反映までの待ち時間」が許容されるかで判断します。許容できない現場ではWebhookを併用する構成を検討します。
ArgoCDとCI/CDツールの違いと組み合わせ
ArgoCDを単独で評価するより、CI側のツールとどう繋ぐかを整理したほうが実務イメージがつかみやすくなります。
役割の違い
観点 | ArgoCD | GitHub Actions / Jenkins / CircleCI |
|---|---|---|
主な担当領域 | CD(デプロイ・同期・自己修復) | CI(ビルド・テスト・コンテナイメージ作成) |
動作モデル | Pull型(クラスタ内から取りに行く) | Push型(外部からクラスタへapplyする) |
必要な権限 | クラスタ内部のRBACのみ | 外部からのクラスタアクセス権が必要 |
状態管理 | 継続同期・自己修復あり | デプロイは一度きり |
主な対象 | Kubernetes | プラットフォーム横断 |
よくある組み合わせパターン
GitHub ActionsでビルドとコンテナイメージのPushを行い、マニフェストリポジトリのバージョン番号をBotで書き換え → ArgoCDがその差分を検知して同期
Jenkinsで既存のビルドパイプラインを継続利用し、デプロイ部分のみArgoCDへ寄せる
CircleCIでテスト・ビルド・セキュリティスキャンを実行し、ArgoCD ImageUpdaterで自動的にマニフェストを更新
GitLab CIとGitLabリポジトリのまま完結させ、ArgoCDをデプロイ層に組み込む
マニフェストリポジトリは分けるか同居か
CI/CDの境界を切るうえでよく議論になる論点です。
分ける派:アプリコードとマニフェストを別リポジトリにし、CIはイメージビルド、ボットがマニフェストリポジトリのタグを更新する構成。権限分離と監査ログが綺麗になる
同居派:モノレポでアプリとマニフェストを同居させ、PR単位で挙動とインフラ変更を一緒にレビューする構成。学習コストは低い
中小規模なら同居、複数チーム・複数サービスを跨ぐなら分離、という選び方が現実的です。
ミニFAQ:
Q. ArgoCDだけ導入すればCI/CDは完結しますか? いいえ。ビルドとイメージPushは別途必要です。「マニフェストはGitにある」状態を作るためのCI側の仕組みを必ず併設します。
Kubernetes運用でのケース別活用パターン
ArgoCDは規模やチーム構成によって使われ方が変わります。実務でよく見るパターンを整理します。
ケース1:単一クラスタ・小規模Webサービス
ステージングと本番のNamespaceが同居している、または2クラスタ程度の構成です。App of Apps で1つの親Applicationから子Applicationをまとめてデプロイする運用が手早く立ち上がります。Helmチャート1本で完結するケースが多く、ArgoCD導入の費用対効果が見えやすい規模です。
ケース2:マイクロサービス×複数チーム
サービスごとにマニフェストリポジトリを分け、AppProjectでチームの権限を切ります。ApplicationSet を使うとリポジトリ単位・クラスタ単位でApplicationを動的に生成でき、新規サービス追加が宣言的に行えます。
ケース3:マルチクラスタ・マルチリージョン
本番/ステージング/開発/DR用と複数クラスタを束ねる構成です。1台の管理用ArgoCDから対象クラスタをまとめて見るパターンと、各クラスタにArgoCDを置いて中央リポジトリを共有するパターンがあります。後者は中央障害時のブラスト半径が小さくなる代わりに、運用台数が増えます。
ケース4:規制業界・金融系
PreSyncフックでセキュリティ検査を必須化し、SyncWavesでデータベース・アプリ・Ingressの順序を厳密に制御する運用です。ロールバック手順をGit revertでクラスタ状態がそのまま戻るという形に揃えられるため、監査要件との相性が良いケースが多くなります。
ケース5:DRY-RUN・PR環境
ApplicationSetのPull Requestジェネレータで、PRごとにプレビュー環境を立ち上げる使い方です。「マージ前にレビュアーが触れる」体験を提供できます。
ArgoCDの運用でよくある失敗と対策
実際に詰まりやすいポイントを整理します。導入後の運用を見据えると最初から避けやすい論点です。
失敗1:自動同期と自己修復を雑にONにする
緊急対応でkubectl editした内容が次の同期で戻ってしまい、対応が振り出しに戻る事故が起きます。対策としては、prune(孤立リソースの削除)やselfHeal(手動変更の上書き)の有効化方針を、Application / AppProject設計の中で明示的に切り分けます。最初は手動同期+自己修復オフから始めるのが安全です。
失敗2:Secret管理が後回しになる
ArgoCDは公開鍵暗号でSecretを直接管理しません。Sealed Secrets / External Secrets Operator / SOPS などを併設して、Gitに平文Secretを置かない設計が必要です。導入前にどの方式で行くかを決めてからApplicationを切り始めます。
失敗3:Webhookの戻り経路を作っていない
GitHubからArgoCDへWebhookを飛ばす経路を設計しておらず、結局ポーリング頼りで反映が遅い、というケースです。Cloudflare Tunnel / ngrok / Public Ingressなどを使い、Gitプロバイダ→ArgoCD API Serverのインバウンド経路を必ず開通させます。
失敗4:ApplicationのGit URLにHTTPSとSSHが混在
HTTPSとSSHのURL(https形式とgit@github.com形式)が混在すると、認証情報の登録ミスやリダイレクトループが発生します。プロジェクト内で1方式に統一し、Repositoryリソースで先に登録しておきます。
失敗5:ApplicationSetのテンプレート修正でクラスタ全停止
Generatorのテンプレートを書き換えた瞬間、全Applicationが再生成され、結果として全リソースが一度OutOfSyncと判定される事故です。自動同期とPruneの設定(spec.syncPolicy.automated)を慎重に扱い、テンプレート修正は 「いったん自動同期をoffにして反映 → 差分確認 → onに戻す」 という手順を踏みます。
失敗6:Helmチャートのバージョン固定漏れ
targetRevisionを「HEAD」のままにしておくと、外部チャートのアップデートを意図せず取り込んでしまい、ある日突然クラスタが壊れます。チャートバージョンは明示固定し、Renovate等で更新PRを通します。
ArgoCDを活かせるフリーランス案件の動向と単価感
主要フリーランスエージェントの公開案件を確認する限り、ArgoCDは案件名として正面に出ることは少なく、「Kubernetes運用 / SRE / DevOps / プラットフォームエンジニア」 系のスキル要件の中に登場するケースが目立ちます。
募集の出方の傾向(公開案件ベース)
「Kubernetes(EKS / GKE / AKS)の運用経験」と並べてArgoCDが要件に書かれる
Helm / Kustomize / Terraformと同列で記載される
「GitOps運用の設計・推進」をミッションとして掲げる案件も見られるようになった
SRE / DevOps系のポジションで歓迎スキル扱いになる
単価感(目安)
2026年6月時点で確認した主要フリーランスエージェントの公開案件(週3〜5日・業務委託・首都圏中心)ベースの目安です。
案件層 | 単価レンジ | 想定スキル像 |
|---|---|---|
初級〜中級SRE / DevOps | 月60万〜80万円前後 | Kubernetes基本操作、Helm運用、CI/CDツールの実務経験。本番クラスタの運用当番経験があれば評価されやすい |
中級〜上級SRE / プラットフォームエンジニア | 月80万〜120万円前後 | EKS / GKE / AKSいずれかでの本番運用、マルチクラスタ運用、ArgoCD設計、IaC全般、SLO運用の経験 |
リード / アーキテクト層 | 月120万〜150万円超 | プラットフォーム全体設計、開発者体験改善、複数チームへの標準化推進、本番障害対応のリード経験 |
注:上記はあくまで公開案件ベースの目安です。実単価は所属企業・契約形態・稼働時間・スキル深度で大きく動きます。月額の表記であっても、契約は時間単価ベース・精算幅ありの業務委託契約が一般的です。
求められる併用スキル
Kubernetes本体:Pod / Service / Ingress / NetworkPolicyレベルでの設計と障害対応
Helm / Kustomize:テンプレート設計、共通化、Override戦略
クラウドネイティブ系:AWS Lambda・Cloud Runなどサーバーレスとの使い分け判断
可観測性:Prometheus / Grafana / Datadogでのメトリクス・ログ・トレース基盤
IaC:Terraform / Pulumi / Crossplane
関連職種と相互リンク
DevOpsエンジニアとしてプラットフォーム改善をリードする
SREとしてSLO運用とリリースエンジニアリングを担う
ミニFAQ:
Q. ArgoCDだけ書ける状態で案件は取れますか? 単体スキルのみでの募集はほぼ見かけません。Kubernetes本体の運用経験+CI/CDツールの実装経験とセットで強みになります。
ArgoCD導入チェックリスト
導入前後で確認すべき論点を一覧化しました。社内提案や設計レビューでの叩き台として使えます。
区分 | チェック項目 |
|---|---|
戦略 | GitOpsで解決したい現状課題が文章化されているか |
戦略 | ArgoCDで担う範囲とCI側の責務が線引きされているか |
設計 | マニフェストリポジトリの構成(モノレポ / 分離)が決まっているか |
設計 | App of Apps またはApplicationSetのどちらで子Applicationを束ねるか |
設計 | AppProjectの境界とRBACが定義されているか |
設計 | Webhookのインバウンド経路が確保されているか |
セキュリティ | Secret管理方式が選定されているか |
セキュリティ | OIDC / SAMLによるSSOが構成されているか |
運用 | 自動同期 / 自己修復のオン・オフ方針がプロジェクト単位で決まっているか |
運用 | Drift発生時の通知先(Slack / PagerDuty等)が設定されているか |
運用 | バックアップ・DRの手順(argocd admin export等)が文書化されているか |
観測 | ArgoCD自身のメトリクスとログがダッシュボードに乗っているか |
検証 | DRY-RUN・PR環境のApplicationSetが整備されているか |
まとめ
ArgoCDはKubernetesの宣言的デプロイを継続同期で実現するGitOpsツールで、kubectl中心の手作業運用やJenkins中心のPush型CDから一歩進めたい現場で価値を発揮します。Gitを真実のソース、ArgoCDを差分を埋める実行者として運用することで、変更履歴と実状態のズレを最小化できます。
要点の再整理:
ArgoCDはKubernetes専用・Pull型・宣言的のGitOps CDツール
ビルド・テストはGitHub Actions / Jenkins / CircleCI / GitLab CIに任せ、デプロイ後の同期と自己修復をArgoCDが担う
設計の最初に決めるべきは「マニフェストリポジトリ構成」「Secret管理方式」「Webhook経路」「自動同期・自己修復のポリシー」
案件はKubernetes本体・Helm・IaCの実務経験とセットで評価され、SRE / DevOps / プラットフォームエンジニア系で募集される
単価感は首都圏中心の公開案件ベースで中級SREが月60万〜80万円前後、上級・リード層で月100万円超になるケースもある(2026年6月時点の目安)
次のアクションとして、まずは検証用クラスタを1つ用意し、公式マニフェストでArgoCDを立ち上げて、自分のサンプルアプリを1本Applicationとして宣言してみるところから始めるのが効率的です。Kubernetes本体やCI/CDツールの理解と並行して、Kubernetes・Docker・DevOpsエンジニア といった関連トピックも横断的に押さえておくと、案件応募時の説得力が増します。
参照元・関連リンク:
よくある質問
Q1. ArgoCDとFluxはどちらを選ぶべきですか?
どちらもCNCFのGitOpsツールですが、よくある比較軸としては、UIや承認フローを重視するならArgoCD、Gitリポジトリ中心で軽量に運用したい場合はFlux が候補に挙がる傾向があります。ただしチーム文化や既存ツールとの相性で選定は変わるため、二項対立で決めるよりも検証で判断するのが安全です。両方を併用する事例もあります。
Q2. ArgoCD自体はどこにデプロイするのが安全ですか?
大規模環境では対象クラスタとは別の 管理用クラスタ に分離する設計が採られることがあります。対象クラスタが壊れても管理側は生き残るため、復旧オペレーションが分離できます。一方、小〜中規模では「管理対象クラスタの中に同居 + 自身もGit管理(ブートストラップ可能)」とする同居構成も一般的です。規模・障害分離要件・運用台数の許容範囲で選び分けます。
Q3. ApplicationSetは必須ですか?
必須ではありません。サービス数が10前後までならApp of Appsで十分に運用できます。50〜100以上のApplicationが見えてきた段階で、ApplicationSetへの移行を検討すると効率が上がります。
Q4. Imageタグの自動更新はArgoCDでできますか?
公式に Argo CD Image Updater という補助プロジェクトが提供されています。コンテナレジストリを監視し、新しいイメージをマニフェストリポジトリへ自動コミットする動きをします。CI側でやってもよく、どちらが運用に乗るかで選びます。
Q5. ArgoCD導入後にkubectl applyしてはいけませんか?
緊急時の応急処置として使うのは現実的にあり得ます。ただし、自己修復が有効だと次の同期で戻されるため、応急対応の内容はマニフェストへ反映してGitへPushする運用フローを必ず組みます。
Q6. ArgoCDだけで監視・通知までできますか?
通知機能は Argo CD Notifications という別コンポーネントとして提供されています。同期失敗・OutOfSync・健康状態の変化などをSlack・Email・Webhookで通知できます。本格的な観測はPrometheus / Grafana / Datadog側に寄せます。
Q7. ArgoCDはオンプレミスKubernetesでも使えますか?
問題なく使えます。クラウドサービスの依存がない設計のため、自社データセンターのKubernetesクラスタでも動作します。むしろオンプレミスのほうがGitプロバイダからのインバウンド経路設計に手間がかかるため、事前検討が重要です。
Q8. ArgoCDのバージョンアップは難しいですか?
マイナーバージョンの追従が比較的進めやすいケースもありますが、CRDや周辺コンポーネント(Notifications / ImageUpdater / SSO設定等)の互換性確認は必須です。CRDの破壊的変更が含まれるアップグレードは、必ずリリースノートを確認してから検証クラスタで試します。
Q9. PRごとにプレビュー環境を作る運用は重くありませんか?
NamespaceあたりのPod数・PVC数・ノードリソースに依存します。一定数を超える場合は、PRクローズ時の自動削除(PRジェネレータの組み込み機能)と、TTLによる自動掃除を必ずセットで設計します。
Q10. ArgoCD学習にはどう手をつけるべきですか?
公式チュートリアルの Getting Started を実機で一周し、その後にHelm / Kustomizeのどちらかで自分のサンプルアプリをデプロイしてみるのが効率的です。書籍では Manning から出ている『GitOps Cookbook』『Cloud Native DevOps with Kubernetes』などが体系的に学べます。
Q11. ArgoCDの認定資格はありますか?
ArgoCD単体の公式認定資格は2026年6月時点では提供されていません。関連としては Linux Foundation の CKAD(Certified Kubernetes Application Developer) や CKA(Certified Kubernetes Administrator) が、GitOps運用の前提知識として案件で評価されやすい認定です。
Q12. ArgoCDのコミュニティはどこで情報を追えますか?
GitHubの argoproj/argo-cd リポジトリのIssueとリリースノート、CNCF Slackの #argo-cd チャンネル、年次イベント ArgoCon が主な情報源です。






