機群建立機制簡介

本頁將概述機群建立作業的運作方式,並詳細說明不同叢集類型。如要進一步瞭解如何手動將叢集註冊至機群,以及手動註冊的先決條件,請參閱機群建立詳細指南

您可以透過下列任一方式建立車隊:

  • 註冊叢集:在沒有機群的專案中註冊任何類型的叢集時,系統會建立新的機群,而該專案會成為機群主機專案。一個專案最多只能有一個車隊。視叢集類型和所在位置而定,您可以在建立叢集時,透過叢集設定中指定的註冊詳細資料自動註冊叢集,也可以手動將叢集新增至機群。
  • 建立具名機群:您可以先建立空白機群,再將叢集註冊至該機群。
  • 升級至 Google Kubernetes Engine (GKE) Enterprise 版本:從 Google Cloud 控制台啟用 GKE Enterprise 時,您可以選擇為專案建立機群,並選取專案中的 Google Cloud 叢集向該機群註冊。

每個車隊都有名稱,會顯示在 Google Cloud 控制台中。根據預設,這是機群主專案的專案 ID,並附加 fleet。如要為車隊指定更具描述性的名稱,可以在建立車隊時指定。

關於機群成員

向機群註冊叢集後,該叢集就會成為機群成員。由於機群可以包含多個專案和環境的叢集,因此請務必確保新增至機群的每個叢集都有專屬名稱。在指令和文件中,這有時稱為叢集的機群成員名稱。一般來說,叢集的機群成員名稱就是叢集的正規名稱,但如果機群中已有名稱相同的叢集,您可能需要在註冊時建立新名稱 (例如在原始叢集名稱中附加或前置限定詞)。如果您嘗試向機群註冊叢集,但該叢集名稱已存在,註冊就會失敗。

機群成員位置

每個機群叢集的成員資格都由機群服務管理。視叢集向機群註冊的方式而定,這項服務的位置可以是全球區域

  • 透過 Google Cloud CLI 註冊的 GKE 叢集 Google Cloud ,其成員資格是由與叢集位於相同區域的 Fleet 服務執行個體管理。這可為您建構自己的高可用性服務提供最佳延遲時間,包括使用部分服務的區域執行個體,例如 Connect 閘道。舉例來說,如果基於法規原因,您有資料不得離開特定區域,區域成員資格管理功能也適用於這種情況。您無法選擇從其他區域管理叢集。

  • 透過 Config Connector Google Cloud 註冊的 GKE 叢集可由全域或區域 Fleet 服務管理。

  • 所有其他機群成員都是透過全域機群服務管理。

叢集仍為 Fleet 成員時,您無法變更叢集的成員位置。如果您有具備全域車隊成員資格的 GKE 叢集,並想改為從其所在區域進行管理,請取消註冊叢集,然後使用 gcloud 或 Config Connector 重新向同一車隊註冊。

如要檢查叢集的成員資格位置 (例如做為指令參數使用,或考慮將叢集切換為區域成員資格),請執行下列任一操作:

  • 列出所有機群成員。每個叢集的成員資格位置都會顯示在輸出內容的 LOCATION 欄中。

     gcloud container fleet memberships list \
       --project=PROJECT_ID
    
  • 執行下列指令,describe叢集的成員資格,包括成員資格位置。將 MEMBERSHIP_NAME 替換為叢集的成員名稱。

     gcloud container fleet memberships describe MEMBERSHIP_NAME \
       --project=PROJECT_ID
    

團隊範圍

機群成員叢集可以與機群內的一或多個團隊範圍建立關聯。 團隊範圍是企業機群層級的建構項目,可將機群叢集的子集與特定應用程式團隊建立關聯,並用於啟用一系列以團隊為基礎的功能,包括存取權控管、團隊範圍的可觀測性,以及依序推出叢集升級

GKE 叢集 Google Cloud

您必須明確註冊GKE 叢集,才能將其新增至機群。 Google Cloud 如要註冊現有叢集,您可以選擇從 Google Cloud 控制台的「叢集」頁面快速註冊,也可以使用 gcloud CLI 從指令列註冊,或是使用 Terraform 或 Config Connector 宣告式註冊。您也可以在建立叢集時,使用 Google Cloud 控制台、gcloud CLI 或 Terraform 註冊新叢集。如果您已啟用 GKE Enterprise,即可建立叢集,並預先設定部分機群層級設定和功能。如要進一步瞭解這些選項,請參閱「將叢集註冊到車隊 Google Cloud 」。

Google Cloud 上的叢集可以註冊至目前專案的機群,也可以 (具備額外權限) 註冊至其他專案的機群。

外部叢集 Google Cloud

