Config Sync の概要

Config Sync は、Google Kubernetes Engine(GKE)に含まれる GitOps サービスです。Git リポジトリなどの信頼できる一元的な情報源から、Kubernetes クラスタ間で構成とポリシーを自動的に同期します。自動同期により、クラスタのフリートを一元的に管理し、構成のブレを防ぎ、プラットフォーム チームとアプリケーション チームの両方の安定性とセキュリティを向上させることができます。

このドキュメントは、チームの構成管理を集中化するオペレーターを対象としています。

Config Sync のメリット

Config Sync には、Kubernetes クラスタの管理に次のような GitOps の主な利点があります。

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

Config Sync の仕組み

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

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

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

クラスタの構成

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

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

名前空間の構成

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

次のステップ