View a markdown version of this page

使用 AWS Outposts 部署 Amazon EKS 內部部署 - Amazon EKS

協助改進此頁面

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

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

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

使用 AWS Outposts 部署 Amazon EKS 內部部署

您可以使用 Amazon EKS 在 AWS Outposts 上執行內部部署 Kubernetes 應用程式。您可使用以下方式在 Outpost 上部署 Amazon EKS:

  • 擴充叢集 – 在 Outpost 的 AWS 區域和節點中執行 Kubernetes 控制平面。

  • 本機叢集 – 執行 Outpost 上的 Kubernetes 控制平面和節點。

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

下圖顯示這些部署選項。

Outpost 部署選項

使用每個部署選項的時機

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

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

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

兩個本機叢集實作

Amazon EKS 在 Outposts 機架上支援兩個本機叢集實作。Outpost 設定為使用 Amazon EBS 或 Amazon EC2 執行個體存放區作為其上執行之 EC2 執行個體的根磁碟區類型。Amazon EKS 用於本機叢集控制平面的實作取決於此組態:

  • AWS 使用 Amazon EBS 設定的 Outpost。Kubernetes 控制平面在您的 Outpost AWS 帳戶中執行,並堆疊在三個由 Amazon EBS 支援的 Amazon EC2 執行個體etcd上。如需詳細資訊,請參閱在 AWS Outposts 上建立本機 Amazon EKS 叢集以獲得高可用性

  • 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 叢集概觀

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

比較部署選項

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

功能 擴充叢集 使用 EBS 的 Outposts 上的本機叢集 Outposts 上的本機叢集搭配 EC2 執行個體存放區

Kubernetes 控制平面位置

AWS 區域

Outpost

Outpost

Kubernetes 控制平面帳戶

AWS 帳戶

AWS 您的帳戶

AWS受管帳戶

Kubernetes 控制平面拓撲

雲端受管

3 個 Amazon EC2 執行個體,堆疊式等

6 個 Amazon EC2 執行個體 (3 etcd + 3 個 API 伺服器)

控制平面儲存

雲端受管

Amazon EBS

Amazon EC2 執行個體儲存體

區域可用性

請參閱 Service endpoints (服務端點)。

美國東部 (俄亥俄)、美國東部 (維吉尼亞北部)、美國西部 (加利佛尼亞北部)、美國西部 (奧勒岡)、亞太區域 (首爾)、亞太區域 (新加坡)、亞太區域 (雪梨)、亞太區域 (東京)、加拿大 (中部)、歐洲 (法蘭克福)、歐洲 (愛爾蘭)、歐洲 (倫敦)、中東 (巴林) 和南美洲 (聖保羅)

提供 AWS Outposts 的所有商業 AWS 區域

Kubernetes 次要版本

支援的 Amazon EKS 版本

請參閱 了解 AWS Outposts 的 Kubernetes 和 Amazon EKS 平台版本

支援的 Amazon EKS 版本

平台版本

請參閱 Amazon EKS 平台版本

請參閱 了解 AWS Outposts 的 Kubernetes 和 Amazon EKS 平台版本

請參閱 Amazon EKS 平台版本

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

受管政策

AmazonEKSClusterPolicyAWS 受管政策:AmazonEKSServiceRolePolicy

AmazonEKSLocalOutpostClusterPolicyAWS 受管政策:AmazonEKSLocalOutpostServiceRolePolicy

AmazonEKSClusterPolicyAWS 受管政策:AmazonEKSServiceRolePolicy

叢集 VPC 和子網路

請參閱 檢視 VPC 和子網路的 Amazon EKS 聯網需求

請參閱 在 AWS Outpost 上為 Amazon EKS 叢集建立 VPC 和子網路

請參閱 在使用 EC2 執行個體存放區設定的 AWS Outpost 上,為 Amazon EKS 本機叢集建立 VPC 和子網路

叢集端點存取

公有或私有,或兩者兼具

僅限私有

私有或公有和私有

Kubernetes API 伺服器身分驗證

AWS Identity and Access Management (IAM)、OIDC 和存取項目

IAM 和 x.509 憑證

IAM、OIDC、存取項目、ConfigMap aws-authx.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 附加元件 (已驗證清單) 或自我管理附加元件

預設容器網路介面

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 控制器佈建 Application Load Balancer (無 Network Load Balancer)

僅限使用 AWS Load Balancer 控制器佈建 Application Load Balancer (無 Network Load Balancer)

僅限使用 AWS Load Balancer 控制器佈建 Application Load Balancer (無 Network Load Balancer)

秘密封套加密

支援,請參閱 在現有叢集上使用 KMS 加密 Kubernetes 秘密

不支援

不支援

服務帳戶的 IAM 角色 (IRSA)

支援,請參閱 服務帳戶的 IAM 角色

不支援

支援 (需要連線至 AWS 區域;在網路連線中斷期間無法使用)

EKS Pod 身分識別

支援,請參閱 了解 EKS Pod Identity 如何授予 Pod 對 AWS 服務的存取權

不支援

支援 (需要連線至 AWS 區域;在網路連線中斷期間無法使用)

疑難排解

請參閱 排解 Amazon EKS 叢集和節點問題

請參閱 Outposts 上的本機 Amazon EKS AWS 叢集疑難排解

請參閱 對使用 EC2 執行個體存放區設定的 AWS Outpost 上的本機 Amazon EKS 叢集進行故障診斷

重要
主題