Config Sync の概要

このページでは、Google Kubernetes Engine に含まれている GitOps サービスである Config Sync の概要について説明します。

GitOps を普遍的なベスト プラクティスとして採用すると、組織は Kubernetes 構成を大規模に管理できます。Git リポジトリなどの信頼できる一元的な情報源を使用することで、安定性、整合性、セキュリティを向上させることが可能です。

Config Sync は、任意の数のクラスタにわたって構成とポリシーの同期を自動化することで、GitOps の実装を支援します。自動同期により、クラスタのフリートを一元的に管理し、構成のブレを防ぎ、プラットフォーム チームとアプリケーション チームの両方を強化できます。

このページは、GitOps ツールを実装してチームの構成管理を集中化するオペレーターを対象としています。 Google Cloud のコンテンツで使用されている一般的なロールとタスクの例の詳細については、一般的な GKE ユーザーのロールとタスクをご覧ください。

料金

料金については、GKE の料金をご覧ください。

GKE で GitOps に Config Sync を選択する理由

すべての GitOps ツールが安定性や整合性の向上などのメリットをもたらしますが、Config Sync には次のような独自のメリットがあります。

  • GKE や他の Google Cloudプロダクトとの統合: Config Sync には、 Google Cloud コンソール、Terraform、Google Cloud CLI との互換性があります。Config Sync は GKE の機能を拡張し、Policy Controller、Workload Identity Federation for GKE、Cloud Monitoring などのサービスと連携します。組み込みの統合により、GitOps を設定し、オープンソースの代替手段に必要なメンテナンスの手間を軽減できます。

  • 組み込みのオブザーバビリティ: Config Sync には、Google Cloud コンソールにダッシュボードが含まれています。追加の設定は必要ありません。すべてのクラスタと構成の同期ステータスを一元的に表示することや、Google Cloud CLI を使用して調整の問題を確認することが可能です。

  • スケーラブルなマルチクラスタ管理とマルチチーム管理: Config Sync は、一元化されたプラットフォーム管理と委任されたアプリケーション管理の両方に対応するように設計されています。このアーキテクチャは、水平方向と垂直方向にスケーラブルであることがテストされています。これにより、クラスタを大規模に管理し、アプリケーション チームが独自の環境を安全に管理できるようになります。

Config Sync の仕組み

Config Sync は、一元管理された信頼できる情報源を継続的にモニタリングし、クラスタの状態を自動的に調整して一致させます。信頼できる情報源として Git リポジトリ、OCI イメージ、Helm チャートを使用できます。

次の図は、プラットフォーム管理者が中央のポリシーを管理し、3 人のアプリケーション オペレータが独自の名前空間構成を管理する方法の概要を示しています。名前空間の管理構成はすべて同じですが、アプリケーション構成は名前空間ごとに異なります。

複数の構成ファイルを管理する中央管理者と、それぞれが独自の名前空間構成ファイルを管理するアプリ オペレータ。

クラスタの構成

Config Sync では、信頼できる単一の情報源から構成の共通セットとポリシー(Policy Controller の制約など)を作成し、登録済みで接続しているクラスタに一貫した方法で適用できます。

kubectl apply コマンドを手動で実行するのではなく、クラスタのフリート全体にまたがって構成変更をオーケストレートできます。

名前空間の構成

Config Sync を使用して、名前空間でスコープを指定したポリシー(RBAC ロールなど)で Kubernetes 名前空間をプロビジョニングして管理できます。これらのポリシーは、クラスタ内でマルチテナンシーを実装して管理するのに役立ち、アプリケーション チームが独自の構成を安全に管理できるようになります。

次のステップ