Google Cloud の外部のクラスタをフリートに登録すると、Google Cloud は Connect Agent と呼ばれる Deployment を使用してクラスタと Google Cloud プロジェクト間の接続を確立し、Kubernetes リクエストを処理します。 Google Cloud で実行されている GKE クラスタの接続を確立するのに Connect Agent は必要ありません。
これにより、クラスタと、統合されたユーザー インターフェースである Google Cloud コンソールをはじめとする Google Cloud のワークロード管理機能にアクセスして、クラスタを操作できます。
ネットワークが送信リクエストを許可するように構成されている場合は、NAT、下りプロキシ、ファイアウォールを通過するように Connect Agent を構成して、クラスタの Kubernetes API サーバーと Google Cloud プロジェクト間に長期にわたる暗号化接続を確立できます。この接続を有効にすると、独自の認証情報を使用してクラスタに再度ログインし、Kubernetes リソースの詳細情報にアクセスできるようになります。これにより、通常は GKE クラスタでのみ使用可能な UI エクスペリエンスを効率的に複製できます。
接続が確立されると、Connect Agent のソフトウェアは、アカウント認証情報、技術的な詳細情報、およびメタデータと、Google Cloud での管理に必要な接続されたインフラストラクチャとワークロード(リソース、アプリケーション、ハードウェアの詳細情報など)に関するメタデータを交換できます。
このクラスタ サービスのデータは、Google Cloud プロジェクトとアカウントに関連付けられています。Google では、このデータを使用してクラスタと Google Cloud の間のコントロール プレーンを維持し、利用促進に関するサポート、課金、更新版の提供など、リクエストをいただいた Google Cloud のサービスと機能を提供しているほか、Connect を通じてご利用いただける Connect および Google Cloud サービスの信頼性、品質、容量、機能の測定と改善を行っています。
ユーザーの Kubernetes API サーバーが、Connect を通してすべてのリクエストの認証、認可、監査ロギングを行うことで、Connect を通して送信されるデータの内容を継続的に管理できます。Google とユーザーは、クラスタ管理者から(たとえば RBAC 経由で)認可された後、データまたは API にアクセスできます。クラスタ管理者はこの認可を取り消すことができます。
Connect の IAM ロール
Identity and Access Management(IAM)によって、ユーザー、グループ、サービス アカウントは Google Cloud APIs にアクセスし、Google Cloud サービス内でタスクを実行できます。
Connect Agent を起動し Google Cloud コンソールまたは Google Cloud CLI を使用してクラスタを操作するには、特定の IAM ロールを指定する必要があります。これらのロールは、接続されたクラスタに直接アクセスすることを許可しません。 Google Cloud コンソールからクラスタにログインする方法について詳しくは、Google Cloud コンソールからのクラスタの操作をご覧ください。
このような役割のいくつかを使用すると、以下を含めて、クラスタに関する情報にアクセスできます。
- クラスタ名
- 公開鍵
- IP アドレス
- ID プロバイダ
- Kubernetes バージョン
- クラスタサイズ
- その他のクラスタ メタデータ
Connect は、次の IAM ロールを使用します。
役割名 | 役割のタイトル | 説明 | 権限 |
---|---|---|---|
roles/gkehub.editor |
ハブ編集者 | GKE Hub リソースに対する編集アクセス権を付与します。 |
Google Cloud の権限
ハブの権限
|
roles/gkehub.viewer |
ハブ閲覧者 | ハブと関連リソースに対する読み取り専用アクセス権を付与します。 |
Google Cloud の権限
ハブの権限
|
roles/gkehub.connect |
GKE Connect エージェント | 外部クラスタと Google の間に新しい接続を確立する機能を提供します。 | gkehub.endpoints.connect |
リソースの使用率と要件
通常、登録時にインストールされた Connect エージェントは、500m の CPU と 200Mi のメモリを使用します。ただし、この使用量は、そのエージェントに対する 1 秒間のリクエストの数と、そのリクエストのサイズによって異なることがあります。この使用量は、クラスタのサイズ、Google Cloud コンソール経由でクラスタにアクセスするユーザー数(超過したユーザーやワークロード、超過したリクエスト)、クラスタのフリート対応機能の数など、多くの要因から影響を受ける可能性があります。