ArgoCD

ArgoCDとGitOps導入ガイド: Kubernetes自動デプロイの手順

ⓘ本ページはプロモーションが含まれています

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


スポンサードリンク

ArgoCDとGitOps導入の意義

Kubernetes環境における自動デプロイを実現するためには、GitOpsという手法が今後主流となると考えられています。GitOpsは、インフラやアプリケーションの構成をすべてGitリポジトリに保存し、変更をコードとして管理することで、一貫性と再現性を確保します。ArgoCDは、このGitOpsを実現する代表的なツールで、クラスタの状態をGitリポジトリと同期させることで自動デプロイを達成します。本記事では、KubernetesクラスタにArgoCDをインストールし、ローカル環境での初期設定までを具体的に解説します。


インストール方法比較(マニフェスト vs Helm)

ArgoCDのインストール方法は「マニフェスト」と「Helmチャート」の2つの選択肢があります。それぞれの特徴や使用シーンを理解することで、目的に応じて最適な手法を選べます。

マニフェストによるインストール手順

公式のYAMLファイルを使って直接Kubernetesクラスタに適用する方法です。以下が主な手順です。

  1. ArgoCDのリポジトリをクローン
    bash
    git clone https://github.com/argoproj/argo-cd.git

  2. マニフェストファイルを適用
    bash
    kubectl apply -n argocd -f argo-cd/manifests/install.yaml

  3. デプロイステータスの確認
    bash
    kubectl get pods -n argocd

利点: ツールに依存せず、手軽に導入可能。欠点: 大規模な設定が必要な場合、カスタマイズが複雑になる可能性があります。具体的には、複数の環境(開発・ staging・本番)で異なる設定を適用する際、YAMLファイルを個別に編集し直す必要があり、手間とエラーのリスクが高まります。


Helmチャートを使用したインストール

HelmはKubernetesのパッケージマネージャーで、テンプレート化されたリソースを管理できるため、手順を簡略化できます。

  1. HelmリポジトリにArgoCDを追加
    bash
    helm repo add argocd https://argoproj.github.io/argo-helm

  2. チャートのインストール
    bash
    helm install argocd argocd/argo-cd -n argocd

  3. カスタム設定が必要な場合はvalues.yamlを編集して再インストール

項目 補足
Ease of Use シンプル Helmのテンプレートが整っている
Customization 中程度 values.yamlで柔軟にカスタマイズ可能
Maintenance おすすめ バージョン管理やアップグレードがしやすい

利点: 複数クラスタでの一括管理が容易。欠点: Helmの環境構築が必要。


ArgoCDへのアクセス設定(ポートフォワーディング)

インストール後、Web UIにアクセスするにはkubectl port-forwardを使用します。

手順

  1. Port Forwardingを実行
    bash
    kubectl port-forward svc/argocd-server -n argocd 8080:443

  2. ブラウザでアクセス
    http://localhost:8080にアクセスし、ログイン用のトークンを取得します。

注意: 初回起動時はkubectl get pods -n argocdargocd-serverの状態を確認し、Readyな状態になるまで待つ必要があります。


ローカル環境(kind)でのGitOps導入フロー

ローカル環境ではkindクラスタを使用してテストが可能です。

1. kindクラスタの作成

2. ArgoCDのインストール(Helm版例)

3. Gitリポジトリの準備と連携

  1. Gitリポジトリを作成し、以下のディレクトリ構造を整えます。
    /my-repo/
    ├── manifests/
    │ └── deployment.yaml
    └── argocd-app.yaml

  2. ArgoCDアプリケーションを定義 (argocd-app.yaml)
    yaml
    apiVersion: argoproj.io/v1alpha1
    kind: Application
    metadata:
    name: myapp
    spec:
    source:
    repoURL: https://github.com/your-username/my-repo.git
    path: manifests

  3. ArgoCD UIまたはCLIからアプリケーションを登録
    bash
    argocd app create myapp --source https://github.com/your-username/my-repo.git --path manifests


CRDのインストールとマニフェストファイル構造解説

ArgoCDはKubernetesのカスタムリソース(CR)を用いて、アプリケーションやプロジェクトを管理します。

1. CRDとは?

Custom Resource Definition(CRD)は、Kubernetesに新しいリソースタイプを定義する仕組みです。ArgoCDでは以下のCRが使用されます:

  • Application – アプリケーションのデプロイ設定
  • AppProject – プロジェクトごとのアクセス制御設定(例: 特定のチームが特定のNamespaceにアクセスできるようにする)

2. マニフェストファイルの構成

公式マニフェストは以下のような構造を持ちます。

ポイント: CRDはインストールの最初に適用され、他のリソース(DeploymentやService)が依存します。マニフェストファイルにはCRD定義と、ArgoCDサーバーのデプロイメント・サービスなどが含まれます。

3. アクセス制御設定の例

以下はAppProjectでアクセス権を制限する具体例です。

この設定により、dev-teamリポジトリの変更はdev-namespaceのみに適用され、他のNamespaceへの影響が防げます。


まとめ

ArgoCDのインストール方法とGitOps導入フローについて詳しく解説しました。インストール方法には「マニフェスト」や「Helmチャート」があり、それぞれの特性を理解することで最適な選択ができるようになります。ローカル環境ではkindクラスタがテストに適していますし、CRDの構造を把握することでカスタマイズが容易になります。技術的正確性を保つためには、最新のYAMLファイルパスやHelmリポジトリURLを常に確認する必要があります。


スポンサードリンク

もっとスキルを活かしたいエンジニアへ

スポンサードリンク
働き方から選べる

無料で使えて良質な案件の情報収集ができるサービス

エンジニアの世界では、「いつでも動ける状態を作っておけ」とよく言われます。
技術やポートフォリオがあっても、自分に合う案件情報を日常的に見れていないと、いざ動こうと思った時に比較や判断が難しくなってしまいます。
普段から案件情報が集まる環境を作っておくと、良い案件が出た時にすぐ動きやすくなりますよ。
筆者自身も、メガベンチャー勤務時代に年収1,500万円を超えた経験があります。振り返ると、技術だけでなく「どんな案件や働き方があるか」を日頃から見ていたことが、キャリアの選択肢を広げるきっかけになりました。
このブログを読んでくれた方に感謝を込めて、実際に使っている情報収集サービスを紹介します。

フルリモート・週3日・高単価、どんな条件も妥協したくないなら

フリーランスボードに無料会員登録する

利用者10万人以上。業界最大規模45万件の案件。AIマッチ機能や無料の相場情報が人気。

年収800万円以上のキャリアアップ・ハイクラス正社員を視野に入れているなら

Beyond Careerに無料相談する

内定獲得率90%以上。紹介先企業とは役員クラスのコネクションがある安心と信頼できるエージェント。


-ArgoCD