トップ OSS紹介 Argo CD

Argo CD

サポート対象

NRIのOpenStandiaが提供するArgo CD最新情報

バージョンアップ情報

Argo CD情報

Argo CD情報更新日:2025/04/08

Argo CDとは

Argo CDは、Argoプロジェクトのサブプロジェクトの一つの Kubernetes向けのGitOpsに則ったCD(Continuous Delivery)ツールです。

2017年に始まったArgoプロジェクトは、Argo Workflows、Argo CD、Argo Events、Argo Rolloutsなどのサブプロジェクトを持っており、2020年4月にはCNCF(Cloud Native Computing Foundation)インキュベータープロジェクトになっています。 Argoという名前はギリシャ神話のアルゴー船から採用されており、そのマスコットは同名のタコの一種をイメージしたものになっています。

Argo CDは"CD"という名前のとおり、継続的デリバリーに特化したツールであり、CI(Continuous Integration)の機能はありません。そのため、CIツールは別途他の方法で統合する必要があります。Argo CDでは、目的とするアプリケーションの状態の定義元(マニフェスト)として、Gitリポジトリを使用するというGitOpsパターンに従います。Argo CDでの、Kubernetesマニフェストは標準のYAML/JSON 以外に、KustomizeやHelm chart、ksonnet、Jsonnet等、複数の方法で指定が可能です。
Argo CDでは、Gitリポジトリの状態に合わせて、アプリケーションのデプロイを自動または手動で行うことができます。アプリケーションの構成がGitで管理されているため、特定のブランチやタグの更新に追従が可能です。また、配備されたアプリケーションに何らかの問題があった場合にも、特定のコミットバージョンに即座に戻したりすることが可能です。
Argo CDは、実行中のKubernetesアプリケーションを継続的に監視しており、現在の状態と、Gitリポジトリの状態を比較するKubernetesコントローラーとして実装されています。現在の状態とGitリポジトリの状態に差がある場合にその違いを視覚化し、自動もしくは手動でアプリケーションの同期を行います。

主な特徴

自動デプロイ

指定された環境へアプリケーションを自動的にデプロイ

設定管理/テンプレートツールのサポート

Kustomize、Helm、ksonnet、Jsonnet、plain-YAMLなどをサポート

マルチクラスター対応

複数のKubernetesクラスターを管理、デプロイ可能

SSO統合

OIDC、OAuth2、LDAP、SAML 2.0、GitHub、GitLab、Microsoft、LinkedInとのSSO統合可能

認可機能

マルチテナントやRBACポリシーに対応

ロールバック

Gitリポジトリ上にコミットされたアプリケーションのどの時点へもロールバックが可能

ヘルスチェック

アプリケーションリソースのヘルスステータス分析が可能

ドリフト検知および可視化

設定のドリフト検知および可視化を自動で行うことが可能

アプリケーション同期

自動もしくは、手動で理想とする状態に同期可能

Web UI

アプリケーションのアクティビティをリアルタイムビューで提供

CLI

自動化およびCI 統合のためのCLIを提供

Webhook統合

GitHub、BitBucket、GitLabなどのWebhook統合に対応

自動化トークン

自動化のためのアクセストークンをプロジェクト単位で発行

PreSync/Sync/PostSync hooks

複雑なアプリケーション展開をサポートするためのPreSync/Sync/PostSync hooksに対応(ブルーグリーン・デプロイメントや、カナリーリリース等)

監査証跡

アプリケーションイベントや、APIコールの監査が可能

Prometheus対応

Prometheusメトリックスを標準でサポート

パラメータオーバーライド

Git上のHelmのパラメータを上書き可能

メリット・デメリット

メリット・必要性

  • 自動同期と継続的デリバリー
    Gitリポジトリの変更を検出し、Kubernetesクラスターに自動的に適用することにより、手動デプロイによるヒューマンエラーを削減することができます。
  • 複数環境管理の効率化
    開発、ステージング、本番など複数環境の一元管理をでき、環境間の構成の一貫性を確保することができます。
  • ロールバックの簡素化
    問題発生時に以前の状態への素早くロールバックすることができます。

デメリット・注意点・課題

  • 初期設定の複雑さ
    適切なGitリポジトリ構造の設計が必要であり、特に複数環境・複数クラスターの構成設計にはある程度の経験が必要となります。
  • 追加インフラコスト
    Argo CD自体をKubernetesクラスター上で実行するために追加のリソースが必要となります。特に高可用性構成にする場合はさらに多くのリソースを必要とします。

類似プロダクト

Kubernetes / GitOpsに対応した類似のオープンソースのCDツールとしては以下のものがあります。

  • Jenkins X
  • FluxCD
  • Spinnaker

ユースケース

  • マイクロサービスのCI/CD
    マイクロサービスアーキテクチャでは、複数のサービスを並行してデプロイする必要がありますが、
    Argo CDを使うことで、各サービスのデプロイ状態を Gitで管理し、一貫性を維持することができます。
  • 複数の Kubernetes クラスターの一元管理
    複数のKubernetesクラスター(リージョン別、本番・開発環境など)を統一的に管理することができ、各クラスターの設定をGitに保存し、Argo CDが自動で適用・同期することができます。

動作環境

Argo CDは、Kubernetesのコンポーネントとして動作するため、オンプレミスもしくは、クラウド上のKubernetes環境で動作します。

  • オンプレミス/クラウドに独自に構築したKubernetes環境
  • クラウドのマネージドサービスのKubernetes環境

Argo CDのライセンス

Argo CDのライセンスは、「Apacheライセンスバージョン2」(Apache License version2)というライセンスに基づいて公開され、営利、非営利を問わず、誰でも自由かつ無償で利用・改変・再配布できるようになっています。

製品ダウンロード

オープンソース年間サポートサービス

OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。

お気軽にお問い合わせください

関連OSS

  • Kubernetes
    サポート対象

    Kubernetes

    クーバネティス。Dockerをはじめとするコンテナ化されたアプリケーションの展開、スケーリング、管理を行うオープンソースのプラットフォームです。

オープンソースに関するさまざまな課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。