ArgoCDとは|GitOpsの仕組み・使い方・Fluxとの違いと案件単価
最終更新日:2026/09/25
ArgoCDとは、GitリポジトリのマニフェストをKubernetesクラスタへ継続的に同期する、CNCF卒業のGitOpsデリバリーツールです。インフラ・SREエンジニア向けに、仕組み・導入手順・Fluxとの違いと、Kubernetes案件304件から見た案件での評価軸を整理します。
先に結論
ArgoCDはKubernetes専用の宣言的GitOpsデリバリーツール。Gitが「あるべき状態」、ArgoCDが「差分を埋める実行者」という役割分担になる
既定では約3分ごと(120秒+最大60秒のゆらぎ)にGitを確認し、差分を検知する。即時反映したいならWebhookを併用する
GitHub ActionsやJenkinsはビルド・テスト中心のCI寄り。ArgoCDはデプロイ後の同期・自己修復を継続的に担うためレイヤーが違う
Fluxとの代表的な違いはWeb UIの有無とHelmの扱い。ArgoCDはhelm templateで描画して適用し、FluxはHelmのリリースとして管理する
フリコン掲載のKubernetes案件304件では100万円以上の案件が23.4%(全掲載は13.0%)。ただしArgoCD単体ではなく、Kubernetes運用・IaCとセットで求められる
この記事でわかること
ArgoCDの定義とGitOpsの4原則の中での位置づけ
アーキテクチャ・主要コンポーネント・同期の仕組みと、3系の変更点
導入手順と、本番運用前に決めておく設計論点
CI/CDツールやFluxとの違いと組み合わせ方
自社掲載データで見るKubernetes案件の単価分布と、単価が上がる担当範囲
目次
ArgoCDとは何か(基本定義とGitOpsの位置づけ)
ArgoCDのアーキテクチャと主要コンポーネント
ArgoCDの主要機能
ArgoCDの使い方(導入と初期セットアップ)
ArgoCDとCI/CDツールの違いと組み合わせ
ArgoCDとFluxの違い
Kubernetes運用でのケース別活用パターン
ArgoCDの運用でよくある失敗と対策
ArgoCDを活かせるフリーランス案件の動向と単価
ArgoCD導入チェックリスト
まとめ
よくある質問
ArgoCDとは何か(基本定義とGitOpsの位置づけ)
ArgoCDは、Gitを唯一の正(Single Source of Truth)としてKubernetesの状態を保つCDツールです。 一言でいうと、Gitに書いたKubernetesの設定をクラスタへ自動で反映し、ズレを継続的に戻すツールです。
Argo Projectの一部としてCNCFに寄贈され、2022年12月に「Graduated(卒業)」ステータスへ昇格しました。
Gitリポジトリに置かれたマニフェスト(YAML / Helm / Kustomize)を 「あるべき状態(Desired State)」 とみなし、クラスタの 実状態(Live State) との差分を検知して同期します。
公式ドキュメントは Argo CD - Declarative GitOps CD for Kubernetes を参照すると正確です。CNCFのプロジェクトページは CNCF Argo にあります。
GitOpsの基本思想
GitOpsは、Weaveworks社が2017年に提唱した運用パターンです。現在はCNCF配下のOpenGitOpsが、次の4原則として定義を公開しています(OpenGitOps)。
原則 | 意味 | ArgoCDでの実現 |
|---|---|---|
Declarative(宣言的) | システムの望ましい状態を宣言で表す | マニフェスト・Helm・Kustomizeで表現 |
Versioned and Immutable(バージョン管理・不変) | 状態をバージョン管理し、履歴を残す | Gitのコミット・PRがそのまま変更履歴になる |
Pulled Automatically(自動で取得) | エージェントが宣言を自動で取りに行く | Application Controllerが定期的にGitを確認 |
Continuously Reconciled(継続的な調整) | 実状態を宣言に寄せ続ける | 差分検知・自動同期・自己修復 |
ArgoCDは、このうち特に後半2つ(自動取得と継続的な調整)を強く担う実行役です。前半2つは、Git運用やレビュー設計と組み合わせて成立します。
ArgoCDが解決する課題
kubectl applyの手作業オペレーションで、クラスタごとの差異が生まれる
JenkinsからCLIでデプロイすると、誰が・いつ・何を変えたかがJenkins側のログに散る
マニフェストのリポジトリと実環境がズレても気づきにくい
ロールバック時に、過去のマニフェストをどこまで戻すかが曖昧になる
バージョンとサポート期間(2026年9月時点)
ArgoCDのマイナー版は年4回(2・5・8・11月)出ます。パッチが提供されるのは直近3つのマイナー版だけです(リリースとサポート方針)。
つまり、1つのマイナー版を使える期間はおよそ9か月です。2026年9月時点では、最新安定版は3.5系で、3.6のリリース候補が公開されています。最新の状況はGitHubのリリース一覧で確認してください。
2025年に出た3.0では、既定の挙動がいくつか変わりました。2系の記事や社内手順書を参考にするときは、次の点に注意してください(2.14から3.0へのアップグレードガイド)。
リソースの追跡方法の既定が、ラベルからアノテーションに変わった
Applicationへのupdate / delete権限が、配下のリソースに自動では及ばなくなった
ログの閲覧に明示的な権限が必要になった
argocd-cmでのリポジトリ設定が廃止され、Secretでの登録に一本化された
ミニFAQ:
Q. GitOps=ArgoCDですか? GitOpsは運用パターンの名前で、実装ツールはArgoCDのほかにFluxなどがあります。違いは後述の「ArgoCDとFluxの違い」で整理しています。
Q. ArgoCD単体でCIまでこなせますか? いいえ。ArgoCDはCD側に特化しているため、ビルド・テストはGitHub ActionsやJenkinsと組み合わせるのが基本構成です。
ArgoCDのアーキテクチャと主要コンポーネント
ArgoCDは複数のコントローラとサーバが疎結合に動く構成です。ApplicationなどのCRD(カスタムリソース)を中心に、各コンポーネントはDeployment / StatefulSetとしてKubernetes上で稼働します。標準のインストールマニフェストには、次のコンポーネントが含まれます。
コンポーネント | 役割 |
|---|---|
API Server | Web UI・CLI・Webhookのエンドポイント。RBACや認証もここで処理する |
Repository Server | Gitリポジトリから取得したマニフェストを描画する(helm template、kustomize buildの実行を含む) |
Application Controller | クラスタの実状態と宣言された状態を比較し続け、差分があれば同期処理を行う |
ApplicationSet Controller | テンプレートからApplicationを自動生成する(複数クラスタ・複数サービス向け) |
Notifications Controller | 同期失敗やOutOfSyncなどのイベントをSlack・メール等へ通知する |
Redis | キャッシュ層。差分計算のパフォーマンスを支える |
Dex(オプション) | 外部IDプロバイダとのSSO連携。SAML / OIDC / LDAPなどに対応 |
以前は別プロジェクトだったApplicationSetとNotificationsも、現在は標準インストールに同梱されています。
Applicationリソースという中心概念
ArgoCDのオペレーションは、Application というCRDを軸に進みます。Applicationには「どのGitリポジトリ・どのパス・どのリビジョン」を「どのクラスタ・どのNamespace」に同期するかを宣言します。
Application自体もマニフェストで管理できます。そのため、「ApplicationそのものをGitで管理する」 という再帰的な構成(いわゆるApp of Apps)が組めます。これがArgoCDの拡張性の核です。
同期(Sync)の流れ
Application ControllerがGitとクラスタを定期的に(あるいはWebhookで即時)比較する
差分があるとOutOfSyncと判定される
自動同期が有効ならその場で適用、手動同期なら差分を表示して待つ
適用後に再度差分を確認し、Syncedになれば完了
公式FAQによると、既定のポーリング間隔は約3分(120秒+最大60秒のジッター)です(Argo CD FAQ)。Push型のCDツールと違い、デプロイ後も差分検知が続く点が特徴です。
ミニFAQ:
Q. マージしてから反映まで何分かかりますか? Webhookなしなら最大で約3分待つことがあります。数十秒以内に反映したい現場では、Gitプロバイダからの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・Microsoft Entra IDなどとSSO連携できます。
Helm / Kustomize / 生マニフェストの対応
ArgoCDは描画エンジンを内蔵しており、以下の形式をそのまま読み込めます。
形式 | 対応 | 補足 |
|---|---|---|
生のYAMLマニフェスト | 標準対応 | パスを指定するだけ |
Helm | 標準対応 | values.yamlの上書きや複数values指定が可能。helm templateで描画して適用する |
Kustomize | 標準対応 | kustomization.yamlを自動検出 |
Jsonnet | 標準対応 | 関数型のマニフェスト生成にも対応 |
プラグイン | 対応 | 独自のテンプレートエンジンをサイドカーとして差し込める(Config Management Plugin) |
Helmについては注意点が1つあります。ArgoCDはhelm installではなくhelm templateで描画したマニフェストを適用するため、helm listなどのHelmコマンドではリリースとして見えません(Argo CD FAQ)。Helmのリリース履歴を前提にした運用手順がある現場では、移行前に確認が必要です。
ArgoCDの使い方(導入と初期セットアップ)
導入は比較的シンプルです。公式マニフェストか公式Helmチャートで、検証環境なら短時間で立ち上げられます。本番運用に乗せる場合は、SSO・Ingress・Secret管理・権限設計の設計工数を別に見込みます。
最小構成での導入手順
実際のコマンドは公式のGetting Startedに沿って進めるのが確実です。流れは次のとおりです。
argocd Namespaceを作成する
公式マニフェスト(install.yaml)または公式Helmチャートで、前述のコンポーネント一式をデプロイする
argocd CLIをローカルにインストールする
初期管理者パスワードをargocd-initial-admin-secretから取得する
argocd loginでCLIから接続し、最初のApplicationを宣言する
本番運用前にやるべき設定
初期パスワードを変更し、adminでの直接ログインを無効化する
DexまたはAPI Serverに直接OIDC / SAMLを設定する
TLS終端をIngressやサービスメッシュ側で済ませる
ArgoCDのインストールマニフェスト自体もGit管理する(ブートストラップ手順を文書化する。初期構築の自動化にはArgo CD Autopilotという補助ツールもある)
設定のバックアップとして、argocd admin export / importの手順を用意する
アップグレードの頻度を決める(サポートは約9か月なので、少なくとも半年に1回はマイナー版を上げる計画が現実的)
ネットワーク経路で詰まりやすい点
Gitプロバイダ(GitHub / GitLab / Bitbucket)へのアウトバウンド通信が通っているか
WebhookがGitプロバイダからArgoCDのAPI Serverに届く経路になっているか(社内クラスタの場合はリバースプロキシ経由で受ける設計を検討)
プライベートリポジトリ用のクレデンシャルを、Sealed SecretsやExternal Secrets Operatorで管理しているか
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でテスト・ビルド・セキュリティスキャンを実行し、イメージタグの更新はArgo CD Image Updaterに任せる
GitLab CIとGitLabリポジトリのまま完結させ、ArgoCDをデプロイ層に組み込む
マニフェストリポジトリは分けるか同居か
CIとCDの境界を切るうえで、よく議論になる論点です。
分ける派:アプリコードとマニフェストを別リポジトリにする。CIはイメージをビルドし、Botがマニフェストリポジトリのタグを更新する。権限分離と監査ログが綺麗になる
同居派:モノレポでアプリとマニフェストを同居させ、PR単位でアプリとインフラの変更を一緒にレビューする。学習コストは低い
中小規模では同居が選ばれやすく、複数チーム・複数サービスをまたぐ構成では分離が選ばれやすい傾向があります。権限分離の要件が強ければ、小規模でも分離を選ぶ価値があります。
ミニFAQ:
Q. ArgoCDだけ導入すればCI/CDは完結しますか? いいえ。ビルドとイメージのPushは別途必要です。「マニフェストはGitにある」状態を作るCI側の仕組みを必ず併設します。
ArgoCDとFluxの違い
ArgoCDとFluxは、どちらもCNCF卒業のGitOpsツールで、Gitの宣言をクラスタへ寄せ続けるという目的は同じです。 違いが出るのは、操作の入口とHelmの扱い、イメージ更新の仕組みです。
観点 | ArgoCD | Flux |
|---|---|---|
操作の入口 | Web UIを同梱。差分や同期状態を画面で確認できる | 公式UIは同梱しない。CLIとKubernetesリソースで操作するのが基本 |
権限・マルチテナント | AppProject+独自のRBAC・SSO | KubernetesのRBACとNamespaceで分離する |
Helmの扱い | helm templateで描画して適用(Helmのリリース履歴は残らない) | helm-controllerがHelmのリリースとしてinstall / upgradeする |
イメージ自動更新 | 別プロジェクトのArgo CD Image Updaterを追加 | image-reflector / image-automationのコントローラを公式に提供 |
構成 | 一体型のアプリケーションとして導入 | 用途別コントローラ(GitOps Toolkit)の組み合わせ |
選び方の目安は次のとおりです。
開発チームにも同期状態を見せたい、承認や手動同期を画面で回したいならArgoCDが候補になりやすい
Helmのリリース管理をそのまま生かしたい、Kubernetesの仕組みだけで軽く運用したいならFluxが候補になりやすい
Fluxの開発を主導したWeaveworks社は2024年に事業を終えましたが、FluxはCNCFのプロジェクトとして開発が続いています(Flux公式サイト)。案件の要件にはArgoCDとFluxが「いずれかの経験」と並記されることもあるため、片方を実務で使った経験があれば、もう片方も概念は流用できます。
Kubernetes運用でのケース別活用パターン
ArgoCDは、規模やチーム構成によって使われ方が変わります。実務でよく見るパターンを整理します。
ケース1:単一クラスタ・小規模Webサービス
ステージングと本番のNamespaceが同居している、または2クラスタ程度の構成です。App of Apps で1つの親Applicationから子Applicationをまとめてデプロイする運用が手早く立ち上がります。Helmチャート1本で完結するケースが多く、導入効果が見えやすい規模です。
ケース2:マイクロサービス×複数チーム
サービスごとにマニフェストのディレクトリやリポジトリを分け、AppProjectでチームの権限を切ります。ApplicationSet を使うと、リポジトリ単位・クラスタ単位でApplicationを動的に生成でき、新規サービスの追加が宣言的に行えます。
ケース3:マルチクラスタ・マルチリージョン
本番/ステージング/開発/DR用と、複数クラスタを束ねる構成です。管理用の1台のArgoCDから対象クラスタをまとめて見るパターンと、各クラスタにArgoCDを置いて中央リポジトリを共有するパターンがあります。
後者は中央の障害時に影響範囲が小さくなる代わりに、ArgoCD自体の運用台数が増えます。
ケース4:規制業界・金融系
PreSyncフックでセキュリティ検査を必須化し、Sync Wavesでデータベース・アプリ・Ingressの順序を厳密に制御する運用です。ロールバック手順をGit revertでクラスタ状態が戻る形に揃えられるので、変更履歴を監査に使いたい現場と相性が良いケースが多くなります。
ケース5:PRごとのプレビュー環境
ApplicationSetのPull Requestジェネレータで、PRごとにプレビュー環境を立ち上げる使い方です。「マージ前にレビュアーが実際に触れる」環境を用意できます。
ArgoCDの運用でよくある失敗と対策
導入後に詰まりやすいポイントです。最初から設計に入れておけば避けやすい論点が並びます。
失敗1:自動同期と自己修復を雑にONにする
緊急対応でkubectl editした内容が次の同期で戻ってしまい、対応が振り出しに戻る事故が起きます。prune(孤立リソースの削除)とselfHeal(手動変更の上書き)の有効化方針を、Application / AppProjectの設計の中で明示的に切り分けてください。
運用に不慣れな段階では、手動同期+自己修復オフから始めると事故を減らしやすくなります。
失敗2:Secret管理が後回しになる
ArgoCD自体には、Secretを暗号化してGitに置く仕組みがありません。Sealed Secrets / External Secrets Operator / SOPS などを併設し、Gitに平文のSecretを置かない設計が必要です。どの方式で行くかを決めてから、Applicationを切り始めます。
失敗3:Webhookの戻り経路を作っていない
GitHubからArgoCDへWebhookを送る経路を設計しておらず、結局ポーリング頼りで反映が遅い、というケースです。Cloudflare Tunnel・リバースプロキシ・公開Ingressなどを使い、Gitプロバイダ→ArgoCD API Serverのインバウンド経路を開通させます。
失敗4:リポジトリURLにHTTPSとSSHが混在
https形式とgit@github.com形式のURLが混在すると、認証情報の登録漏れや、同じリポジトリの二重登録が起きます。プロジェクト内で1方式に統一し、リポジトリの認証情報を先に登録しておきます。
失敗5:ApplicationSetのテンプレート修正が全Applicationに波及
Generatorのテンプレートを書き換えると、生成される全Applicationに変更が一斉に反映されます。テンプレートの誤りが、そのまま全サービスのOutOfSyncや意図しない削除につながる事故です。
ApplicationSetの同期ポリシー(applicationsSyncでcreate-onlyなどに制限する、preserveResourcesOnDeletionで削除時にリソースを残す)を先に決めておきます。テンプレート修正は、検証用のApplicationSetで差分を確認してから本番に反映する手順を踏みます。
失敗6:Helmチャートのバージョン固定漏れ
外部Helmチャートのバージョン指定(targetRevision)に「*」のような範囲指定を使うと、チャートの更新を意図せず取り込み、ある日突然挙動が変わります。チャートバージョンは明示的に固定し、Renovateなどで更新PRを通します。
失敗7:ArgoCD本体のアップグレードを放置する
パッチが出るのは直近3つのマイナー版だけなので、1年近く上げないとサポート外になります。3.0のように既定の挙動が変わる版もあるため、アップグレードは検証クラスタで試してから本番に入れる前提で、年2回以上の計画に組み込みます。
ArgoCDを活かせるフリーランス案件の動向と単価
公開案件を見る限り、ArgoCDは案件名の主役より、Kubernetes運用・SRE・DevOps・プラットフォームエンジニアの案件の要件欄に書かれることが多い技術です。 そのため単価は、ArgoCDではなく「Kubernetesを扱う案件」の母集団で見るのが実態に近くなります。
募集の出方の傾向
「Kubernetes(EKS / GKE / AKS)の運用経験」と並べて、ArgoCDが要件に書かれる
Helm / Kustomize / Terraformと同列で記載される
「GitOps運用の設計・推進」をミッションに掲げる案件もある
SRE / DevOps系のポジションでは、必須でなく歓迎スキルとして書かれることが多い
フリコンでもArgoCDは検索用のスキルタグになっていません。Kubernetes案件一覧の先頭50件(表示順であり無作為抽出ではありません)の案件名にも、ArgoCDの語は出てきませんでした。
フリコン掲載のKubernetes案件304件で見る単価分布
以下は、フリコンに掲載中の公開案件のうち、スキルにKubernetesが付いた304件の集計です(2026年9月25日取得)。帯の区分も平均も、各案件の募集単価レンジの上限値で集計した掲載単価で、成約単価ではありません。帯は上限値が「○万円以上○万円未満」に入るかで区分しています。比較用に全掲載64,434件の分布も並べています。
募集単価(上限) | Kubernetes案件(304件) | 全掲載(64,434件) |
|---|---|---|
70万円未満 | 20件(6.6%) | 14,091件(21.9%) |
70万円以上〜90万円未満 | 144件(47.4%) | 34,046件(52.8%) |
90万円以上〜100万円未満 | 69件(22.7%) | 7,939件(12.3%) |
100万円以上 | 71件(23.4%) | 8,358件(13.0%) |
平均 | 87万円 | 80万円 |
掲載分布を見ると、Kubernetes案件は全掲載より低単価帯が少なく(70万円未満の比率は3分の1以下)、高単価帯が多い(100万円以上の比率は約1.8倍)傾向があります。最多の帯は80万円以上〜90万円未満(86件)でした。
ただし、この差は「Kubernetesを学べば単価が上がる」ことを直接示すものではありません。Kubernetesが付く案件には、基盤設計やSRE・プラットフォームなど担当範囲の広い職種が多く含まれるため、職種構成の違いが単価差に出ている可能性があります。
実際、フリコンのDocker案件762件を要件別に集計した際(2026年9月4日)は、Kubernetes併記の有無で単価の中央値に差はありませんでした。差が出たのは、マネジメント(+10万円)とCI/CD(+5万円)という担当範囲の側です。
Kubernetes案件の最新の掲載状況は、Kubernetesのフリーランス案件一覧で確認できます。
単価に効くのは「担当範囲の広がり」
ArgoCDの経験を単価につなげるには、触ったことがあるかより、どこまでを自分で決めたかを示すほうが評価されやすくなります。
段階 | 担当範囲 | ArgoCDで問われること |
|---|---|---|
運用担当 | 既存Applicationの同期確認・障害の一次対応 | 同期状態の読み方、ロールバック、手動変更の戻し方 |
設計担当 | リポジトリ構成・AppProject・Secret方式の決定 | App of Apps / ApplicationSetの使い分け、RBAC、Webhook経路 |
リード | 複数チームへの標準化・開発者体験の改善 | テンプレート化、承認フロー、アップグレード計画、CI/CD全体の設計 |
スキルシートには「ArgoCD使用」だけでなく、「Application数」「管理クラスタ数」「同期ポリシーを決めたか」「アップグレードを担当したか」を数字で書くと、担当範囲が伝わります。
自分の経験でどのくらいの単価を狙えるかは、無料のフリーランスエンジニア単価診断で市場単価の目安を確認できます。単価を体系的に上げる考え方は『フリーランスエンジニアの単価相場と単価の上げ方』で、SRE・DevOps職の月額レンジは『SREフリーランスの単価相場』で整理しています。
求められる併用スキル
Kubernetes本体:Pod / Service / Ingress / NetworkPolicyレベルでの設計と障害対応(Kubernetesとは)
Helm / Kustomize:テンプレート設計、共通化、上書き戦略
IaC:Terraform / Pulumi / Crossplane(Terraformとは)
可観測性:Prometheus / Grafana / Datadogでのメトリクス・ログ・トレース基盤(Prometheus & Grafanaとは)
クラウドネイティブ系:AWS Lambda・Cloud Runなどサーバーレスとの使い分け判断
関連職種
DevOpsエンジニアとしてプラットフォーム改善をリードする
SREとしてSLO運用とリリースエンジニアリングを担う
プラットフォームエンジニアとして、開発者向けの共通基盤にGitOpsを組み込む
複数の案件で迷ったときは、単価だけでなく担当範囲や稼働条件も含めて比べると判断がぶれにくくなります。比べ方は『案件の選び方|フリーランスエンジニアが単価・稼働・スキルで決める優先順位』にまとめています。
ミニ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等)が設定されているか |
運用 | バックアップ(argocd admin export等)とDRの手順が文書化されているか |
運用 | マイナー版のアップグレード計画(年2回以上)があるか |
観測 | ArgoCD自身のメトリクスとログがダッシュボードに乗っているか |
検証 | PRごとのプレビュー環境や検証用ApplicationSetが整備されているか |
まとめ
ArgoCDは、GitにあるKubernetesマニフェストを継続的に同期し、実環境とのズレを検知・修復するGitOpsのCDツールです。案件ではArgoCD単体より、「Kubernetes運用をどこまで設計したか」が評価されやすくなります。
ArgoCDはKubernetes専用・Pull型・宣言的なGitOpsのCDツール
ビルド・テストはGitHub Actions / Jenkins / CircleCI / GitLab CIに任せ、デプロイ後の同期と自己修復をArgoCDが担う
Fluxとの違いは、Web UIの有無、Helmの扱い(描画して適用かリリース管理か)、イメージ自動更新の仕組み
設計の最初に決めるのは「マニフェストリポジトリ構成」「Secret管理方式」「Webhook経路」「自動同期・自己修復の方針」「アップグレード計画」
フリコン掲載のKubernetes案件304件では平均87万円、100万円以上が23.4%(2026年9月25日時点・掲載単価)。単価差は担当範囲の広さに出やすい
次の一歩としては、検証用クラスタを1つ用意して公式マニフェストでArgoCDを立ち上げ、自分のサンプルアプリを1本Applicationとして宣言してみるところから始めるのが効率的です。Kubernetes・Docker・DevOpsエンジニアの記事もあわせて読むと、案件応募時に経験を説明しやすくなります。今の経験で狙える単価の目安は、フリーランスエンジニア単価診断で確認できます。
参照元・関連リンク:
よくある質問
ArgoCDとFluxはどちらを選ぶべきですか?
画面で同期状態を共有したい、承認や手動同期をUIで回したいならArgoCD、Helmのリリース管理を生かしてKubernetesの仕組みだけで軽く運用したいならFluxが候補に挙がる傾向があります。チーム文化や既存ツールとの相性で変わるため、検証環境で両方を試して決めるのが安全です。
ArgoCD自体はどこにデプロイするのが安全ですか?
大規模環境では、対象クラスタとは別の管理用クラスタに分離する設計が採られることがあります。対象クラスタが壊れても管理側が残るため、復旧作業を分けられます。小〜中規模では、管理対象クラスタの中に同居させ、ArgoCD自身もGit管理する構成も一般的です。
ApplicationSetは必須ですか?
必須ではありません。サービス数が10前後までなら、App of Appsで十分に運用できます。数十以上のApplicationを同じ型で量産するようになった段階で、ApplicationSetへの移行を検討すると管理が楽になります。
イメージタグの自動更新はArgoCDでできますか?
ArgoCD本体にはなく、別プロジェクトのArgo CD Image Updaterを追加して実現します。コンテナレジストリを監視し、新しいイメージタグをマニフェストに反映する仕組みです。公式ドキュメントには「開発が活発に進んでおり、重要度の低い環境で試してほしい」旨の案内があるため、本番ではCI側でタグを書き換える構成も並行して検討します(Argo CD Image Updater)。
ArgoCD導入後にkubectl applyしてはいけませんか?
緊急時の手動変更は現実的にあり得ますが、Gitに反映されていない変更は、自己修復が有効だと次の同期で上書きされる可能性があります。そのため、応急対応の内容はマニフェストへ反映してGitへPushする運用フローを必ず組みます。
ArgoCDだけで監視・通知までできますか?
通知は標準同梱のNotifications Controllerで、同期失敗・OutOfSync・ヘルス状態の変化などをSlack・メール・Webhookへ送れます。アプリケーションのメトリクスやログの本格的な観測は、Prometheus / Grafana / Datadog側に寄せます。
ArgoCDはオンプレミスのKubernetesでも使えますか?
使えます。特定のクラウドサービスに依存しない設計のため、自社データセンターのKubernetesクラスタでも動作します。むしろオンプレミスのほうが、Gitプロバイダからのインバウンド経路の設計に手間がかかるので事前の検討が重要です。
ArgoCDのバージョンアップは難しいですか?
マイナー版は3か月ごとに出て、パッチが出るのは直近3版までです。パッチ版の追従は比較的進めやすい一方、マイナー版をまたぐときはCRDや周辺設定(SSO・RBAC・通知)の互換性確認が必要です。特に3.0では既定の挙動が変わったため、公式のアップグレードガイドを読み、検証クラスタで試してから本番に入れます。
PRごとにプレビュー環境を作る運用は重くありませんか?
NamespaceあたりのPod数・PVC数・ノードリソースによります。同時に開くPRが多い場合は、PRクローズ時の自動削除(PRジェネレータの組み込み機能)と、一定時間で消す掃除の仕組みをセットで設計します。
ArgoCDの学習はどう始めるべきですか?
公式のGetting Startedを検証用クラスタで一周し、その後にHelmかKustomizeで自分のサンプルアプリをデプロイしてみるのが効率的です。書籍では、ArgoCDの開発メンバーが共著したManningの『GitOps and Kubernetes』や、O'Reillyの『GitOps Cookbook』が体系的に学べます。
ArgoCDの認定資格はありますか?
ArgoCDの情報はどこで追えますか?
GitHubのargoproj/argo-cdリポジトリのIssueとリリースノート、CNCF Slackの#argo-cdチャンネル、年次イベントのArgoConが主な情報源です。マイナー版のリリース月(2・5・8・11月)にリリースノートを確認する習慣をつけると、既定の挙動の変更を見落としにくくなります。
