GitOps では、Git リポジトリを Kubernetes クラスターへのアプリケーションデプロイにおける唯一の信頼できる情報源(Single Source of Truth)として活用します。ACK One は、Fleet インスタンスに Argo CD を統合することで、複数のクラスターにまたがる GitOps ベースの継続的デプロイメントを実現します。ユーザーによる Argo CD のインストール、設定、またはメンテナンスは不要です。
GitOps とは
GitOps ワークフローでは、Kubernetes クラスター上のアプリケーションが Git リポジトリを介してのみデプロイされます。Argo CD は、各クラスターの実際の状態を、ソースとなる Git リポジトリに定義された望ましい状態と継続的に照合し、発生したドリフトを自動的に修正します。
メリット
GitOps は、プラットフォームエンジニアおよびアプリケーションチーム双方が直面する課題に対応します:
学習コストの低さ:Git は習得および統合が容易です。
監査トレイルとロールバック:すべての構成変更は Git コミットとして記録されます。数秒で任意の以前の状態へロールバックできます。
クラスター権限を必要としない開発者アクセス:開発者はクラスターではなく Git へプッシュします。クラスターの認証情報はプラットフォームチームが管理します。
継続的デプロイメント:Argo CD はソース Git リポジトリ内の変更を検出し、対象クラスターへ自動適用します。手動での
kubectl applyステップが不要になります。
GitOps の仕組み
ACK One GitOps
ACK One は、オープンソースの Argo CD を Fleet インスタンスに統合しています。Argo CD は Kubernetes コントローラーとして動作し、アプリケーションを継続的にモニターするとともに、そのソース Git リポジトリと同期します。
メリット
Argo CD の運用不要:ACK One が Argo CD のインストール、スペックアップ、スケーリングを自動的に実行します。お客様のチームはアプリケーションの提供に集中でき、ツールのメンテナンスから解放されます。
ネイティブな Argo CD 体験:自己管理型 Argo CD と同一のフル機能 CLI および UI にアクセスできます。
統合されたシングルサインオン (SSO) およびアクセスの制御:Alibaba Cloud のシングルサインオン (SSO) およびユーザー単位の権限制御を備えた専用 Argo CD コンソールを提供します。別途 ID 設定を行う必要はありません。
マルチクラスター向けアプリケーションディストリビューション:Fleet インスタンスに関連付けられたクラスターには、Argo CD が自動的に有効化されます。Argo CD ApplicationSet を使用すれば、単一のテンプレートから複数のクラスターへアプリケーションをデプロイ・管理できます。
ACK One GitOps のアーキテクチャ
機能
| 機能 | 説明 | 関連ドキュメント |
|---|---|---|
| GitOps の開始方法 | ACK One の Fleet インスタンスで GitOps を有効化し、マルチクラスター向けアプリケーションをデプロイします | GitOps の開始方法 |
| ユーザー管理 | サポートされるユーザー種別および権限付与方法 | ユーザー管理 |
| GitOps システムへのログイン | GitOps システムへログインします | GitOps システムへのログイン |
| リポジトリ管理 | GitOps システム内で Git リポジトリを追加、削除、表示します | リポジトリ管理 |
| GitOps を使用した ACK クラスターの管理 | GitOps システムを使用して ACK クラスターを管理します | GitOps を使用した ACK クラスターの管理 |
| アプリケーション管理 | GitOps システム内でアプリケーションおよび ApplicationSet を作成・管理します | アプリケーション管理 および ApplicationSet を使用した複数アプリケーションの作成 |