
こんにちは!この記事では、Kubernetesクラスタ上に構築したArgo CDに、初めてのアプリケーションを作成・デプロイして、その動作を確認・削除するまでを丁寧に解説します。
■ 前提
- Ubuntuサーバー上にArgo CDがすでにインストール済み
kubectl port-forward
を用いてWeb UIにアクセス可能な状態- Argo CDにログイン済み
kubectl
が動作するターミナルがある
■ 今回やること
- サンプルアプリケーション(nginx)をGitHubからデプロイ
- Argo CDのWeb UIでアプリの状態を確認
kubectl
で動作確認- アプリケーションの削除
Argo CDとは?(初心者向け概要)
Argo CD(アーゴシーディー)は、Kubernetesクラスタ上で動く**「GitOps」**を実現するためのツールです。
GitOpsとは?
GitOpsは、**「アプリケーションやインフラの設定をすべてGitリポジトリで管理し、その状態を自動的にクラスタに反映させる」**という運用スタイルです。
つまり、
- すべての設定やマニフェスト(yamlファイル)はGitに保存される
- Gitにコミットした内容が「正しい状態」とみなされる
- その「正しい状態」をKubernetesクラスタに自動的に反映させる仕組みがArgo CD
Argo CDの役割
- Gitリポジトリを監視して変更を検知
- 変更があれば、Kubernetesクラスタ上のリソースをGitの状態に同期(Apply)する
- クラスタの状態がGitとズレていれば、それを知らせたり、自動修正したりできる
- Web GUIやCLIで管理状況の確認や操作が可能
なぜ使うのか?
- 手動でkubectlコマンドを打つ手間を減らし、設定ミスを減らす
- 設定のバージョン管理ができ、誰がいつ何を変えたか明確にできる
- 複数人での開発や運用でも変更内容を共有しやすく、安全にデプロイできる
- 自動化・監査がしやすくなる
■ Step 1: サンプルアプリの定義ファイルの用意
Argo CDは、GitリポジトリにあるKubernetesマニフェストをもとにアプリケーションを管理します。
今回は、Argo CD公式が提供している以下のサンプルを使います:
https://github.com/argoproj/argocd-example-apps
この中の guestbook
アプリケーションを使います。namespaceを作る機能はargocd にはないので下記のコマンドで作成しておきます
kubectl create namespace guestbook
■ Step 2: アプリケーションの作成(Web UIから)
- Argo CDの画面右上の
+ NEW APP
をクリック

- 以下のように入力します:
項目 | 入力値 |
---|---|
Application Name | guestbook |
Project | default |
Sync Policy | Manual(自動同期にしない) |
Repository URL | https://github.com/argoproj/argocd-example-apps |
Revision | HEAD |
Path | guestbook |
Cluster URL | https://kubernetes.default.svc |
Namespace | guestbook |

CREATE
を押して作成
■ Step 3: 同期(デプロイ)
- 作成したアプリケーション
guestbook
をクリック

- 右上の
SYNC
ボタンを押す

- そのまま
SYNCHRONIZE
を実行

このように同期されます

■ Step 4: 動作確認
1. Pod の確認
kubectl get pods -n guestbook
NAME READY STATUS RESTARTS AGE
guestbook-ui-84f7c8b64d-2khfg 1/1 Running 0 85s
2. Serviceの確認
kubectl get svc -n guestbook
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
guestbook-ui ClusterIP 10.107.233.162 <none> 80/TCP 101s
■ Step 5: アプリケーションの削除
1. Argo CD Web UIから
- アプリを開いて、右上の
DELETE
ボタンをクリック
2. CLIから削除したい場合:
argocd app delete guestbook --cascade
※ argocd
CLI が使える環境が必要です。
3. Namespaceの削除(完全削除したい場合)
kubectl delete ns guestbook
■ 用語まとめ(初心者向け)
用語 | 意味 |
Argo CD | GitのリポジトリにあるKubernetes構成を、自動でクラスタに反映してくれるツール |
アプリケーション | Kubernetesリソース一式のこと(PodやServiceなど) |
Repository | GitHubなどのコード保管庫のこと |
Sync(同期) | Gitにある定義と実際のクラスタを一致させること |
Namespace | Kubernetes上のアプリの領域分け。フォルダのようなイメージ |
■ おわりに
これで、Argo CDを使って実際にKubernetes上にアプリケーションをデプロイし、確認・削除する体験ができました。
Argo CDはGitOpsの中心的なツールです。これをきっかけに、CI/CDの自動化やチーム運用にもチャレンジしてみてください!