透過 Connect Gateway 連線至已註冊的叢集
Google Cloud 中的機群是 Kubernetes 叢集和其他資源的邏輯群組,可透過向 Google Cloud註冊叢集來建立,並統一管理。Connect 閘道以機群功能為基礎,讓 GKE Enterprise 使用者以簡單、一致且安全的方式,連線至機群成員叢集並執行指令,無論叢集位於 Google Cloud、其他公有雲或地端,都能輕鬆自動化所有叢集的 DevOps 程序。
本指南假設您已熟悉一些基本的裝置概念,以及如何向裝置註冊叢集。如未顯示,請參閱機群管理總覽、機群建立機制簡介和相關指南。您也應熟悉 Kubernetes 工具和概念,包括 kubectl
、client-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 閘道。如需更詳細的使用說明,請參閱使用指南。
使用者或服務會使用 Google Cloud CLI 列出 Fleet Membership 資源,藉此探索叢集。
gcloud container fleet memberships list
使用者或服務會使用 Google Cloud CLI 擷取連線閘道專屬的
kubeconfig
,以便連線至所選叢集。gcloud container fleet memberships get-credentials membership-name
如果您已熟悉如何搭配使用 gcloud CLI 和 GKE,這與使用帳戶執行
gcloud container clusters get-credentials
類似,可讓您 (如果已獲得授權) 存取專案車隊中註冊及連線的任何叢集。 Google Cloud使用者或服務會使用下載的
kubeconfig
檔案,以正常方式執行kubectl
或client-go
指令。- Connect Gateway 會驗證使用者/服務,並檢查授權,確保使用者/服務有權使用 Gateway。
- 要求會透過 Connect 服務和 Connect Agent 轉送至對應的 Kubernetes API 伺服器。
- Kubernetes API 伺服器會授權要求,這表示 Connect 代理程式必須獲得授權,才能模擬使用者或服務,且使用者或服務必須獲得授權,才能執行所需要求。
Google 群組支援
在上一節所述的標準流程中,系統會根據使用者的個別 ID 授權要求。不過,在許多情況下,根據使用者是否為 Google 群組成員授權,會很有幫助。根據群組成員資格授權,表示您不必為每個帳戶分別設定授權,因此政策管理和稽核作業會更簡單。舉例來說,您可以輕鬆與團隊共用叢集存取權,當有人加入或離開團隊時,不必再手動新增/移除叢集中的個別使用者。透過 GKE Identity Service 進行一些額外設定後,您就能設定 Connect 閘道,取得使用者的 Google 群組成員資格資訊。
如要進一步瞭解這項功能的運作方式和設定方式,請參閱「使用 Google 群組設定 Connect 閘道」。
如要在附加叢集或其他 GKE Enterprise 環境中使用這項功能,請與 Cloud Customer Care 或 Connect 閘道團隊聯絡。
第三方身分支援
除了 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 VMware 和 on Bare Metal 部署作業。如果是附加叢集,這項功能適用於 Anthos 1.16 以上版本。
如要進一步瞭解這項功能的運作方式和設定方法,請參閱「使用第三方身分設定 Connect 閘道」。
您也可以完全使用 GKE Identity Service 設定第三方驗證,請按照說明文件中的操作說明進行。
延遲時間
透過閘道傳送要求時,總延遲時間可分為兩部分:從 Connect 閘道服務到 Connect 代理程式的 RTT (往返時間),以及叢集內的要求執行時間。RTT 造成的額外延遲時間為 p95<500 毫秒,p99<1 秒。請注意,大多數 kubectl
指令都會執行一系列不同的要求,每個要求都需要往返一趟,才能向使用者顯示回應。
後續步驟
- 瞭解如何為使用者和服務帳戶設定 Connect 閘道
- 瞭解如何設定 Connect Gateway 的 Google 網路論壇支援。
- 瞭解如何使用 Connect Gateway 連線至已註冊的叢集並執行指令
- 如需如何將 Connect 閘道納入 DevOps 自動化程序中的範例,請參閱「與 Cloud Build 整合」教學課程。