Argo CD - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Argo CD

Argo CD は、Kubernetes 用の広く使用されている GitOps 継続的デリバリー (CD) ツールで、いくつかの主要な GitOps 原則に準拠しています。

GitOps のサポート

[面積] ツール機能

宣言型設定

Argo CD は、Git リポジトリに保存されている宣言型設定を使用します。アプリケーションとインフラストラクチャの望ましい状態は、YAML ファイルで定義されます。これらの設定は、デプロイ方法ではなく、デプロイする内容を記述します。

信頼できる単一のソースとしてのバージョン管理システム

Git リポジトリは、システム全体の唯一の信頼できるソースとして機能します。アプリケーションとインフラストラクチャに対するすべての変更は、Git を通じて行われます。これにより、完全な監査証跡と、以前の状態にロールバックできます。

自動同期

Argo CD は Git リポジトリの変更を継続的にモニタリングします。変更が検出されると、クラスターの実際の状態と Git で定義されている目的の状態が自動的に同期されます。これにより、クラスターにリポジトリで説明されている状態が常に反映されます。

Kubernetes ネイティブ

Argo CD は、Kubernetes 環境専用に設計されています。Kubernetes の宣言的な性質とカスタムリソースを活用してアプリケーションを管理します。

自己修復とドリフト検出

Argo CD は、クラスターのライブ状態と Git の希望する状態を定期的に比較します。ドリフト (実際の状態と目的の状態の相違) が検出されると、これらの不一致を自動的に修正できます。

マルチクラスターとマルチテナンシーのサポート

Argo CD は、1 つのインスタンスから複数の Kubernetes クラスターを管理できます。マルチテナンシーをサポートしているため、さまざまなチームがアプリケーションを個別に管理できます。

アプリケーション定義

Argo CD のアプリケーションは、Application CRD (カスタムリソース定義) を使用して定義されます。これにより、デプロイする対象とその方法を定義する Kubernetes ネイティブな方法が可能になります。

デプロイとリリースの分離

Argo CD は、リリースからユーザーへのコードのデプロイを分離します。これは、ブルー/グリーンデプロイや Canary デプロイなどのさまざまなデプロイ戦略を通じて実現されます。

オブザーバビリティと監査可能性

Argo CD は、アプリケーションとクラスターの状態を監視するためのウェブ UI と CLI を提供します。変更とデプロイの明確な監査証跡を提供するために、すべてのアクションがログに記録されます。

セキュリティと RBAC

Argo CD は、Kubernetes ロールベースのアクセスコントロール (RBAC) と統合されています。認証と認可のためのシングルサインオン統合をサポートしています。

プラグ可能なアーキテクチャ

Argo CD は、さまざまなソース管理システム、Helm チャート、Kustomize、およびその他の Kubernetes マニフェスト形式をサポートしています。この柔軟性により、さまざまな環境やワークフローに対応できます。

継続的デリバリー (CD)

Argo CD は継続的デリバリーに焦点を当てていますが、継続的インテグレーション (CI) ツールと統合して、完全な CI/CD パイプラインを作成できます。

これらの GitOps の原則に従うことで、Argo CD は Kubernetes デプロイを管理するための堅牢でスケーラブル、安全な方法を提供します。これにより、システムの運用状態が Git リポジトリで定義されている目的の状態と常に同期され、複雑な Kubernetes 環境での一貫性、信頼性、管理が容易になります。

Argo CD が対処できるシナリオと要件については、このガイドの後半にある「Argo CD のユースケース」を参照してください。Argo CD と Flux の比較については、このガイドの後半にある「特徴の比較」を参照してください。

詳細については、「Argo CD ドキュメント」を参照してください。

アーキテクチャ

次の図は、EKS クラスター内で Argo CD を使用する GitOps 駆動型 CD ワークフローを示しています。詳細については、「Argo CD ドキュメント」を参照してください。

Argo CD アーキテクチャとワークフロー AWS

各パラメータの意味は次のとおりです。

  • ステップ 1: プルリクエスト (PR) マージ。開発者は、Git リポジトリに保存されている Kubernetes マニフェストまたは Helm チャートに変更をコミットします。PR がレビューされ、メインブランチにマージされると、アプリケーションの望ましい状態がソース管理で更新されます。

  • ステップ 2: リポジトリ同期。Argo CD は EKS クラスター内の専用名前空間 (argocd) 内で実行され、設定された Git リポジトリを継続的にモニタリングします。変更を検出すると、最新の更新がプルされ、宣言された状態が調整されます。

  • ステップ 3: ターゲット名前空間へのデプロイ。Argo CD は、Git から必要な状態をクラスター内のライブ状態と比較します。次に、ターゲットワークロード名前空間に必要な変更を適用して、それに応じてアプリケーションをデプロイまたは更新します。これには、デプロイ、サービス、ConfigMaps、シークレットなどの Kubernetes リソースを管理し、Git の信頼できるソースとのクラスターの一貫性を維持することが含まれます。