

 **協助改進此頁面** 

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

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

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

# 在使用 EC2 執行個體存放區設定的 AWS Outpost 上，選取 Amazon EKS 本機叢集的執行個體類型和配置
<a name="eks-outposts-instance-store-capacity-considerations"></a>

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

**注意**  
如果您的 Outpost 是使用 Amazon EBS 而非 EC2 執行個體存放區設定，則本主題中所述的架構不適用於您的 Outpost。使用 EBS 設定的 Outpost 將繼續使用現有的本機叢集實作。如需詳細資訊，請參閱[根據容量考量，為 AWS Outpost 上的 Amazon EKS 叢集選取執行個體類型和置放群組](eks-outposts-capacity-considerations.md)。  
如果您有興趣使用更新的本機叢集架構在 EBS 後端 Outpost 上建立本機叢集，請聯絡您的 AWS 客戶團隊。

## 控制平面架構
<a name="eks-outposts-instance-store-capacity-considerations-architecture"></a>

本機叢集 Kubernetes 控制平面會在 Outpost 上的 **6 個 EC2 執行個體**上執行：
+  **3 個控制平面執行個體**：託管 Kubernetes 控制平面元件，包括 Kubernetes API 伺服器、排程器和控制器管理員。
+  **3 個`etcd`執行個體** - 將 Kubernetes 叢集狀態存放在[外部交換拓撲](https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/ha-topology/#external-etcd-topology)中。

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

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

## 執行個體類型選取
<a name="eks-outposts-instance-store-capacity-considerations-instance-type"></a>

透過 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 個 執行個體的容量。

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

## 控制平面和`etcd`置放
<a name="eks-outposts-instance-store-capacity-considerations-placement"></a>

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

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

### 分散層級
<a name="eks-outposts-instance-store-capacity-considerations-spread-levels"></a>

`spreadLevel` 屬性接受兩個值：
+  ** `host` ** — 將控制平面執行個體分散到不同的實體主機。至少需要 3 個使用所選執行個體類型設定的主機。
+  ** `rack` ** — 將控制平面執行個體分散到不同的實體 Outpost 機架。至少需要 3 個主機設定為所選執行個體類型的機架。

## 容量規劃
<a name="eks-outposts-instance-store-capacity-considerations-capacity-planning"></a>

規劃本機叢集的 Outpost 容量時，請考量下列事項：
+  **控制平面和`etcd`執行個體：每個叢集** 6 個執行個體 (3 個 `controlPlaneInstanceType`和 3 個 `etcdInstanceType`)。
+  **工作者節點：**自我管理節點群組的 EC2 執行個體。
+  **虛擬化主機：**控制平面必須在虛擬化主機上執行。您的 Outpost 必須具有具有足夠容量的虛擬化主機。

## 對置放問題進行故障診斷
<a name="eks-outposts-instance-store-capacity-considerations-troubleshooting"></a>

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

如需本機叢集疑難排解的詳細資訊，請參閱 [對使用 EC2 執行個體存放區設定的 AWS Outpost 上的本機 Amazon EKS 叢集進行故障診斷](eks-outposts-instance-store-troubleshooting.md)。