Argo CD とは

URL をコピー

Argo CD とは、Kubernetes 向けの宣言型継続的デリバリー (CD) ツールです。CD 手法の GitOps に対応するツールでもあり、スタンドアロンのツールとしても、必要なリソースをクラスタにデリバリーする CI/CD ワークフローの一部としても使用できます。

GitOps に合わせてインフラストラクチャとアプリケーションの構成を管理するためには、Git リポジトリが信頼できる唯一の情報源でなければなりません。システムの望ましい状態はバージョン管理され、宣言的に記述され、自動的に引き出される必要があります。そこで役立つのが Argo CD です。 
 

GitOps と Argo CD を開発運用に導入する方法について、上記の動画 (Red Hat CTO の Chris Wright と Intuit の Ed Lee 氏の対話) をご覧ください。

Red Hat® OpenShift® では、Argo CD を実装して Git リポジトリ (信頼できる情報源) から OpenShift クラスタにグローバルなカスタムリソースを提供できます。そうしたリソースにはアプリケーション定義、構成、および環境のターゲット状態などがあり、これを Argo CD でバージョン管理することもできます。

Argo CD を使用してこれらのリソースを継続的に提供することで、アプリケーションと目標とする状態との同期が崩れないようにすることができます。 

模範的なアーキテクチャでは、Argo CD がアプリケーションコントローラーとして機能し、クラスタ管理者によって定義されたパラメーターについて Git リポジトリとアプリケーションの間で継続的にチェックを行います。 
 

Red Hat のリソース

アプリケーションがライフサイクルイベント (PreSync、Sync、PostSync) のユーザー定義フックの基準を満たしている場合、Argo CD は設定方法に応じてオプションで是正措置を発行できます。これは Argo CD を適用できるさまざまなユースケースのひとつに過ぎません。他にも以下が挙げられます。

  • シークレットマネージャーとの同期
    • Vault などのシークレットマネージャーと OpenShift のシークレットを同期します。
  • 構成ドリフトの検出
    • OpenShift GitOps で、クラスタ構成が指定の Git リポジトリと同期していない場合にそれを検出して警告を表示します。
  • 1 つのレジストリに複数のクラスタ
    • 単一の Git リポジトリで複数の OpenShift クラスタ構成を定義し、選択的にクラスタに適用することで、すべてのクラスタ構成が信頼できる唯一の情報源から得られるようにします。
  • クラスタ構成の階層 (継承)
    • クラスタ構成の階層 (継承を伴うステージ、プロダクション、アプリケーション・ポートフォリオなど) を Git リポジトリで定義し、単一または複数の Kubernetes クラスタに構成を適用できるようにします。
  • 構成のテンプレート化とオーバーライド
    • 継承された構成とその値のサブセットをオーバーライドして、構成が適用される特定のクラスタ用に調整できるようにします。
       

Argo CD を実際に操作してみませんか?これらのツールを使ったサンプルアプリケーションのデプロイを体験できる、無料のインタラクティブラボで Auto CD をお試しいただけます。

インタラクティブラボを試す

製品

OpenShift GitOps

OpenShift GitOps を使用すると、宣言型の Git 駆動型 CD ワークフローを構築して、アプリケーション開発プラットフォームに直接統合できます。

すべての Red Hat 製品のトライアル

Red Hat の無料トライアルは、Red Hat 製品をハンズオンでお試しいただける無料体験版です。認定の取得に向けた準備をしたり、製品が組織に適しているかどうかを評価したりするのに役立ちます。

関連情報

InstructLab とは?をわかりやすく解説

InstructLab は、IBM ResearchとRed Hatが開発したオープンソース・プロジェクト。大規模言語モデル(LLM)を効率的にチューニングし、強化するためのプラットフォームです。

Apache Kafka とは?をわかりやすく解説

Apache Kafka は、分散データ・ストリーミング・プラットフォームであり、複数のソースから大規模なストリーミングデータをリアルタイムで取り込んで処理し、配信します。

Docker とは?をわかりやすく解説

Docker は、オープンソースのコンテナ技術。複数の環境間で軽量なコンテナを作成し、その仮想環境でのアプリケーションの迅速なデプロイ、スケール、管理を可能にします。

オープンソースリソース

関連記事