Config Controller の概要

Config Controller は、Anthos リソースと Google Cloud リソースのプロビジョニングとオーケストレーションを行うホスト型サービスです。Anthos Config Management の一部として Google Cloud リソースのプロビジョニング、有効化、オーケストレーションを行うための API エンドポイントを提供します。

Config Controller は Config Connector を使用して必要な Google Cloud API 呼び出しを行い、Kubernetes リソースモデルKRM)のリソースを対応する Google Cloud のリソースにマッピングします。また、Config Sync によって Git リポジトリに接続し、git push と同様に構成の変更を行います。付属の Policy Controller を使用すると、リソース構成にセキュリティとコンプライアンスを適用するカスタム ポリシーを作成できます。次の図に、Config Controller の仕組みを示します。

画像

Config Controller では、Kubernetes スタイルのシンプルな宣言型の構成を定義して使用できます。この構成方法には次のような利点があります。

  • 管理作業の簡素化: Kubernetes のツールとワークフローを使用して、Anthos リソースと Google Cloud リソースを管理します。
  • 望ましい状態を宣言する: リソースの具体的な作成方法ではなく、リソースの状態を記述します。
  • 自動的にずれを検出して修復する: インフラストラクチャの望ましい状態とのずれを継続的にモニタリングし、自動修復を可能にします。
  • GitOps との整合性: 潜在的な変更について同僚と検討し、変更を実施する前にプレビューできます。
  • ポリシー ガードレールを適用する: 開発サイクルの早い段階でポリシーを適用し、デプロイ前に違反を検出できます。
  • 継続的に監査を実施する: インフラストラクチャの変更箇所を把握する目的で使用できるように、すべての変更の監査証跡を保持します。
  • ベスト プラクティスのコード化: 共通のパターンを組織全体に展開できるブループリントとしてコード化します。
  • 速度を向上させる: 既存のベスト プラクティスを再利用することで、クラウドをより安全かつ迅速に導入できます。

Kubernetes ツールでの Anthos と Google Cloud の管理

Config Controller は、既存の Kubernetes ツールと連携して Anthos と Google Cloud のリソースを管理する API エンドポイントを提供します。Kubernetes のワークロードに慣れていれば、ツール、パイプライン、知識を活用して Anthos または Google Cloud のリソースを管理できます。また、Config Controller で kubectl を使用して Google Kubernetes Engine(GKE)クラスタを作成することもできます。

Config Controller に処理をまかせて必要な作業に集中

Config Controller は Kubernetes API サーバーを利用して、KRM で記述された構成を使用します。このモデルでは、リソースの具体的な作成方法ではなく、リソースの望ましい状態を記述します。Config Controller は、望ましい状態に合わせてリソースを調整します。また、継続的なモニタリングにより、ずれの検出と自動修復を行います。Config Controller は Google 側で管理されるため、このようなメリットをすぐに利用できます。

GitOps との整合性

Config Controller には、Git リポジトリに接続する Config Sync が付属しています。Config Sync は、1 つ以上の Git リポジトリに格納されているファイルを使用して、Config Controller の状態を継続的に調整します。この GitOps 戦略により、監査、トランザクション管理、レビュー、バージョン管理が可能なプロセスを使用して、共通構成の管理とデプロイを行うことができます。また、潜在的な変更の可能性について同僚と検討し、実施前にプレビューすることもできます。

ポリシー ガードレールと監査

Config Controller には Policy Controller が含まれています。これにより、リソース構成のセキュリティとコンプライアンスを適用するカスタム ポリシーを作成できます。これらのポリシーを使用すると、ポリシーを遵守していない API リクエストを積極的にブロックできます。また、リソース構成の監査と違反の報告を簡単に行うことができます。

次のステップ