概要
Argo CD とは、Kubernetes 向けの宣言型継続的デリバリー (CD) ツールです。CD 手法の GitOps に対応するツールでもあり、スタンドアロンのツールとしても、必要なリソースをクラスタにデリバリーする CI/CD ワークフローの一部としても使用できます。
GitOps に合わせてインフラストラクチャとアプリケーションの構成を管理するためには、Git リポジトリが信頼できる唯一の情報源でなければなりません。システムの望ましい状態はバージョン管理され、宣言的に記述され、自動的に引き出される必要があります。そこで役立つのが Argo CD です。
GitOps と Argo CD を開発運用に導入する方法について、上記の動画 (Red Hat CTO の Chris Wright と Intuit の Ed Lee 氏の対話) をご覧ください。
OpenShift で Argo CD を使う理由
Red Hat® OpenShift® では、Argo CD を実装して Git リポジトリ (信頼できる情報源) から OpenShift クラスタにグローバルなカスタムリソースを提供できます。そうしたリソースにはアプリケーション定義、構成、および環境のターゲット状態などがあり、これを Argo CD でバージョン管理することもできます。
Argo CD を使用してこれらのリソースを継続的に提供することで、アプリケーションと目標とする状態との同期が崩れないようにすることができます。
模範的なアーキテクチャでは、Argo CD がアプリケーションコントローラーとして機能し、クラスタ管理者によって定義されたパラメーターについて Git リポジトリとアプリケーションの間で継続的にチェックを行います。
Argo CD がアプリケーションの逸脱を防ぐ方法
アプリケーションがライフサイクルイベント (PreSync、Sync、PostSync) のユーザー定義フックの基準を満たしている場合、Argo CD は設定方法に応じてオプションで是正措置を発行できます。これは Argo CD を適用できるさまざまなユースケースのひとつに過ぎません。他にも以下が挙げられます。
- シークレットマネージャーとの同期
- Vault などのシークレットマネージャーと OpenShift のシークレットを同期します。
- 構成ドリフトの検出
- OpenShift GitOps で、クラスタ構成が指定の Git リポジトリと同期していない場合にそれを検出して警告を表示します。
- 1 つのレジストリに複数のクラスタ
- 単一の Git リポジトリで複数の OpenShift クラスタ構成を定義し、選択的にクラスタに適用することで、すべてのクラスタ構成が信頼できる唯一の情報源から得られるようにします。
- クラスタ構成の階層 (継承)
- クラスタ構成の階層 (継承を伴うステージ、プロダクション、アプリケーション・ポートフォリオなど) を Git リポジトリで定義し、単一または複数の Kubernetes クラスタに構成を適用できるようにします。
- 構成のテンプレート化とオーバーライド
- 継承された構成とその値のサブセットをオーバーライドして、構成が適用される特定のクラスタ用に調整できるようにします。
- 継承された構成とその値のサブセットをオーバーライドして、構成が適用される特定のクラスタ用に調整できるようにします。
インタラクティブラボで Auto CD を試用する
Argo CD を実際に操作してみませんか?これらのツールを使ったサンプルアプリケーションのデプロイを体験できる、無料のインタラクティブラボで Auto CD をお試しいただけます。