GKE on AWS 架構

總覽

GKE on AWS 是混合雲軟體,可將 Google Kubernetes Engine (GKE) 擴展至 Amazon Web Services (AWS)。

GKE on AWS 使用一般 AWS 資源,例如 Elastic Compute Cloud (EC2)Elastic Block Storage (EBS)Elastic Load Balancer (ELB)。GKE on AWS 建立的大部分 AWS 資源,名稱開頭都是 gke-

架構

GKE on AWS 包含兩個元件。

  1. 管理服務是可安裝及更新使用者叢集的環境,會使用 AWS API 佈建資源。
  2. 使用者叢集:用於執行工作負載。

本主題說明 Anthos 管理服務和使用者叢集的用途和形狀。

GKE on AWS 安裝架構,顯示管理服務和 AWSClusters,其中包含控制層和 AWSNodePools

管理服務

管理服務會提供及管理 GKE on AWS 安裝作業的元件。舉例來說,您可以使用管理服務建立使用者叢集。管理服務會使用 AWS API 佈建資源。

您可以在專屬 AWS 虛擬私有雲現有 AWS 虛擬私有雲中建立管理服務。

您必須在每個 AWS 虛擬私有雲 (VPC) 中,都使用管理服務執行 GKE on AWS。管理服務會安裝在一個 AWS 可用區。每個 VPC 只需要一個管理服務,管理服務可以管理多個使用者叢集。

管理服務的主要元件是叢集運算子。叢集運算子是 Kubernetes 運算子,可建立及管理 AWS 叢集和 AWS 節點集區。叢集運算子會將設定儲存在 etcd 資料庫中,並將儲存空間保留在 AWS EBS 磁碟區。

安裝及設定管理服務

本節說明可用來管理管理服務的工具。

anthos-gke 工具

您可以使用 anthos-gke 指令列工具建立及管理叢集。詳情請參閱「anthos-gke 工具」。

連線

透過 Connect,您可以在 Google Cloud 主控台的同一介面中,查看及登入 GKE on AWS 和 GKE 叢集。Google Cloud 所有資源都會顯示在單一資訊主頁中,方便您掌握多個 Kubernetes 叢集的工作負載。

使用者叢集

使用者叢集包含兩個元件,這兩個元件都是由管理服務代管的 Kubernetes 自訂資源:

  1. 控制層。
  2. 一或多個 AWSNodePool。

AWSCluster

AWSCluster 會在單一 VPC 中執行。

將管理叢集安裝到專屬 VPC 時,GKE on AWS 會在 dedicatedVPC.availabilityZones 中指定的每個可用區建立控制層副本。將管理叢集安裝到現有基礎架構時,AWS 上的 GKE 會在相同可用區中建立具有三個控制層副本的 AWSCluster。每個副本都屬於自己的 AWS Auto Scaling 群組,會在執行個體終止時重新啟動。

管理服務會將控制層放在 AWS 網路負載平衡器 (NLB) 後方的私人子網路中。管理服務會使用 NLB 與控制層互動。

如要在多個 AWS 可用區建立控制層,請參閱高可用性使用者叢集

每個控制層都會將設定儲存在本機 etcd 資料庫中。這些資料庫會以堆疊式高可用性拓撲進行複製及設定。

一個控制層可管理一或多個 AWSNodePool。

AWSNodePool

AWSNodePools 的功能與 GKE 上的節點集區 Google Cloud類似。節點集區是叢集中具有相同配置的一組節點。節點集區會使用 AWSNodePool 資源,且可包含一或多個節點。每個節點集區都屬於自己的 AWS Auto Scaling 群組,會在執行個體終止時重新啟動。

疑難排解

您可以查看 AWSCluster 和 AWSNodePools 的 Kubernetes 事件,排解 GKE on AWS 安裝作業的問題。詳情請參閱疑難排解指南。

後續步驟