ArgoCD

GitOps with Argo CD v2.8: 2025 Kubernetes Guide

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

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

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

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

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

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

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

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

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

Beyond Careerに無料相談する

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


スポンサードリンク

GitOpsとArgo CDの概要

GitOpsは、Kubernetes環境の変更をGitリポジトリに格納し、自動で適用する運用手法です。これにより、コードとインフラの統一管理が可能となり、誤操作や手動ミスのリスクを軽減できます。本記事では、2023年10月時点の最新バージョン(Argo CD v2.7)を用いたGitOpsワークフロー構築に焦点を当てます。

GitOpsワークフローの基本原則

GitOpsは「Gitが唯一のソース・オブ・真実(Single Source of Truth)」となることを前提としています。以下のようなステップで運用されます:

  • 開発者はGitリポジトリにマニフェストファイルをコミット
  • Argo CDが変更を検知し、クラスターと同期
  • 同期失敗時はGitHub Actionsなどで通知

Argo CDの最新バージョン特性

Argo CD v2.7では以下のような新機能が追加されています:

特徴 説明 備考
ApplicationSet 支援 複数クラスターの自動管理が可能に GKE/AKS/EKS対応
Image Updater インテグレーション プロダクション環境でのイメージ更新を自動化 Docker Hubとの連携
Rolloutsとの互換性向上 渐進的リリースの精度向上 GitHub Actionsとの連携も可能

クラウドプラットフォームごとのArgo CD導入手順

クラウドサービスごとに認証フローとコマンドが異なります。最新バージョン(2023年10月時点)のHelmチャートを用いたインストール手順を解説します。

EKSでのインストール手順

EKSではIAMロールとAWS CLI認証が必要です。以下が基本的な手順です:

  1. eksctlでクラスターを作成し、aws configureでアクセス設定を行う
  2. Helm chartを取得: helm repo add argocd https://argoproj.github.io/argo-helm
  3. インストールコマンド: helm install argocd argocd/argo-cd --namespace argocd --create-namespace

注意: EKSでは、AWS Load Balancer Controllerとの連携が推奨されます。

AKSへのデプロイ方法

AKSの場合、Azure ADとKubernetes Service Principalの認証が必要です。手順は以下の通り:

  1. Azure CLIでaz aks get-credentialsを実行しクラスターにアクセス
  2. Helm chartを取得後、helm install argocd argocd/argo-cd --namespace argocdとインストール
  3. ポータルでArgo CDのUIにアクセスし、管理者パスワードを設定

GKE環境の設定注意点

GKEではGoogle Cloud SDKの認証情報を前提としています。以下のポイントに注意:

  • RBAC設定: kubectl create clusterrolebindingで権限を付与する必要がある
  • Ingressリソース: Google Cloud HTTP Load Balancerを用いて公開する
クラウド 認証方法 有効なHelmバージョン
EKS AWS CLI + IAMロール v2.7.x(公式リリース)
AKS Azure AD + Service Principal v2.7.0
GKE Google Cloud SDK v2.7.1

GitOpsワークフロー構築プロセス

ローカル環境でGitOpsワークフローをシミュレーションする手順は以下の通りです。

リポジトリ構成設計

以下のようなディレクトリ構造を作成します:

マニフェストファイルのベストプラクティス

マニフェストファイルはInfrastructure as Code(IaC)として扱います。以下の例では、DeploymentServiceの基本構成を示します:

重要: マニフェストファイルはYAMLのバージョン管理(例: v1.21)を明記し、変更履歴を追跡する必要があります。


ApplicationSetによる多クラスター管理

複数クラスタで運用する際にはApplicationSetを用いることで、自動的にデプロイ設定を反映できます。

複数クラスタへの自動適用設定

以下のYAMLテンプレートを使用して、GKEとAKSの両方に同じアプリケーションを展開します:

GitOpsとApplicationSetの連携ポイント

  • 同期状態監視: Argo CD UIで各クラスターのSync Stateを確認する
  • ポリシー設定: argocd app getコマンドで設定を検証

落とし穴例: GKE環境では、IngressのDomain設定がクラスタごとに異なる場合、ApplicationSetのデフォルトテンプレートが適用されないことがあります。


Image Updaterの実装ケース

プロダクション環境でのイメージ更新は、Argo CD Image Updaterを用いることで自動化可能です。

自動イメージ更新のワークフロー

  1. Docker Hubに新しいバージョンのイメージをプッシュ
  2. argocd image-updater updateコマンドでリポジトリに変更を反映
  3. Argo CDがGitリポジトリの変更を検知し、デプロイ

セキュリティアップデート時の対応

セキュリティパッチが必要な場合は、以下のようにタグポリシーを設定します:

補足: タグの自動更新はalwaysPull: trueを指定することで、イメージが最新であることを保証できます。


導入時のトラブルシューティング

Argo CDの導入時に発生する問題とその対応策を解説します。

認証エラーの根本原因

以下のケースがよく見られます:

  • KubernetesのRBAC設定不足: kubectl describe clusterrolebindingで権限を確認
  • Argo CD自身のクラスター認証失敗: argocd loginコマンドでリログイン

Sync状態異常の診断手順

  1. Argo CD UIからアプリケーションを選択し、Sync Statusタブを確認
  2. エラーメッセージが表示された場合は、kubectl describe pod -n argocdでPodのログを取得
  3. Kubernetesイベントを確認: kubectl get events -n <namespace>

デバッグテクニック: Argo CD UIのLogsタブでは、同期失敗時の詳細なトレースが表示されます。


記事まとめ

本記事では以下のポイントを網羅しました:

  • GitOpsワークフローの概要とArgo CD v2.7の特性
  • EKS/AKS/GKEごとの導入手順と注意点
  • ApplicationSetによる複数クラスタ管理の実装方法
  • Image Updaterを用いたセキュリティアップデート対応
  • 認証エラー・Sync状態異常などのトラブルシューティング

本記事のステップを元にローカル環境でGitOpsワークフローを構築してみましょう

スポンサードリンク

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

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

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

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

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

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

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

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

Beyond Careerに無料相談する

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


-ArgoCD