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