View a markdown version of this page

在使用 EC2 執行個體存放區設定的 AWS Outpost 上,選取 Amazon EKS 本機叢集的執行個體類型和配置 - Amazon EKS

協助改進此頁面

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

若要為本使用者指南貢獻內容,請點選每個頁面右側面板中的在 GitHub 上編輯此頁面連結。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

在使用 EC2 執行個體存放區設定的 AWS Outpost 上,選取 Amazon EKS 本機叢集的執行個體類型和配置

本主題提供選擇 Kubernetes 控制平面執行個體類型和設定置放以符合使用 EC2 執行個體存放區設定之 AWS Outpost 上本機 Amazon EKS 叢集的高可用性需求的指引。

注意

如果您的 Outpost 是使用 Amazon EBS 而非 EC2 執行個體存放區設定,則本主題中所述的架構不適用於您的 Outpost。使用 EBS 設定的 Outpost 將繼續使用現有的本機叢集實作。如需詳細資訊,請參閱根據容量考量,為 AWS Outpost 上的 Amazon EKS 叢集選取執行個體類型和置放群組

如果您有興趣使用更新的本機叢集架構在 EBS 後端 Outpost 上建立本機叢集,請聯絡您的 AWS 客戶團隊。

控制平面架構

本機叢集 Kubernetes 控制平面會在 Outpost 上的 6 個 EC2 執行個體上執行:

  • 3 個控制平面執行個體:託管 Kubernetes 控制平面元件,包括 Kubernetes API 伺服器、排程器和控制器管理員。

  • 3 個etcd執行個體 - 將 Kubernetes 叢集狀態存放在外部交換拓撲中。

這些執行個體會在 Outpost AWS上的受管服務帳戶中執行。它們不會在 AWS 您的帳戶或 Amazon EC2 主控台中顯示為 EC2 執行個體。 Amazon EC2 控制平面耗用的容量會顯示在 AWS Outposts 主控台中。

控制平面不會在負載下水平擴展。如果您需要不同的控制平面執行個體大小,則必須建立新的叢集。

執行個體類型選取

透過 AWS Outposts 上 Amazon EKS 本機叢集的更新架構,Kubernetes 控制平面會使用專用etcd拓撲:API 伺服器,並在個別執行個體etcd上執行。當您建立叢集時,請指定兩種執行個體類型:controlPlaneInstanceType適用於 API 伺服器,etcdInstanceType適用於 etcd

您選擇的執行個體類型必須可在 Outpost 上使用。可用的執行個體系列取決於您的 Outpost 產生和 SKU,而不同的執行個體系列可以具有相同執行個體大小的不同 vCPU 和記憶體組態。

API 伺服器controlPlaneInstanceType ()

預期的工作者節點 vCPUs 記憶體

1–20

2

8 GiB

21–100

4

16 GiB

101–250

8

32 GiB

251–500

16

64 GiB

etcd (etcdInstanceType)

預期的工作者節點 vCPUs 記憶體

1–50

2

8 GiB

51–250

4

16 GiB

251–500

8

32 GiB

重要

請確定您的 Outpost 在本機叢集etcdInstanceType的生命週期內具有 3 個 執行個體controlPlaneInstanceType和 3 個 執行個體的容量。

使用這些資料表做為指導方針,而非嚴格的要求。我們建議您選取符合您預期成長的執行個體系列和大小,因為 controlPlaneInstanceTypeetcdInstanceType無法在叢集建立後變更。若要變更兩者之一,您必須建立新的叢集。

控制平面和etcd置放

為了獲得高可用性,建議您將控制平面和etcd執行個體分散到多個硬體故障網域。您可以使用 controlPlanePlacementetcdPlacement中的 spreadLevel 屬性來控制此分散outpostConfig。當您設定 時spreadLevel,Amazon EKS 會使用 分散策略建立 EC2 置放群組。您不需要預先建立置放群組。

注意

中的 groupName 參數controlPlanePlacement不會與執行執行個體存放區型 EC2 執行個體的 Outpost 搭配使用。如果您先前將置放群組與本機叢集搭配使用,您現在會spreadLevel改用 。

分散層級

spreadLevel 屬性接受兩個值:

  • host — 將控制平面執行個體分散到不同的實體主機。至少需要 3 個使用所選執行個體類型設定的主機。

  • rack — 將控制平面執行個體分散到不同的實體 Outpost 機架。至少需要 3 個主機設定為所選執行個體類型的機架。

容量規劃

規劃本機叢集的 Outpost 容量時,請考量下列事項:

  • 控制平面和etcd執行個體:每個叢集 6 個執行個體 (3 個 controlPlaneInstanceType和 3 個 etcdInstanceType)。

  • 工作者節點:自我管理節點群組的 EC2 執行個體。

  • 虛擬化主機:控制平面必須在虛擬化主機上執行。您的 Outpost 必須具有具有足夠容量的虛擬化主機。

對置放問題進行故障診斷

如果您的叢集在指定分散層級後長時間保持在 CREATINGUPDATING 狀態,請確認您的 Outpost 有足夠的主機或機架搭配所選的執行個體類型,以滿足分散拓撲。

如需本機叢集疑難排解的詳細資訊,請參閱 對使用 EC2 執行個體存放區設定的 AWS Outpost 上的本機 Amazon EKS 叢集進行故障診斷