トップ OSS紹介 Argo CD

Argo CD

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

バージョンアップ情報

Argo CD情報

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という名前はギリシャ神話のアルゴー船から採用されており、そのマスコットは同名のタコの一種をイメージしたものになっています。

Agro 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は、実行中のk8sアプリケーションを継続的に監視しており、現在の状態と、Gitレポジトリの状態を比較するKubernetesコントローラーとして実装されています。現在の状態とGitレポジトリの状態に差がある場合にその違いを視覚化し、自動もしくは手動でアプリケーションの同期を行います。

主な特徴

自動デプロイ

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

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

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

マルチクラスタ対応

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

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フック

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

監査証跡

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

Prometheus対応

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

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

Git上のksonnet/helmのパラメータを上書き可能

同様の機能を提供する商用製品

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

  • Jenkins X
  • FluxCD
  • Spinnaker

動作環境

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

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

Argo CDのライセンス

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

Argo CDの公式サイト

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

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

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

関連OSS

  • Kubernetes
    サポート対象

    Kubernetes

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

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