Config Connector の概要
Config Connector は、Kubernetes を使用してGoogle Cloud リソースを管理できるオープンソースの Kubernetes アドオンです。
クラウド ネイティブの開発チームの多くは、さまざまな構成システム、API、ツールを使用してインフラストラクチャを管理しています。多くの場合、この組み合わせは理解するのが難しく、速度の低下とコストのかかるミスにつながります。Config Connector には、Kubernetes ツールと API を使用して多数の Google Cloud サービスとリソースを構成するための方法が用意されています。
Config Connector を有効にすると、次のような Kubernetes 管理のリソースを環境で使用できます。
- RBAC でのアクセス制御。
- イベントの可視化。
- 構成のソースを単一化し、目的の状態を管理する複雑性を減らす。
- 疎結合の依存関係による結果整合性。
Google Cloud インフラストラクチャを Kubernetes アプリケーションと同じ方法で管理できるため、デベロッパーの複雑さと認識負荷を軽減できます。
Config Connector の仕組み
Config Connector は、Kubernetes のカスタム リソース定義(CRD)とコントローラのコレクションを提供します。Config Connector CRD を使用すると、オブジェクトを構成してクラスタに適用する際に、Kubernetes で Google Cloud リソースの作成と管理を行うことができます。
Config Connector は、Config Connector CRD が正しく機能するよう、CustomResourceDefinitions(CRD)の作成、削除、取得、一覧表示といった高レベルの RBAC 権限を持つノードに Pod をデプロイします。こうした権限は、Config Connector による Kubernetes リソースの作成と調整に必要です。
オブジェクトを構成してクラスタに適用すると、Config Connector は構成された状態を Google Cloud API と非同期で調整します。調整は、Kubernetes にマニフェスト を送信したユーザーまたはサービス アカウントの ID ではなく、Config Connector IAM サービス アカウントの ID を使用して実行されます。
Config Connector の Namespace(名前空間モード)またはクラスタ(クラスタモード)で Kubernetes リソースを作成する機能により、Config Connector の ID を使用してクラウド リソースを変更する権限が付与されます。このメカニズムは CI/CD パイプラインに似ています。コードをリポジトリに統合できると、パイプラインの ID を使用してコードをデプロイすることもできます。システムのセキュリティは、信頼できるコード リポジトリから Kubernetes コントローラに Config Connector リソースを適用させるなど、これらのオブジェクトを作成できるユーザーを厳密に制御することに依存します。
このアプローチでは、広範なクラウド アクセス管理の権限を Config Connector に委任し、リポジトリのソース管理を通じて個々のデベロッパーのアクセスを制限します。これは、すべてのデベロッパーにクラウド リソースを直接変更するアクセス権を付与するよりも安全です。
まず、Config Connector をインストールし、最初のリソースを作成します。最終的に Config Connector のコントローラは、環境を目的の状態に調整します。
Config Connector の動作のカスタマイズ
Config Connector は、リソースの作成以外の追加機能も備えています。たとえば、既存の Google Cloud リソースを管理し、Kubernetes Secret を使用して、パスワードなどの機密データをリソースに提供できます。詳しくは、入門ガイドのリストをご覧ください。
Config Connector がカスタム リソースを使用する方法については、Config Connector CRD についてをご覧ください。Config Connector でサポートされている Google Cloud リソースの一覧については、Config Connector リファレンス ドキュメントをご覧ください。
次のステップ
- Config Connector をインストールします。
- 最初の環境を作成することから。始めてみましょう。
- Config Connector のソースコードをご覧ください。Config Connector は GitHub で完全にオープンソース化されています。