如果您已啟用 GKE Enterprise,可以將外部叢集 Google Cloud 加入機群,並集中查看及管理不同環境中的叢集。如本節其餘內容所述,外部 GKE 叢集 Google Cloud 大多會在建立叢集時自動註冊至機群。如要將第三方 Kubernetes 叢集新增至機群,請手動註冊

註冊外部叢集 Google Cloud 會在叢集上安裝 Connect 代理程式,以處理叢集與專案之間的通訊 Google Cloud 。如要進一步瞭解 Connect Agent 的運作方式,請參閱 Connect Agent 總覽

Google Distributed Cloud (地端)

建立叢集時,系統會自動將 on VMwareon bare metal 的地端 GKE 叢集註冊至所選機群,並在相關叢集設定檔中指定機群主機專案和其他註冊詳細資料。如果您使用 VMware 上的 Google Distributed Cloud,請注意,從 1.13 版起,管理員叢集使用者叢集 都必須註冊。如果是 1.13 之前的版本,您可以選擇將註冊詳細資料新增至管理員叢集設定,以便將這些叢集納入機群管理。如要註冊未註冊的管理員叢集,請更新叢集設定檔,然後使用 gkectl更新叢集。無法取消註冊地端 GKE 叢集,也無法手動註冊 (未註冊的管理員叢集除外)。

其他公有雲上的 GKE

使用 GKE Multi-Cloud API 在 AWS 和 Azure 上建立的 GKE 叢集,會在建立叢集時自動向您選擇的機群註冊,且您執行相關 gcloud cluster create 指令時,會指定機群主機專案。使用 GKE Multi-Cloud 建立的叢集已與專案建立關聯 (啟用 API 的專案),因此如要將叢集註冊至其他專案的機群,您需要在建立叢集時進行額外設定。使用 GKE Multi-Cloud API 建立的叢集無法取消註冊或手動註冊。

第三方 Kubernetes 叢集 (附加叢集)

如果您有想以機群成員身分管理的現有第三方 Kubernetes 叢集 (例如 EKS、AKS 或地端發行版本),可以將這些叢集與任何 GKE 叢集一起註冊至專案機群。您可以使用 GKE Multi-Cloud API,將任何含有 x86 節點的標準 Kubernetes 叢集附加至機群。包括 Amazon EKS、Azure AKS,以及其他符合 CNCF 標準且符合我們要求的叢集。註冊的任何第三方叢集都會產生費用,並計入 GKE Enterprise 定價

如要註冊附加叢集,請參閱下列指南:

將叢集移至其他機群

目前不建議在機群之間移動已註冊的叢集 (取消註冊後重新註冊),這麼做可能會引發非預期或不樂見的情況,例如工作負載的機群 Workload Identity 會變更,可能導致要求遭到封鎖和服務中斷。建議的做法是在要存放工作負載的機群中建立新叢集,再將工作負載從原有叢集移至新叢集。

(選用) 建立空機群

根據預設,首次在機群主機專案中註冊叢集,或從 Google Cloud 控制台啟用 GKE Enterprise 時,系統會建立新的機群。如要在註冊任何叢集之前建立新的具名機群 (例如設定團隊存取權的範圍),請執行下列指令:

gcloud container fleet create --display-name=NAME [--project=FLEET_HOST_PROJECT_ID]

如未指定 display-name,新機群會根據機群主機專案名稱,採用預設顯示名稱。

查看機群

如果貴機構有多個機群,您可以在 Google Cloud 控制台中查看及切換機群。如要查看機構內各專案的車隊,您至少需要roles/gkehub.viewer角色。詳情請參閱 Kubernetes Engine 角色如何授予角色

所有車隊

如要查看所有車隊:

  1. 在 Google Cloud 控制台中,前往「Google Kubernetes Engine」頁面。

    前往「Google Kubernetes Engine」

  2. 在 GKE 導覽選單頂端,按一下「所有叢集」。系統會顯示機構中的所有機群。

您可以點選機群名稱,查看註冊至該機群的叢集。 選取清單中的機群後,系統會自動在 Google Cloud 控制台中切換至該機群的主機專案。

車隊下拉式清單

如要從下拉式清單中查看所選車隊:

  1. 在 Google Cloud 控制台中,前往「Google Kubernetes Engine」頁面。

    前往「Google Kubernetes Engine」

  2. 在 GKE Enterprise 導覽選單頂端,按一下「機群」下拉式清單,即可查看各專案的機群。

  3. 選取車隊名稱,開啟車隊資訊主頁。選取清單中的機群後,系統會自動在Google Cloud 控制台中切換至機群主專案。

您可以在資訊主頁上按一下「查看所有叢集」,查看已向該機群註冊的叢集

後續步驟