透過 Connect Gateway 連線至已註冊的叢集

Google Cloud 中的機群是 Kubernetes 叢集和其他資源的邏輯群組,可透過向 Google Cloud註冊叢集來建立,並統一管理。Connect 閘道以機群功能為基礎,讓 GKE Enterprise 使用者以簡單、一致且安全的方式,連線至機群成員叢集並執行指令,無論叢集位於 Google Cloud、其他公有雲或地端,都能輕鬆自動化所有叢集的 DevOps 程序。

本指南假設您已熟悉一些基本的裝置概念,以及如何向裝置註冊叢集。如未顯示,請參閱機群管理總覽機群建立機制簡介和相關指南。您也應熟悉 Kubernetes 工具和概念,包括 kubectlclient-go (如要將閘道用於自動化目的)、角色型存取控制 (RBAC) 和核心 Kubernetes 資源。

根據預設,Connect 閘道會使用您的 Google ID 向叢集進行驗證,並支援使用員工身分聯盟的第三方識別資訊提供者,以及透過 GKE Identity Service 支援以群組為基礎的驗證。如要進一步瞭解 GKE Identity Service,或將其做為獨立的第三方驗證選項,請參閱「推出 GKE Identity Service」。

為什麼要使用 Connect Gateway?

在多個雲端和混合式環境中執行叢集時,管理工作負載會面臨許多挑戰。叢集可能在不同的虛擬私有雲 (VPC) 中執行,並使用不同的身分識別供應商,因此連線、驗證和授權會更加複雜。有時光是找出這些環境中存在的叢集就很困難。

Connect Gateway 可讓您輕鬆執行下列操作:

  • 透過簡單的查詢,探索現有的叢集 (位於 Google Cloud、其他公有雲或地端部署環境),並註冊至機群。
  • 使用與我們在 Google Cloud 控制台中顯示已註冊 GKE 叢集時相同的基礎架構,連線至所需叢集。
  • 使用與 Google Cloud 服務相同的身分驗證
  • 在機群中註冊的所有叢集,都授權一致。

閘道會驗證您的 Google Cloud 身分,並透過 Connect 服務提供叢集 API 伺服器的連線。

您可以使用接受 kubeconfig 的指令列工具 (例如 kubectl),透過閘道直接與叢集互動。您也可以輕鬆搭配建構管道和其他開發運作自動化功能使用閘道。如需相關範例,請參閱「與 Cloud Build 整合」教學課程。

您也可以使用 Connect 服務,透過 Google Cloud 在控制台中的 Google Cloud 身分識別 Google Cloud ,連線至外部註冊的叢集。如要這麼做,請按照「透過 Google Cloud 控制台使用叢集」一文中的指示操作。

運作方式

設定適當的驗證和授權後,一般使用者或服務 (例如 CI/CD 管道) 即可執行下列流程,使用 Connect 閘道。如需更詳細的使用說明,請參閱使用指南

  1. 使用者或服務會使用 Google Cloud CLI 列出 Fleet Membership 資源,藉此探索叢集。

    gcloud container fleet memberships list
    
  2. 使用者或服務會使用 Google Cloud CLI 擷取連線閘道專屬的 kubeconfig,以便連線至所選叢集。

    gcloud container fleet memberships get-credentials membership-name
    

    如果您已熟悉如何搭配使用 gcloud CLI 和 GKE,這與使用帳戶執行 gcloud container clusters get-credentials 類似,可讓您 (如果已獲得授權) 存取專案車隊中註冊及連線的任何叢集。 Google Cloud

  3. 使用者或服務會使用下載的 kubeconfig 檔案,以正常方式執行 kubectlclient-go 指令。

    1. Connect Gateway 會驗證使用者/服務,並檢查授權,確保使用者/服務有權使用 Gateway。
    2. 要求會透過 Connect 服務和 Connect Agent 轉送至對應的 Kubernetes API 伺服器。
    3. Kubernetes API 伺服器會授權要求,這表示 Connect 代理程式必須獲得授權,才能模擬使用者或服務,且使用者或服務必須獲得授權,才能執行所需要求。

Google 群組支援

在上一節所述的標準流程中,系統會根據使用者的個別 ID 授權要求。不過,在許多情況下,根據使用者是否為 Google 群組成員授權,會很有幫助。根據群組成員資格授權,表示您不必為每個帳戶分別設定授權,因此政策管理和稽核作業會更簡單。舉例來說,您可以輕鬆與團隊共用叢集存取權,當有人加入或離開團隊時,不必再手動新增/移除叢集中的個別使用者。透過 GKE Identity Service 進行一些額外設定後,您就能設定 Connect 閘道,取得使用者的 Google 群組成員資格資訊。

如要進一步瞭解這項功能的運作方式和設定方式,請參閱「使用 Google 群組設定 Connect 閘道」。

如要在附加叢集或其他 GKE Enterprise 環境中使用這項功能,請與 Cloud Customer CareConnect 閘道團隊聯絡。

第三方身分支援

除了 Google Workspace 使用者和群組,Connect 閘道也支援使用第三方身分 (例如 Azure Active Directory 和 Okta) 進行授權。透過員工身分聯盟,您可以使用外部身分提供者,透過 Identity and Access Management 驗證工作團隊 (例如員工、合作夥伴和約聘人員等使用者群組) 身分並授權,讓使用者存取Google Cloud Connect 閘道等服務。透過 GKE Identity Service 進行額外設定後,您就能設定 Connect 閘道,取得使用者的第三方群組成員資格資訊。

從 Anthos (GKE Enterprise) 1.13 版起,Connect 閘道的第三方身分識別功能支援 Google Distributed Cloud on VMwareon Bare Metal 部署作業。如果是附加叢集,這項功能適用於 Anthos 1.16 以上版本。

如要進一步瞭解這項功能的運作方式和設定方法,請參閱「使用第三方身分設定 Connect 閘道」。

您也可以完全使用 GKE Identity Service 設定第三方驗證,請按照說明文件中的操作說明進行。

延遲時間

透過閘道傳送要求時,總延遲時間可分為兩部分:從 Connect 閘道服務到 Connect 代理程式的 RTT (往返時間),以及叢集內的要求執行時間。RTT 造成的額外延遲時間為 p95<500 毫秒,p99<1 秒。請注意,大多數 kubectl 指令都會執行一系列不同的要求,每個要求都需要往返一趟,才能向使用者顯示回應。

後續步驟