Amazon EKS 功能

概觀

Amazon Elastic Kubernetes Service (Amazon EKS) 是一種受管 Kubernetes 服務,可讓您輕鬆在 AWS 和內部部署執行 Kubernetes。Kubernetes 是一種開放原始碼系統,用於自動化容器化應用程式的部署、擴展和管理。Amazon EKS 已獲得 Kubernetes 一致性授權,因此在上游 Kubernetes 執行的現有應用程式可與 Amazon EKS 相容。

Amazon EKS 能夠自動管理 Kubernetes 控制平面節點的可用性和可擴展性,而這些節點負責排定容器的行程、管理應用程式可用性、存放叢集資料及其他關鍵任務。

Amazon EKS 可讓您在 Amazon Elastic Compute Cloud (Amazon EC2) 和 AWS Fargate 上執行 Kubernetes 應用程式。您可以使用 Amazon EKS,充分利用 AWS 基礎設施的所有效能、可擴展性、可靠性和可用性,以及與 AWS 聯網和安全性服務的整合,例如載入分佈的 Application Load Balancer (ALB)、具有角色型存取控制權 (RBAC) 的 AWS Identity and Access Management (IAM) 整合,以及實現 pod 聯網的 AWS Virtual Private Cloud (VPC) 支援。

電腦資料的照片

受管 Kubernetes 叢集

AWS Controllers for Kubernetes (ACK) 可讓您在 Kubernetes 環境中直接管理 AWS 服務。ACK 使您能夠輕鬆建置利用 AWS 服務的可擴展、可用性極高的 Kubernetes 應用程式。

混合部署

您可以在 AWS Outposts 上使用 EKS 來執行需要對內部部署系統實現特別低延遲的容器化應用程式。AWS Outposts 是一項全受管的服務,可將 AWS 基礎設施、AWS 服務、API 和工具擴展幾乎至任何連網網站。藉助 Outposts 上的 EKS,您可以像在雲端中管理容器一樣輕鬆地管理內部部署容器。

您可以將在 AWS Local ZonesAWS Wavelength 中執行的節點連接到 EKS,為在邊緣的 AWS 受管基礎設施提供更多選擇。

Amazon EKS Distro 封裝在 AWS 上 Amazon EKS 中使用的相同開源 Kubernetes 軟體發行版,可供您在自己的基礎設施內部部署使用。使用您自己的工具或 Amazon EKS Anywhere 來管理 EKS Distro 叢集。

Amazon EKS Anywhere 可讓您輕鬆在內部部署 (包含您專屬的虛擬機器 (VM) 和裸機伺服器),建立和操作 Kubernetes 叢集 (建立方式為 Amazon EKS Distro 中的軟體)。EKS Anywhere 可為您省去建立和支援您專屬工具來管理 Kubernetes 叢集的複雜過程。EKS Anywhere 提供自動化工具,可簡化裸機、VMware vSphere 和雲端虛擬機器等基礎設施上的叢集建立、管理和操作。這還包括具有預設記錄、監控、聯網和儲存組態的雲端虛擬機器。EKS Anywhere 提供在生產中執行 Kubernetes 所需的額外工具和元件,例如叢集安裝和生命週期管理、可觀測性、叢集備份和政策管理。

使用 eksctl 來啟動節點和進行單一命令列管理

使用 eksctl 命令列工具在幾分鐘內啟動並執行 Amazon EKS。只需執行 "eksctl create cluster" 命令即可建立 EKS 叢集。您可以使用 eksctl 來簡化叢集的管理與操作,包含節點和附加元件的管理。

聯網和安全

Amazon Elastic Kubernetes Service (EKS) 支援 IPv6,讓客戶能夠在 Kubernetes 上擴展容器化應用程式,使其遠遠超出私有 IPv4 地址空間的限制。憑藉 EKS 對 IPv6 的支援,Pod 僅指派一個全域可路由的 IPv6 地址,從而允許您在叢集中擴展應用程式,而不會佔用有限的私有 IPv4 地址空間。此全球可路由的 IPv6 地址可用於直接與您的 Amazon VPC、內部部署網路或公有網際網路中的任何 IPv6 端點進行通訊。此外,EKS 會設定聯網,以便 Pod 仍然可以與叢集外部以 IPv4 為基礎的端點通訊,讓您能夠使用 Kubernetes 獲得 IPv6 的優勢,而無需將整個組織中部署的所有相依服務遷移至 IPv6。

EKS Pod Identity 可簡化客戶在 EKS 叢集上設定應用程式,以存取 AWS 服務所需的工作。EKS 叢集管理員可簡化取得驗證 Kubernetes 應用程式所需 IAM 憑證的工作流程,以存取 S3 儲存貯體、DynamoDB 資料表等 AWS 資源。EKS Pod Identity 可讓您輕鬆地在多個叢集中使用 IAM 角色,並透過支援跨 IAM 角色重複使用政策,來簡化 IAM 政策管理。

