

 **協助改進此頁面** 

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

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

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

# 使用 AWS Outposts 部署 Amazon EKS 內部部署
<a name="eks-outposts"></a>

您可以使用 Amazon EKS 在 AWS Outposts 上執行內部部署 Kubernetes 應用程式。您可使用以下方式在 Outpost 上部署 Amazon EKS：
+  **擴充叢集** – 在 Outpost 的 AWS 區域和節點中執行 Kubernetes 控制平面。
+  **本機叢集** – 執行 Outpost 上的 Kubernetes 控制平面和節點。

針對兩個部署選項， AWS控制平面會受 Kubernetes 完全管理。您可以使用在雲端中使用的相同 Amazon EKS API、工具和主控台，在 Outpost 上建立和執行 Amazon EKS。

下圖顯示這些部署選項。

![Outpost 部署選項](https://docs.aws.amazon.com/zh_tw/eks/latest/userguide/images/outposts-deployment-options.png)


## 使用每個部署選項的時機
<a name="outposts-overview-when-deployment-options"></a>

本機叢集和擴充叢集皆為一般用途的部署選項，可用於多種應用程式。

透過擴充叢集，您可以節省 Outpost 的容量，因為 Kubernetes 控制平面在父 AWS 區域中執行。如果您擁有從 Outpost 到 AWS 區域的可靠網路連線能力，則此選項適用。建議您透過從 AWS 區域中斷網路連線，以設計靜態穩定性的應用程式。Kubernetes 處理 Kubernetes 控制平面和節點之間的網路連線中斷的方式可能會導致應用程式停機。如需有關 Kubernetes 行為的詳細資訊，請參閱 Kubernetes 文件中的[排程、先佔和移出](https://kubernetes.io/docs/concepts/scheduling-eviction/)。

使用本機叢集，您可以在 Outposts 上本機執行整個 Amazon EKS 叢集。此選項可降低因網路暫時與雲端中斷連線而可能導致的應用程式停機風險。這些網路連線中斷可能是因光纖切斷或天氣事件引起的。由於整個 Amazon EKS 叢集會在 Outposts 本機執行，因此仍可使用應用程式。您可在網路與雲端中斷連線期間執行叢集操作。如果您需要透過網路中斷連線持續執行 Kubernetes 操作，或者需要資料駐留命令，請選擇本機叢集。

## 兩個本機叢集實作
<a name="outposts-overview-two-local-cluster-implementations"></a>

Amazon EKS 在 Outposts 機架上支援兩個本機叢集實作。Outpost 設定為使用 Amazon EBS 或 Amazon EC2 執行個體存放區作為其上執行之 EC2 執行個體的[根磁碟區](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/RootDeviceStorage.html)類型。Amazon EKS 用於本機叢集控制平面的實作取決於此組態：
+  ** AWS 使用 Amazon EBS 設定的 Outpost。**Kubernetes 控制平面在您的 Outpost AWS 帳戶中執行，並堆疊在三個由 Amazon EBS 支援的 Amazon EC2 執行個體`etcd`上。如需詳細資訊，請參閱[在 AWS Outposts 上建立本機 Amazon EKS 叢集以獲得高可用性](eks-outposts-local-cluster-overview.md)。
+  ** AWS 使用 EC2 執行個體存放區設定的 Outpost。**Amazon EKS 部署更新的本機叢集架構。Kubernetes 控制平面在 Outpost 上受 AWS管服務帳戶中的 6 個 Amazon EC2 執行個體上執行，其中 3 個執行個體專用於 `etcd` ，而 3 個執行個體用於其他控制平面元件。實作與雲端中的 Amazon EKS 具有更大的同位，遵循 Amazon EKS Kubernetes 版本生命週期，並支援其他功能，例如 Amazon EKS 附加元件和 Bottlerocket 型工作者節點 （除了 AL2023 之外）。它可用於提供 AWS Outposts 的所有標準 AWS 區域。如需詳細資訊，請參閱[使用 EC2 執行個體存放區設定的 AWS Outposts 上的本機 Amazon EKS 叢集概觀](eks-outposts-instance-store-local-cluster-overview.md)。

下表概述了每個實作可用的功能。

## 比較部署選項
<a name="outposts-overview-comparing-deployment-options"></a>

下表比較延伸叢集與兩個本機叢集實作之間的差異。


| 功能 | 擴充叢集 | 使用 EBS 的 Outposts 上的本機叢集 | Outposts 上的本機叢集搭配 EC2 執行個體存放區 | 
| --- | --- | --- | --- | 
| Kubernetes 控制平面位置 |  AWS 區域 | Outpost | Outpost | 
| Kubernetes 控制平面帳戶 |  AWS 帳戶 |  AWS 您的帳戶 |  AWS受管帳戶 | 
| Kubernetes 控制平面拓撲 | 雲端受管 | 3 個 Amazon EC2 執行個體，[堆疊式等](https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/ha-topology/#stacked-etcd-topology)  | 6 個 Amazon EC2 執行個體 (3 `etcd` \+ 3 個 API 伺服器） | 
| 控制平面儲存 | 雲端受管 | Amazon EBS | Amazon EC2 執行個體儲存體 | 
| 區域可用性 | 請參閱 [Service endpoints](https://docs.aws.amazon.com/general/latest/gr/eks.html#eks_region) (服務端點)。 | 美國東部 (俄亥俄)、美國東部 (維吉尼亞北部)、美國西部 (加利佛尼亞北部)、美國西部 (奧勒岡)、亞太區域 (首爾)、亞太區域 (新加坡)、亞太區域 (雪梨)、亞太區域 (東京)、加拿大 (中部)、歐洲 (法蘭克福)、歐洲 (愛爾蘭)、歐洲 (倫敦)、中東 (巴林) 和南美洲 (聖保羅) | 提供 AWS Outposts 的所有商業 AWS 區域 | 
| Kubernetes 次要版本 |  [支援的 Amazon EKS 版本](https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html)  | 請參閱 [了解 AWS Outposts 的 Kubernetes 和 Amazon EKS 平台版本](eks-outposts-platform-versions.md)  |  [支援的 Amazon EKS 版本](https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html)  | 
| 平台版本 | 請參閱 [Amazon EKS 平台版本](https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html)  | 請參閱 [了解 AWS Outposts 的 Kubernetes 和 Amazon EKS 平台版本](eks-outposts-platform-versions.md)  | 請參閱 [Amazon EKS 平台版本](https://docs.aws.amazon.com/eks/latest/userguide/platform-versions.html)  | 
| Outpost 外形規格 | Outpost 機架 | Outpost 機架 | Outpost 機架 | 
| 使用者介面 |  AWS 管理主控台、 AWS CLI、Amazon EKS API、、`eksctl` AWS CloudFormation 和 Terraform |  AWS 管理主控台、 AWS CLI、Amazon EKS API、、`eksctl` AWS CloudFormation 和 Terraform |  AWS 管理主控台、 AWS CLI、Amazon EKS API、 AWS CloudFormation | 
| 受管政策 |  [AmazonEKSClusterPolicy](security-iam-awsmanpol.md#security-iam-awsmanpol-amazoneksclusterpolicy) 與 [AWS 受管政策：AmazonEKSServiceRolePolicy](security-iam-awsmanpol.md#security-iam-awsmanpol-amazoneksservicerolepolicy)  |  [AmazonEKSLocalOutpostClusterPolicy](security-iam-awsmanpol.md#security-iam-awsmanpol-amazonekslocaloutpostclusterpolicy) 與 [AWS 受管政策：AmazonEKSLocalOutpostServiceRolePolicy](security-iam-awsmanpol.md#security-iam-awsmanpol-amazonekslocaloutpostservicerolepolicy)  |  [AmazonEKSClusterPolicy](security-iam-awsmanpol.md#security-iam-awsmanpol-amazoneksclusterpolicy) 與 [AWS 受管政策：AmazonEKSServiceRolePolicy](security-iam-awsmanpol.md#security-iam-awsmanpol-amazoneksservicerolepolicy)  | 
| 叢集 VPC 和子網路 | 請參閱 [檢視 VPC 和子網路的 Amazon EKS 聯網需求](network-reqs.md)  | 請參閱 [在 AWS Outpost 上為 Amazon EKS 叢集建立 VPC 和子網路](eks-outposts-vpc-subnet-requirements.md)  | 請參閱 [在使用 EC2 執行個體存放區設定的 AWS Outpost 上，為 Amazon EKS 本機叢集建立 VPC 和子網路](eks-outposts-instance-store-vpc-subnet-requirements.md)  | 
| 叢集端點存取 | 公有或私有，或兩者兼具 | 僅限私有 | 私有或公有和私有 | 
| Kubernetes API 伺服器身分驗證 |  AWS Identity and Access Management (IAM)、OIDC 和存取項目 | IAM 和 `x.509` 憑證 | IAM、OIDC、存取項目、ConfigMap `aws-auth` 和`x.509`憑證 （用於網路連線中斷） | 
| 節點類型 | 僅限自我管理 | 僅限自我管理 | 僅限自我管理 | 
| 節點運算類型 | Amazon EC2 隨需 | Amazon EC2 隨需 | Amazon EC2 隨需 | 
| 節點儲存類型 | Amazon EBS `gp2` 和本機 NVMe SSD | Amazon EBS `gp2` 和本機 NVMe SSD | 本機 NVMe SSD | 
| Amazon EKS 最佳化 AMI | Amazon Linux、Windows 和 Bottlerocket | Amazon Linux | Amazon Linux 和 Bottlerocket | 
| IP 版本 |  僅限 `IPv4` |  僅限 `IPv4` |  僅限 `IPv4` | 
| 附加元件 | Amazon EKS 附加元件，或自我管理附加元件 | 自我管理的附加元件 | Amazon EKS 附加元件 ([已驗證清單](eks-outposts-instance-store-local-cluster-addons.md)) 或自我管理附加元件 | 
| 預設容器網路介面 | Kubernetes 專用 Amazon VPC CNI 外掛程式 | Kubernetes 專用 Amazon VPC CNI 外掛程式 | Kubernetes 專用 Amazon VPC CNI 外掛程式 | 
| Kubernetes 控制平面日誌 | Amazon CloudWatch Logs | Amazon CloudWatch Logs | Amazon CloudWatch Logs | 
|  `etcd` 備份 | 雲端受管 | 客戶受管 (`etcdctl` 或 Amazon EBS 磁碟區備份） | 由 Amazon EKS 管理 | 
| Load balancing | 僅限使用 [AWS Load Balancer 控制器](aws-load-balancer-controller.md)佈建 Application Load Balancer (無 Network Load Balancer) | 僅限使用 [AWS Load Balancer 控制器](aws-load-balancer-controller.md)佈建 Application Load Balancer (無 Network Load Balancer) | 僅限使用 [AWS Load Balancer 控制器](aws-load-balancer-controller.md)佈建 Application Load Balancer (無 Network Load Balancer) | 
| 秘密封套加密 | 支援，請參閱 [在現有叢集上使用 KMS 加密 Kubernetes 秘密](enable-kms.md)  | 不支援 | 不支援 | 
| 服務帳戶的 IAM 角色 (IRSA) | 支援，請參閱 [服務帳戶的 IAM 角色](iam-roles-for-service-accounts.md)  | 不支援 | 支援 （需要連線至 AWS 區域；在網路連線中斷期間無法使用） | 
| EKS Pod 身分識別 | 支援，請參閱 [了解 EKS Pod Identity 如何授予 Pod 對 AWS 服務的存取權](pod-identities.md)  | 不支援 | 支援 （需要連線至 AWS 區域；在網路連線中斷期間無法使用） | 
| 疑難排解 | 請參閱 [排解 Amazon EKS 叢集和節點問題](troubleshooting.md)  | 請參閱 [Outposts 上的本機 Amazon EKS AWS 叢集疑難排解](eks-outposts-troubleshooting.md)  | 請參閱 [對使用 EC2 執行個體存放區設定的 AWS Outpost 上的本機 Amazon EKS 叢集進行故障診斷](eks-outposts-instance-store-troubleshooting.md)  | 

**重要**  
在 RAM 共用 Outpost 上建立本機叢集會將叢集的控制平面置於 Outpost 擁有者的實體存取下方
在 EC2 執行個體存放區 Outposts 上，IRSA 和 EKS Pod Identity 取決於 AWS 區域中的 AWS STS。在網路連線中斷期間，使用 IRSA 或 Pod Identity 的工作負載無法取得新的登入資料。如需詳細資訊，請參閱[在使用 EC2 執行個體存放區設定的 AWS Outposts 上準備本機 Amazon EKS 叢集，以進行網路連線中斷](eks-outposts-instance-store-network-disconnects.md)。

**Topics**