Connect 代理程式總覽

將外部叢集註冊至機群時, Google Cloud 會使用名為 Connect Agent 的 Deployment,在叢集和 Google Cloud專案之間建立連線,並處理 Kubernetes 要求。 Google Cloud 如要為在 Google Cloud中執行的 GKE 叢集建立連線,不需要 Connect Agent。

連線後即可在 Google Cloud中使用叢集和工作負載管理功能,包括運用統合使用者介面 Google Cloud console 與叢集互動。

如果網路設定允許傳出要求,您可以設定讓 Connect Agent 掃遍 NAT、輸出 Proxy 和防火牆,從而在叢集的 Kubernetes API 伺服器和 Google Cloud 專案之間建立長時間有效的連線。啟用這項連線後,您就能使用自己的憑證重新登入叢集,並存取 Kubernetes 資源的詳細資料。這項功能可有效複製 UI 體驗,否則只有 GKE 叢集才能使用。

建立連線後,Connect Agent 軟體就能互換帳戶憑證、技術詳細資料,以及使用 Google Cloud管理連線基礎架構和工作負載所需的中繼資料,包括資源、應用程式及硬體的詳細資料。

此叢集服務資料與您的 Google Cloud 專案和帳戶相關。Google 會使用這項資料,在叢集和 Google Cloud之間維護控制平面,提供您要求的任何 Google Cloud服務和功能,包括協助支援、計費、提供更新,以及評估並提升 Connect 和 Google Cloud 服務的可靠性、品質、容量和功能。

您仍然可以控制透過 Connect 傳送的資料:您的 Kubernetes API 伺服器會針對經由 Connect 提出的所有要求執行驗證授權稽核記錄。Google 和使用者經叢集管理員授權後即可透過 Connect 存取資料或 API (例如透過 RBAC);叢集管理員可以撤銷授權。

連結 IAM 角色

Identity and Access Management (IAM) 可讓使用者、群組和服務帳戶存取 Google Cloud API,並在Google Cloud 產品中執行工作。

您需要提供特定的 IAM 角色,才能啟動 Connect 代理程式,並使用 Google Cloud 控制台或 Google Cloud CLI 與叢集互動。這些角色無法直接存取已連線的叢集。如要進一步瞭解如何從 Google Cloud 控制台登入叢集,請參閱「從 Google Cloud 控制台使用叢集」。

其中部分角色允許您存取叢集相關資訊,其中包括:

  • 叢集名稱
  • 公開金鑰
  • IP 位址
  • 識別資訊提供者
  • Kubernetes 版本
  • 叢集大小
  • 其他叢集中繼資料

Connect 使用下列 IAM 角色:

角色名稱 角色稱號 說明 權限
roles/gkehub.editor Hub 編輯者 提供 GKE Hub 資源的編輯權限。

「 Google Cloud」的權限

  • resourcemanager.projects.get
  • resourcemanager.projects.list

Hub 權限

  • gkehub.memberships.list
  • gkehub.memberships.get
  • gkehub.memberships.create
  • gkehub.memberships.update
  • gkehub.memberships.delete
  • gkehub.memberships.generateConnectManifest
  • gkehub.memberships.getIamPolicy
  • gkehub.locations.list
  • gkehub.locations.get
  • gkehub.operations.list
  • gkehub.operations.get
  • gkehub.operations.cancel
  • gkehub.features.list
  • gkehub.features.get
  • gkehub.features.create
  • gkehub.features.update
  • gkehub.features.delete
  • gkehub.features.getIamPolicy
  • gkehub.fleet.*
  • gkehub.membershipfeatures.list
  • gkehub.membershipfeatures.get
  • gkehub.membershipfeatures.create
  • gkehub.membershipfeatures.update
  • gkehub.membershipfeatures.delete
roles/gkehub.viewer Hub 檢視者 提供 Hub 和相關資源的唯讀存取權。

「 Google Cloud」的權限

  • resourcemanager.projects.get
  • resourcemanager.projects.list

Hub 權限

  • gkehub.memberships.list
  • gkehub.memberships.get
  • gkehub.memberships.generateConnectManifest
  • gkehub.memberships.getIamPolicy
  • gkehub.locations.list
  • gkehub.locations.get
  • gkehub.operations.list
  • gkehub.operations.get
  • gkehub.features.list
  • gkehub.features.get
  • gkehub.features.getIamPolicy
  • gkehub.membershipfeatures.list
  • gkehub.membershipfeatures.get
roles/gkehub.connect GKE Connect 代理人 提供在外部叢集和 Google 之間建立新連線的能力。 gkehub.endpoints.connect

資源使用情況和需求

通常在註冊時安裝的 Connect 代理程式會使用 500m 的 CPU 和 200Mi 的記憶體。不過,實際用量會因每秒向虛擬服務專員提出的要求數量和大小而異。這些因素會受到許多因素影響,包括叢集大小、透過 Google Cloud 控制台存取叢集的使用者人數 (使用者和/或工作負載越多,要求就越多),以及叢集上的啟用 Fleet 的功能數量。