服務網格透過標準化應用程式中每個微型服務通訊的方式,可讓您輕鬆建置和執行複雜的微型服務應用程式。 AWS App Mesh 可用於設定應用程式,以實現端對端的可見性和高可用性。您可以使用適用於 Kubernetes 的 AWS App Mesh 控制器,來建立連線至網格的新服務、定義流量路由,以及設定加密等安全性功能。此外,App Mesh 還讓您能夠在 AWS Cloud Map 中自動註冊 Kubernetes Pod 以進行服務探索。App Mesh 將指標、日誌和追蹤匯出到所提供之 Envoy 引導組態中指定的端點。App Mesh 提供 API,在啟用 Mesh 的微服務之間設定流量路由、斷路、重試和其他控制。 App Mesh Mutual TLS 可協助在各個服務之間加密所有請求,即使那些請求在您的私有網路中發生亦然。此外,您可以新增身分驗證控制以僅允許您所允許的服務之間進行通訊。

Amazon EKS 整合 Kubernetes RBAC (Kubernetes 原生角色型存取控制系統) 和 AWS IAM。您可以直接將 RBAC 角色指派給每個 IAM 實體,讓您精密地控制 Kubernetes 控制平面節點的存取許可。

負載平衡

Amazon EKS 支援使用 Elastic Load Balancing,包括 Application Load Balancer (ALB)、Network Load Balancer (NLB) 和 Classic Load Balancer。

您可以使用 Amazon EKS 叢集,執行標準 Kubernetes 叢集負載平衡或任何 Kubernetes 支援的輸入控制器。

無伺服器運算

EKS 支援 AWS Fargate 使用無伺服器運算來執行 Kubernetes 應用程式。Fargate 消除了佈建和管理伺服器的需求,讓您指定每個應用程式的資源和支付每個應用程式的資源費用,並且透過經設計的應用程式隔離來增強安全性。

成本監控

無論是在叢集級別,還是在個別應用程式級別,Amazon EKS 都可簡化您了解 Kubernetes 用量關聯成本的程序。

Amazon EKS 會自動為每個加入叢集的 EC2 執行個體新增 AWS 成本分配標籤。這讓您不必在整個組織中強制執行自訂標記政策,即可深入了解叢集層級的成本。在 AWS 帳單主控台中啟用 EKS 叢集名稱成本分配標籤後,您可以使用 AWS Cost and Usage Report 來追蹤與 EKS 叢集關聯的 EC2 成本。

Amazon EKS 支援 Kubecost,讓您能夠監控依 Kubernetes 資源 (包括 Pod、節點、命名空間和標籤) 細分的成本。Kubernetes 平台管理員和財務負責人可使用 Kubecost 來視覺化其 Amazon EKS 關聯費用的明細、分配成本,以及向應用程式團隊等組織單位收費。您可以根據其實際 AWS 帳單,為內部團隊和業務部門提供透明且準確的成本資料,並根據其基礎設施環境和叢集內的用量模式來取得定製的成本最佳化建議。

一致性認證

Amazon EKS 執行上游 Kubernetes 且已獲得 Kubernetes 一致性授權,因此您可以使用 Kubernetes 社群中所有現有的外掛程式和工具。在 Amazon EKS 上執行的應用程式與任何標準 Kubernetes 環境中執行的應用程式完全相容,無論它們是在內部部署資料中心或公有雲端執行。這代表您可以將任何標準 Kubernetes 應用程式輕鬆遷移至 Amazon EKS,不必重構程式碼。

受管叢集更新

Amazon EKS 可讓您將執行中的叢集輕鬆更新至最新 Kubernetes 版本,不必管理更新程序。Kubernetes 版本更新採取就地進行,不再需要建立新叢集,或將應用程式遷移到新叢集上。

當新的 Kubernetes 版本發佈,並通過驗證可與 Amazon EKS 搭配使用時,我們將支援三個穩定的 Kubernetes 版本,做為任何特定時間更新程序的一部分。您可以透過開發套件、CLI 或 AWS 主控台啟動新版本安裝並檢視執行中的更新狀態。

開放原始碼相容性

Amazon EKS 與 Kubernetes 社群工具完全相容,並支援常用的 Kubernetes 附加元件。這些包含可為叢集建立 DNS 服務的 CoreDNS,還有 Kubernetes 儀表板 Web UI 和 kubectl 這兩個命令列工具,用於存取和管理 Amazon EKS 上的叢集。

如需詳細資訊,請參閱 Kubernetes 社群工具 GitHub 頁面。