Config Sync の概要

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

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

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

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

料金

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

Config Sync のメリット

Config Sync は、Kubernetes クラスタの管理に次の主な GitOps のメリットをもたらします。

  • 環境間の整合性: Git リポジトリなどの信頼できる一元的な情報源を使用することで、クラスタ構成とポリシーがすべての環境で安定して一貫性を保つことができます。
  • 自動調整: Config Sync は、信頼できる情報源を継続的にモニタリングし、クラスタの状態を自動的に調整して一致させます。これにより、構成のドリフトを防ぎ、手動による作業を削減できます。
  • バージョン管理された構成: Kubernetes マニフェストを Git に保存すると、ピアレビュー、監査証跡、簡単なロールバックなどの標準のバージョン管理ワークフローを活用できます。

Config Sync の仕組み

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

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

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

クラスタの構成

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

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

名前空間の構成

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

次のステップ