GitOps は、Git リポジトリを Kubernetes クラスターへのアプリケーションデプロイの単一のソースとして使用します。ACK One のフリートインスタンスは、継続的な GitOps デリバリーのためにマルチクラスター機能を備えたマネージド型の Argo CD をホストし、高可用性アプリケーションのデプロイとシステムコンポーネントのマルチクラスター配布をサポートします。
GitOps とは
GitOps では、アプリケーションは Git リポジトリを通じてのみ Kubernetes クラスターにデプロイされます。Argo CD は、各クラスターの実際の状態と Git 内の望ましい状態を継続的に調整し、ドリフトを自動的に修正します。
メリット
GitOps は、プラットフォームエンジニアとアプリケーションチームの両方にメリットをもたらします。
-
[学習の容易さ]:Git は容易に学習し、統合できます。
-
監査証跡とロールバック:すべての変更が Git のコミットとして記録されます。数秒で以前の任意の状態にロールバックできます。
-
クラスター権限なしでの開発者アクセス:開発者はクラスターではなく Git にプッシュします。クラスター認証情報はプラットフォームチームが管理します。
-
[継続的デプロイメント]:Argo CD が Git の変更を検出し、ターゲットクラスターに適用するため、手動での
kubectl applyの手順が不要になります。
GitOps の仕組み
ACK One GitOps
ACK One は、オープンソースの Argo CD をフリートインスタンスに統合します。Kubernetes コントローラーとして、Argo CD はアプリケーションを継続的に監視し、ソース Git リポジトリと同期します。
メリット
-
Argo CD の運用不要:ACK One が Argo CD のインストール、アップグレード、スケーリングを自動的に行います。
-
ネイティブな Argo CD 体験:セルフマネージド型の Argo CD と同様に、CLI と UI に完全にアクセスできます。
-
統合された SSO とアクセス制御:Alibaba Cloud のシングルサインオン (SSO) とユーザーごとのアクセス制御を備えた、専用の Argo CD コンソールを提供します。
-
マルチクラスターでのアプリケーション配布:Argo CD は、フリートインスタンスに関連付けられたクラスターで自動的に有効化されます。ApplicationSet を使用すると、単一のテンプレートから複数のクラスターにまたがるアプリケーションをデプロイおよび管理できます。
ACK One GitOps のアーキテクチャ
機能
| 機能 | 説明 | 関連ドキュメント |
|---|---|---|
| GitOps の開始 | ACK One のフリートインスタンスで GitOps を有効化し、マルチクラスターアプリケーションをデプロイします | GitOps の開始 |
| ユーザー管理 | サポートされているユーザータイプと権限の付与方法 | ユーザー管理 |
| GitOps システムへのログオン | GitOps システムにログオンします | GitOps システムへのログオン |
| リポジトリ管理 | GitOps システムで Git リポジトリを管理します | リポジトリ管理 |
| GitOps を使用した ACK クラスターの管理 | GitOps システムを通じて ACK クラスターを管理します | GitOps を使用した ACK クラスターの管理 |
| アプリケーション管理 | GitOps システムでアプリケーションと ApplicationSet を管理します | アプリケーション管理 と ApplicationSet を使用した複数アプリケーションの作成 |