Kubernetes 和 Amazon ECS 有啥区别

Posted

技术标签:

【中文标题】Kubernetes 和 Amazon ECS 有啥区别【英文标题】:What is the difference between Kubernetes and Amazon ECSKubernetes 和 Amazon ECS 有什么区别 【发布时间】:2016-04-04 05:38:08 【问题描述】:

Amazon ECS 和 Kubernetes 实施架构有什么区别?

我需要决定选择一种用于云中容器管理的技术。 选择这些技术的决定因素是什么?

我正在使用 Docker 来创建和执行容器。

【问题讨论】:

Amazon ECS 不是开源的,因此只能推测其架构设计决策。决定因素应该是您重视什么,以及每个后端优先考虑的功能。对优点/缺点的详细讨论不适合堆栈溢出答案。如果您想从裸机开始并逐步迁移到云(gke/gce/aws),我建议使用 Kubernetes,因为您可以在付款前在 localhost/vagrant 上使用它。 作为后续建议,您应该在 slack (kubernetes.slack.com) 或邮件列表(groups.google.com/forum/#!forum/kubernetes-dev 或 groups.google.com/forum/#!forum/google-containers)上对个别功能有疑问。 【参考方案1】:

我在使用容器和不同的容器解决方案(包括 Amazon ECS 和 Kubernetes)方面拥有丰富的经验,我发现 Kubernetes 是在不同环境中管理容器的最有用的解决方案之一。

Kubernetes 的主要优点 - 它是一个成熟的解决方案,最初由 Google 开发,但它是完全开源的!这意味着任何人都可以深入了解并(如有必要)根据自己的目的修改和更新源代码。

Kubernetes 的另一个巨大优势 - 它是完全免费的。这意味着您可以在自己的基础架构上安装并运行它,而无需为 Kubernetes 本身支付任何额外费用。

您可以在大量 different providers 上运行 Kubernetes。你在什么环境下运行 Kubernetes 集群并不重要——你应该只关心 Kubernetes 集群本身。例如,这允许您在 Vagrant 上本地运行开发集群,在 AWS 或 GCE 等公共云和 OpenStack 等私有云上创建分布式生产环境,或者简单地使用一些 libvirt 解决方案(例如使用 CoreOS)。同样,从 Kubernetes 的角度来看——你使用什么基础设施解决方案并不重要——唯一的要求就是支持 Kubernetes。

谈到 Amazon ECS - 这是一个专有的和供应商锁定的解决方案。它也可能为您提供与 Kubernetes 相同的性能,但不会为您提供相同的灵活性。

因此,全球范围内可能会比较 Amazon ECS 和 Kubernetes,但 Kubernetes 是更灵活且可随时定制的解决方案。

【讨论】:

【参考方案2】:

对不起,你的问题毫无意义。这就像问

什么更好?租车还是福特?

AWS 提供 IaaS,Kubernetes 是管理分布式容器的系统。您可以在各种平台上运行 Kubernetes,包括 AWS 提供的基础设施。

您想向亚马逊付费以托管您的 Docker 容器吗? You can do that.

或者您想在运行 Docker 容器的地方创建自己的“云”?然后给自己准备一些裸机并在上面使用(例如)CoreOS 和 Kubernetes。

【讨论】:

对不起,我纠正了我的问题。我的实际问题是 kubernetes 和 Amazon ECS 之间的区别。

以上是关于Kubernetes 和 Amazon ECS 有啥区别的主要内容,如果未能解决你的问题,请参考以下文章

Amazon ECS 中的最小健康百分比和最大百分比是多少

Amazon ECS:对于 Jenkins amazon-ecs-plugin 的给定值不存在 Fargate 配置

ELB 和 ECS 集群前的 Amazon API Gateway

Amazon ECS 上的 Spring Cloud 数据流

提供最新 amazon-ecs-optimized image 的 ami-id 的脚本或 api

Terraform 和 AWS ECS:类似于 Kubernetes 或 Docker swarm 的配置/秘密