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 経由)、GKE Connect 経由でデータまたは API にアクセスできます。クラスタ管理者はその承認を取り消すことができます。
IAM ロールを接続する
Identity and Access Management(IAM)を使用することで、ユーザー、グループ、サービス アカウントは Google Cloud API にアクセスし、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 コンソール経由でクラスタにアクセスするユーザー数(超過したユーザーやワークロード、超過したリクエスト)、クラスタのフリート対応機能の数など、多くの要因から影響を受ける可能性があります。