選單

本頁面使用了機器翻譯。某些內容可能不盡完善。請告訴我們如何改進。

分享意見

AWS ECS 與 Kubernetes:不公平的比較?

目錄

分享本頁

Yifat Perry
Yifat Perry

AWS Elastic Container Service (ECS) 是 Amazon 自主研發的容器編排平台。它在易用性方面表現出色,但它真的能取代 Kubernetes 這個非常受歡迎的容器編排事實標準嗎?

在本文中,我們認為將 ECS 與普通 Kubernetes 進行比較並不完全準確,因為 ECS 提供了 Kubernetes 無法提供的完全託管體驗。我們還回顧了 Amazon Elastic Kubernetes Service(EKS)作為第三種選擇,使競爭環境更加公平。此外,我們將展示 NetApp Cloud Volumes ONTAP如何協助 在 AWS 上為 ECS、EKS 或純 Kubernetes 環境配置儲存空間。

 本文將介紹以下內容: 

什麼是 AWS ECS?

Amazon Elastic Container Service(Amazon ECS)是一種容器協調服務,可執行和管理 Docker 容器。它在 Amazon 雲端上執行虛擬機器叢集,同時跨多個可用區域(AZ)管理、擴充和排程這些機器上的容器群組。

ECS 提供了一種便捷的程式設計方式來檢查和修改叢集的狀態,對容器執行操作,並直接存取與叢集相關的 Amazon 服務,例如 IAM、CloudWatch 和 CloudTrail。

圖表 - 任務定義圖片來源:AWS

Amazon ECS 的優勢包括:

  • 無伺服器基礎架構:ECS 讓您無需直接管理虛擬機器即可運行容器。ECS 服務會自動部署虛擬機器並管理其上的容器,無需使用者乾預。
  • 內建安全性:Amazon ECS 預設具有安全性,所有容器均在具有隔離、安全網路的虛擬私有雲中啟動。
  • AWS 整合:ECS 與其他適用於容器化工作負載的 Amazon 服務(例如 Elastic Load Balancing、CloudWatch、CloudFormation 和 IAM)無縫整合。
  • Spot 執行個體:由於容器是不可變的,您可以使用 Amazon EC2 Spot 執行個體(無需提前通知即可關閉)運行許多工作負載,並節省 90% 的隨選執行個體成本。

什麼是 Kubernetes?

Kubernetes 是一個開源的容器編排框架。它最初由 Google 開發,基於其多年運行全球最大規模容器化系統的經驗。Kubernetes 已被廣泛採用,如今已成為容器編排的事實標準。

Kubernetes 的主要特性包括服務發現和負載平衡、儲存編排持久性儲存、容器化應用程式的自動回滾、Kubernetes 叢集的自我修復、金鑰和設定管理。

Kubernetes 叢集圖圖片來源:Kubernetes.io

AWS ECS 與 Kubernetes 的比較

將 Kubernetes 與 Amazon ECS 進行比較並不完全公平。Amazon ECS 在一個產品中提供了兩個要素:容器編排平台和負責運行該平台並配置硬體資源的託管服務。而 Kubernetes 只提供了其中一個要素。

越來越多的組織開始採用託管式 Kubernetes 服務,這些服務可以降低 Kubernetes 的複雜性,並幫助他們更快地將 Kubernetes 部署到生產環境。例如,Amazon Elastic Kubernetes Service(EKS)、Azure Kubernetes Service(AKS)和 Google Kubernetes Engine(GKE)等服務就屬於這類。這些服務為 Kubernetes 增加了一個管理層,使其完全可以與 Amazon ECS 相媲美。

Kubernetes 的優點包括:

  • 無伺服器基礎架構:Kubernetes 容器無需直接存取虛擬機器即可運作。不僅如此,還有一些真正的無伺服器 Kubernetes 解決方案,可以與 AWS Fargate 或 Azure Container Instances 整合。
  • 內建安全性:Kubernetes 創建自己的私人網絡,擁有自己隔離、安全的網路。
  • 與供應商無關:與 Amazon ECS 不同,Kubernetes 是一個與供應商無關的平台,可以在任何雲端供應商或本地環境中運作。Kubernetes 工作負載具有可移植性,並支援混合雲和多雲策略。
  • 開源:Kubernetes 擁有龐大的開源社群支持,擁有豐富的工具和插件生態系統、強大的支援以及雄心勃勃的發展路線圖。
  • 久經考驗:Kubernetes 擁有所有容器編排平台中最廣泛的正式作業經驗。它已被證明在幾乎任何規模下都具有強大的穩健性和可靠性。

AWS ECS 與 EKS 對比

AWS ECS 提供了在 AWS 中管理容器服務的方法,但如果您想在 AWS 服務內部執行 Kubernetes 該怎麼辦?Amazon Elastic Kubernetes Service(Amazon EKS)是 AWS 中用於管理 Kubernetes 的平台。它已獲得 Kubernetes 專案的認證,因此可以保證運行您在 Kubernetes 生態系統中使用的任何現有應用程式、工具或外掛程式。

以下是 ECS 和 EKS 之間的一些主要差異。

  Amazon ECS Amazon EKS
定價 ECS 本身是免費的,您只需為
使用的 Amazon EC2 資源付費。
EKS 管理層每個叢集每月需額外支付 144 美元。
易於部署 直接從 AWS 管理主控台無縫部署任務。 透過 Kops 或 CloudFormation 模板配置和部署集群,這更加複雜。
相容性 Amazon 專屬。 支援多雲端和混合雲部署。

AWS ECS、EKS 還是原生 Kubernetes:您該選擇哪一個?

在 Amazon ECS、EKS 和自架 Kubernetes 之間進行選擇取決於專案的規模和性質:

  • 小型部署 偏好 ECS,因為其部署和組態設定順暢無礙。
  • 大型或混合部署 由於 EKS 具有更強的客製化和在雲端和本地系統之間更好的可移植性,因此更傾向於選擇 EKS。
  • 傳統工作負載向容器化環境過渡時,使用純 Kubernetes 可能獲益最多,因為它允許您在本地建置開發/測試/生產環境,然後在需要時將其遷移到雲端。

ECS、Kubernetes 和 Cloud Volumes ONTAP

在部署容器化工作負載時,Kubernetes 和 Amazon ECS 都存在一些局限性,如果沒有輔助工具,可能會阻礙它們在企業級應用。例如,當容器中的資料需要持久性儲存時(例如資料庫),成本可能是一個相當大的因素。如果容器中的資料需要用於測試目的呢?這時,NetApp Cloud Volumes ONTAP 就能派上用場了。

NetApp Cloud Volumes ONTAP 是領先的企業級資料管理解決方案,提供基於 AWS、Azure 和 Google Cloud 雲端運算和儲存的安全可靠的儲存管理服務。透過 NetApp Trident,無需使用者任何操作,即可自動動態佈建 Azure Disk、Amazon EBS 或 Google Persistent Disk 上的儲存磁碟區。

Cloud Volumes ONTAP 支援企業級用例,例如檔案服務、資料庫、DevOps 和應用程式工作負載。在 Kubernetes 儲存解決方案方面 Cloud Volumes ONTAP 為容器化工作負載的持久性儲存需求提供Kubernetes 整合功能,並支援一系列雲端原生環境無法提供的強大特性,包括:KubernetesNFS 共享高可用性、經濟高效的持久性資料儲存保護、透過 NetApp 儲存效率功能降低 Kubernetes 雲端儲存成本、雲端自動化等

Drift chat loading