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 名前空間をプロビジョニングして管理できます。これらのポリシーは、クラスタ内でマルチテナンシーを実装して管理するのに役立ち、アプリケーション チームが独自の構成を安全に管理できるようになります。