このページでは、Config Connector のインストール時に使用できるさまざまなインストール オプションの概要を示します。
インストール方法
Config Connector は、次の 3 つのうちのいずれかの方法でインストールできます。
Config Controller: Config Controller は、Config Connector を含むホスト型サービスです。Config Controller の Config Connector バージョンは Google によって管理され、バージョンが認定されると定期的に自動的に更新されます。詳細については、クイックスタート: Config Controller でリソースを管理するまたは Config Controller を設定するをご覧ください。
手動インストール: Config Connector を手動でインストールするには、Kubernetes Operator をダウンロードして使用する必要があります。手動インストールでは、適用するバージョンとアップグレードのタイミングを柔軟に設定できます。他の Kubernetes ディストリビューションに Config Connector をインストールする場合は、手動インストールを使用する必要があります。
GKE Config Connector アドオン: Config Connector アドオンを使用すると、クラスタ作成中に Config Connector をインストールできます。Config Connector アドオンは GKE Standard クラスタでのみ使用でき、Autopilot では使用できません。Config Connector アドオンを介してインストールされた Config Connector のバージョンは、常に最新の GKE マイナー バージョンを使用していない場合、他の 2 つのオプションよりも大幅に遅れる(最大 12 か月)可能性があります。詳細については、Config Connector アドオンのアップグレードをご覧ください。GKE Standard クラスタの管理にかかる運用コストを削減するには、Config Controller の使用を検討してください。
インストール方法を選択する際には、多くの要素を考慮する必要があります。次の表に、考慮事項をまとめます。
インストール方法 | 利点 | 欠点 |
---|---|---|
Config Controller | • インストールは不要です。 • バージョンの自動アップグレード。 • ビルド済みの GitOps コンポーネント(Config Sync)が含まれます。 • Google Cloud で管理、サポートされています。 |
• カスタム ワークロードの制限。 • 管理とクラスタの料金。 |
手動インストール | • 自由にカスタマイズ可能。 • 柔軟なバージョン更新スケジュール。 • 同じクラスタ内の任意のカスタム ワークロードで実行できる。 |
• 運用費用 |
GKE Config Connector アドオン | • 設置しやすさ。 | • Rapid 以外のチャネルで最新バージョンの Config Connector に大幅な遅延が発生しています。 |
認証のオプション
Config Connector を GKE クラスタにインストールする場合は、Workload Identity を使用する方法をおすすめします。Workload Identity は、Kubernetes サービス アカウントを Google サービス アカウントにバインドします。次に、Config Connector はクラスタ内の Kubernetes サービス アカウント(KSA)を使用して新しいリソースを作成します。Config Connector は、Google サービス アカウントに付与したロールを持つリソースのみを作成できます。
他の Kubernetes ディストリビューションに Config Connector をインストールする場合は、Workload Identity ではなく Cloud Identity を使用する必要があります。このオプションでは、Google サービス アカウントキーを作成し、そのキーの認証情報を Secret としてクラスタにインポートする必要があります。必要に応じてキーの認証情報をローテーションする責任は、お客様にあります。
サービス アカウントによるリソースの管理
リソースは単一のサービス アカウントで管理することも、複数のサービス アカウントで管理することもできます。
単一のサービス アカウント
Config Connector を GKE アドオンまたは手動インストールとともにインストールする場合は、ConfigConnector
CustomResource でクラスタモードを設定できます。クラスタモードでは、Config Connector を使用して複数のプロジェクトを管理している場合でも、単一の Google サービス アカウントを使用してリソースを作成、管理できます。
次の図に、このモードの仕組みを示します。
複数のサービス アカウント
複数のサービス アカウントを使用するには、ConfigConnector
CustomResource に名前空間モードを設定します。名前空間モードを使用すると、Google サービス アカウントの異なる懸念事項に基づいて権限を分割し、異なる Kubernetes Namespace 間で権限を分離できます。これにより、名前空間ごとに異なる Google サービス アカウントを関連付けることができます。
たとえば、Google Cloud プロジェクトごとに 1 つの Google サービス アカウントを作成し、同じ Kubernetes Namespace 内の Google Cloud プロジェクトのリソースを整理して、対応する Google サービス アカウントを Kubernetes Namespace にバインドすることで、IAM 権限を区別し、関連性を持たせることはできません。
次の図は、Namespace が指定されたモードの仕組みの概要を示しています。
Namespace が指定されたモードでは、各 Google サービス アカウントはデフォルトで Namespace にバインドされます。その Namespace 内にリソースを作成すると、Config Connector はこのサービス アカウントを使用して Google Cloud リソースを作成します。 また、Namespace に関連付けられた専用の Google サービス アカウントの権限を借用する Namespace ごとに、専用の Config Connector cnrm-controller-manager
Pod もあります。
次の場合は、Namespace が指定されたモードを選択してください。
- Kubernetes Namespace レベルで Google Cloud IAM 権限を分離する。
- 単一のクラスタ上の複数の Google Cloud プロジェクトから、多数の Google Cloud リソースを管理することが想定されます。
Namespace が指定されたモードを構成する方法については、Namespace が指定されたモードを使用した Config Connector のインストールをご覧ください。
次のステップ
- Identity and Access Management サービス アカウントについて確認する。
- Config Controller を使用して Google Cloud リソースを管理する方法を確認する。
- Config Connector を手動でインストールする方法を確認する。
- Config Connector を GKE アドオンとしてインストールする方法を確認する。
- 他の Kubernetes ディストリビューションに Config Connector をインストールする方法を学習する。