Kubernetes 叢集總覽

Google Distributed Cloud (GDC) Air-gapped 提供代管 Kubernetes 服務,也就是 Google Kubernetes Engine (GKE) Enterprise 版,可讓您使用業界標準的 Kubernetes 方法,部署及執行容器工作負載。GDC 上的 GKE 可在離線環境中提供 GKE Enterprise 的核心功能。隨著時間推移,GKE on GDC 將支援更多 GKE Enterprise 功能。

GKE on GDC 提供企業功能,例如:

  • 多叢集生命週期管理
  • 完整支援不同的 Kubernetes 發布版本
  • 成本掌握度
  • 管理多個團隊
  • 以 GitOps 為基礎的設定管理
  • 代管服務網格
  • 政策控制項

GKE on GDC 預設提供所有這些功能,且可搭配代管 Kubernetes 服務建立的叢集使用。

為方便說明文件撰寫,GDC 叢集上的 GKE 稱為 Kubernetes 叢集叢集

GDC 叢集架構

Kubernetes 叢集在邏輯上彼此隔離,可提供不同的故障網域和隔離保證。在某些情況下,兩者甚至會實體分離。GDC 中的每個機構都有一組專屬的 Kubernetes 叢集。以下叢集類型專供各機構的工作負載和服務使用:

  • 機構基礎架構叢集:執行機構的控制層和資料層元件。此外,管理 API 伺服器也託管於此,所有非容器工作負載和服務都會部署於此。
  • Kubernetes 叢集:為機構執行以容器為基礎的工作負載。工作站節點數量取決於叢集的使用率。您可以隨著需求變化調整規模。在 Distributed Cloud 中,Kubernetes 叢集有時也稱為使用者叢集

基礎架構營運商 (IO) 建立機構時,GDC 會自動產生機構基礎架構叢集。建立機構時,系統會設定機構基礎架構叢集的初始設定。

管理員可以建立及管理 Kubernetes 叢集。本節主題涵蓋 Kubernetes 叢集的管理作業。容器化的 Kubernetes 工作負載全都在 Kubernetes 叢集中執行。如要進一步瞭解如何在 Kubernetes 叢集中建立及管理容器,請參閱「部署容器工作負載」一節。

Kubernetes 叢集包含控制層和稱為「節點」的工作站機器。控制層和節點會構成 Kubernetes 叢集自動化調度管理系統。GDC 上的 GKE 會管理叢集的整個底層基礎架構,包括控制層和所有系統元件。您有責任管理執行容器化工作負載的工作站節點。

下圖顯示 Kubernetes 叢集的架構:

Kubernetes 叢集由控制層、節點和服務組成。

關於控制層

控制層會執行 Kubernetes API 伺服器、排程器和核心資源控制器等程序。GKE on GDC 會管理控制層生命週期,從叢集建立到刪除都包含在內。管理內容包含替控制層上執行的 Kubernetes 版本進行升級,GDC 會自動執行這項作業,但如果您想在自動排程之前先升級,也可以要求手動執行。

控制層和 Kubernetes API

控制層是叢集的整合式端點。您可透過 Kubernetes API 呼叫與控制層互動。控制層會執行 Kubernetes API 伺服器程序 (即 kube-apiserver),處理 API 要求。您可以透過下列方式發出 Kubernetes API 呼叫:

  • 直接通話:KRM
  • 間接呼叫:Kubernetes 指令列用戶端 (例如 kubectl) 或 GDC 控制台。

API 伺服器程序是叢集所有通訊的中樞。所有內部叢集元件 (例如節點、系統程序和應用程式控制器) 都可做為 API 伺服器的用戶端使用。

API 要求會向 Kubernetes 說明您為叢集中的物件選擇的狀態。Kubernetes 會嘗試持續維持該狀態。Kubernetes 可讓您以命令式宣告式設定 API 中的物件。

工作站節點管理

控制層會管理所有叢集節點上執行的項目。控制層會排定工作負載,並管理工作負載的生命週期、資源調度和升級。控制層也會為這些工作負載管理網路和儲存空間資源。控制層和節點會使用 Kubernetes API 相互通訊。

關於節點

節點是執行容器化應用程式和其他工作負載的工作站機器。個別機器是指 GDC 上的 GKE 建立的虛擬機器 (VM)。控制層會管理各節點自行回報的狀態,並接收相關更新。

節點會執行必要服務,以支援構成叢集工作負載的容器。這些服務包括執行階段和 Kubernetes 節點代理程式 (或 kubelet),後者會與控制層通訊,並負責啟動及執行節點上排定的容器。

GKE on GDC 也會執行多個系統容器,這些容器會做為節點代理程式 (稱為 DaemonSet) 執行,提供記錄收集和叢集內網路連線等功能。

GDC 上的 GKE 限制

下列 GKE 功能是 GKE on GDC 的限制,無法使用:

  • 連結閘道
  • 附加多雲端叢集
  • 二進位授權
  • 多叢集資料轉入