Amazon EKS 架構 - Amazon EKS

協助改進此頁面

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

Amazon EKS 架構

Amazon EKS 與 Kubernetes 的一般叢集架構一致。如需詳細資訊,請參閱 Kubernetes 文件中的 Kubernetes 原件。下列各節摘要了 Amazon EKS 一些額外架構的詳細資訊。

控制平台

Amazon EKS 能確保每個叢集都有自己獨一無二的 Kubernetes 控制平面。這種設計能讓每個叢集的基礎結構保持分隔,叢集或 AWS 帳戶之間沒有重疊。設定包含:

分散式元件

控制平面會放置至少兩個 API 伺服器執行個體和三個 etcd 執行個體,這些執行個體會在 AWS 區域內的三個 AWS 可用區域中執行。

理想效能

Amazon EKS 會主動監控和調整控制平面執行個體,以維持尖峰效能。

彈性

如果控制平面執行個體動搖,如有需要,Amazon EKS 會使用其他可用區域迅速取代它。

一致的執行時間

透過在多個可用區域之中執行叢集的方式來達成可靠的 API 伺服器端點可用性服務水準協議 (SLA)

Amazon EKS 會使用 Amazon Virtual Private Cloud (Amazon VPC) 來限制單一叢集內控制平面元件之間的流量。叢集元件無法檢視或接收來自其他叢集或 AWS 帳戶的通訊,唯當元件已獲得 Kubernetes 角色型存取控制 (RBAC) 政策的授權時例外。

運算

除了控制平面之外,Amazon EKS 叢集還有一組稱為節點的工作者機器。選取適當的 Amazon EKS 叢集節點類型,對於滿足您特定的需求與最佳化資源使用率而言十分關鍵。Amazon EKS 提供下列主節點類型:

EKS 自動模式

EKS 自動模式將 AWS 管理從控制平面擴展到資料平面,自動化叢集基礎結構管理。它整合了核心 Kubernetes 功能作為內建元件,包括運算自動擴展、聯網、負載平衡、DNS、儲存和 GPU 支援。EKS 自動模式根據工作負載需求動態管理節點,使用具有增強安全功能的不可變 AMI。它在遵守 Pod 中斷預算的同時,自動化更新與升級,並包含原本需要附加元件管理的受管元件。此選項非常適合希望利用 AWS 專業知識進行日常操作、最大限度地減少營運開銷並專注於應用程式開發而非基礎結構管理的使用者。

AWS Fargate

Fargate 是適用於容器的無伺服器運算引擎,無需管理基礎執行個體。使用 Fargate,您可以指定應用程式的資源需求,且 AWS 會自動佈建、擴展和維護基礎結構。此選項非常適合優先考慮簡單易用的使用者,也相當適合希望專注於應用程式開發和部署,而不是管理基礎結構的使用者。

Karpenter

Karpenter 是一款靈活的高效能 Kubernetes 叢集自動擴展程式,可協助提升應用程式的可用性和叢集效率。Karpenter 會根據應用程式負載的變化啟動大小適中的運算資源。此選項可佈建符合工作負載要求的即時運算資源。

受管節點群組

受管節點群組融合了可用來管理 Amazon EKS 叢集中一系列 Amazon EC2 執行個體的自動化和自訂功能。AWS 負責修補、更新和擴展節點之類的任務,大幅簡化操作層面的複雜性。同時,也支援自訂 kubelet 引數,為進階 CPU 和記憶體管理政策開啟了可能性。此外,它們會透過服務帳戶的 AWS Identity and Access Management (IAM) 角色來增強安全性,同時減少每個叢集對個別許可的需求。

自我管理的節點

自我管理節點提供對 Amazon EKS 叢集中的 Amazon EC2 執行個體的完全控制權。您負責管理、擴展和維護節點,讓您完全掌握基礎結構。此選項適合需要精細控制和自訂其節點的使用者,也適合已經準備好投入時間來管理和維護其基礎架構的使用者。

Amazon EKS 混合節點

透過 Amazon EKS 混合節點,您可使用內部部署和邊緣基礎結構作為 Amazon EKS 叢集中的節點。Amazon EKS 混合節點會統一環境中的 Kubernetes 管理,並將內部部署和邊緣應用程式的 Kubernetes 控制平面管理卸載至 AWS。