docker - 当我们想要在其上部署 dockerize 应用程序时,Amazon Elastic Container Service 与 Kubernetes 有何不同?
问题描述
我打算开始我的项目,但在选择 Amazon ECS 和 Kubernetes 之间有点困惑,也许我真的是微服务架构的初学者。
如果有人能展示一些将我的 docker 容器部署在一个快速且易于处理的平台上的路径,我将不胜感激。
谢谢
解决方案
这是我脑海中的差异列表:
AWS ECS / Kubernetes:
专有 AWS 实施/开源解决方案
在 AWS 上运行 / 受大多数云提供商和本地支持
任务定义/POD 具有不同的功能
在您的 EC2 机器上运行或允许使用 Fargate(测试版)实现无服务器/在运行 kubernetes 控制器的任何(物理/虚拟/云)机器集群上运行。
支持 AWS VPC / 支持多种网络模型
我还认为,kubernetes 的学习曲线稍微陡峭,但最终提供了更多的自由,并且考虑到广泛采用,未来可能是一个更安全的选择。
两个系统都支持的功能:
- 横向应用可扩展性
- 集群可扩展性
- 负载均衡
- 滚动升级
- 日志记录(带有额外的日志记录系统)
- 容器健康检查
- 蜜蜂
亚马逊已经屈服于客户的压力,目前在测试版 (EKS) 中提供托管 kubernetes 支持。
*编辑:EKS 现已发布 - 但与 google GKE 相比,集群控制器节点需要额外收费。
这是一篇关于该主题的文章。
推荐阅读
- bash - Bash for 具有多个条件的循环
- javascript - 无法从 graphql 突变更新 mongodb 集合
- sql-server - 如何使用通配符根据 XML 列的内容进行选择
- php - 升级 Laravel 实时项目的最佳方法是什么?
- docker - 给定一个 docker 容器 ID,我如何获取该容器的 cgroup?
- wpf - 如何在 Powershell 中为 Datagrid 启用单元格编辑?
- android - 如何制作一长串不可破坏的空格?
- curl - Elixir HTTPoison 得到 handshake_failure
- javascript - 如何滚动到另一个页面上的图像链接
- c - 不同 C 编译器生成的可执行文件的差异