容器编排是一项快速发展的技术。目前的行业巨头有3个;Kubernetes、Docker Swarm 和 Apache Mesos。它们属于DevOps 基础设施管理工具类别 ,称为“容器编排引擎”。Docker Swarm 赢得了广大客户的青睐,成为容器化的首选。Kubernetes 和 Mesos 是主要竞争对手。Kubernetes与Mesos有什么区别?在这方面,他们有更多的东西可以提供。它们提供不同的可用性梯度,具有许多不断发展的功能。
Kubernetes与Mesos哪个更好?尽管 Docker Swarm 很受欢迎,但它也有一些缺点和有限的功能:
- Docker Swarm 是平台相关的。
- Docker Swarm 不提供高效的存储选项。
- Docker Swarm 的容错能力有限。
- Docker Swarm 监控不足。
Docker Swarm、Kubernetes 和 Mesos 的特点
特征 | Docker Swarm | Kubernetes | Mesos/Marathon |
初始发布日期 | 2013 年 3 月,2019 年 7 月稳定版 | 2015 年 7 月,2019 年 9 月 v1.16 | 2016 年 7 月,稳定版 2019 年 8 月 |
部署 | 基于 YAML | 基于 YAML | 独特的格式 |
稳定 | 相对较新且不断发展 | 相当成熟稳定,持续更新 | 成熟 |
设计理念 | 基于 Docker | 基于 Pod 的资源分组 | 基于 Linux 的 Cgroups 和控制组 |
支持的图像 | Docker-image 格式 | 有限地支持 Docker 和 rkt | 主要支持 Docker |
学习曲线 | 简单 | 陡 | 陡 |
文章图片
文章图片
Kubernetes与Mesos有什么区别?Kubernetes的架构基于模块化 API 核心 构建, 允许供应商围绕其专有技术集成系统。它在为应用程序开发人员提供强大的 Docker 容器编排和开源项目工具方面做得很好。
什么是 Apache Mesos?Apache Mesos 的根源可以追溯到 2009 年,当时博士。学生们首先在加州大学伯克利分校开发了它。与 Kubernetes 和 Docker Swarm 相比,在管理数据中心和云资源方面,它更多地采用分布式方法。
Kubernetes与Mesos差异比较:在处理容器管理时,它采用模块化方法。它允许用户在他们可以运行的应用程序的类型和可扩展性方面具有灵活性。Mesos 允许其他容器管理框架在其上运行。这包括 Kubernetes、Apache Aurora、Mesosphere Marathon 和 Chronos。
Mesos 的创建是为了解决许多不同的挑战。一种是,将数据中心资源抽象到一个池中。另一种是搭配不同的工作负载并自动化第二天的操作。最后,为运行任务和新应用程序提供常青的可扩展性。它具有单独管理各种工作负载的独特能力,包括 Java、无状态微服务等应用程序组。
容器管理:解释在我们决定如何选择容器管理工具之前,必须进一步解释容器管理的概念。
容器管理是添加、组织和替换大量软件容器的过程。它利用软件自动创建、部署和扩展容器。容器管理需要一个平台来组织软件容器,称为操作系统级虚拟化。该平台优化了效率并简化了容器交付,而无需使用复杂的相互依赖的系统架构。
随着越来越多的企业使用 DevOps 进行更快的开发及其应用程序,容器已经变得非常流行。容器管理产生了对容器编排的需求,这是一种更专业的工具。它自动化了基于容器的应用程序的部署、管理、网络扩展和可用性。
容器编排:解释容器编排是指管理或调度用于多个集群中基于微服务的应用程序的单个容器的自动过程。它适用于 Kubernetes 和 Mesos。它还计划将容器部署到集群中,确定容器的最佳主机。
需要容器编排框架的一些原因包括:
- 配置和调度容器
- 容器可用性
- 容器供应和部署
- 容器配置
- 用于负载均衡的容器扩展应用
- 容器健康监测
- 保护容器之间的交互
- CNI 网络:一个好的工具应该允许服务之间的微不足道的网络连接。这是为了避免开发人员不得不花时间在特殊用途的代码上来查找依赖项。
- 简单性:所使用的工具应尽可能易于实施。
- 积极开发:选择的工具应该有一个开发团队,为用户提供定期更新。这是由于容器编排的不断发展的性质。
- 云供应商:所选择的工具不应与任何单一的云供应商绑定。
Kubernetes 和 Mesos 有什么区别?Kubernetes 和 Mesos 对同一问题有不同的方法。Kubernetes 充当容器编排器,而 Apache Mesos 则像云操作系统一样工作。因此,两者之间存在一些根本区别,下表突出显示了这些区别。
不同点 | Kubernetes | Apache Mesos |
应用定义 | Kubernetes 是副本集、复制控制器、Pod 以及某些服务和部署的组合。在这里,“Pod”是指一组位于同一位置的容器,它被认为是部署的原子单元。 | Mesos 的应用程序组被建模为一个 n 叉树,组为分支,应用程序为叶子。它用于将多个应用程序划分为可管理的集合,其中组件按依赖顺序部署。 |
可用性 | Pod 分布在工作节点之间。 | 应用程序分布在 Slave 节点之间。 |
负载均衡 | Pod 通过充当负载均衡器的服务公开。 | 可以通过代理负载均衡器访问应用程序,即 Mesos-DNS。 |
贮存 | 有两个 Stage API。第一个为 NFS、AWS 和 EBS 等单个存储后端提供抽象。第二个为存储资源请求提供抽象。这是通过不同的存储后端来实现的。 | Marathon 容器能够使用持久卷,这些卷位于创建它们的节点的本地。因此容器总是需要在所述节点上运行。实验性的 flocker 集成负责支持非单个节点本地的持久卷。 |
网络模型 | Kubernetes 的网络模型允许任何 Pod 与任何服务或其他 Pod 通信。它需要两个独立的网络才能运行,其中任何一个网络都不需要从集群外部进行连接。这是通过在集群节点上部署覆盖网络来实现的。 | Marathon 的 Docker 集成允许将容器端口映射到软管端口,这是一种有限的资源。在这里,容器不会自动获取IP,这只能通过与Calico 集成才能实现。需要注意的是,多个容器不能共享同一个网络命名空间。 |
使用目的 | 它是集群世界的新手的理想选择,提供了一种快速、简单和轻松的方式来开始他们的面向集群的开发之旅。它提供了很大程度的多功能性和可移植性,并得到了 Microsoft 和 IBM 等少数知名供应商的支持。 | 它是大型系统的理想选择,因为它旨在实现最大的冗余。对于Hadoop 或 Kafka等现有工作负载 ,Mesos 提供了一个框架,允许用户将这些工作负载相互交错。它是一个更稳定的平台,同时使用起来相对复杂。 |
供应商和开发商 | Kubernetes 被多家公司和开发人员使用,并得到其他一些平台的支持,例如 Red Hat OpenShift 和 Microsoft Azure。 | Mesos 得到 Twitter、Apple 和 Yelp 等大型组织的支持。它的学习曲线陡峭且相当复杂,因为它的核心重点是大数据和分析。 |
Kubernetes与Mesos哪个更好?我们可以得出的结论是,它们都是容器管理和编排的可行选择。每个工具都可以有效地管理 docker 容器。它们都提供对容器编排的访问,以实现应用程序的可移植性和可扩展性。
【Kubernetes与Mesos差异比较(有什么区别())】在通过 DC/OS 处理遗留系统和大规模集群环境时,Mesos 的直观架构设计提供了很好的选择。它还擅长处理更具体的技术,例如使用 Hadoop 进行分布式处理。希望构建专门用于 docker 容器编排的系统的开发团队更喜欢 Kubernetes。
我们的直接比较应该可以让用户清楚地了解 Kubernetes 与 Mesos 及其核心竞争力。目标是为读者提供相关数据和事实,以告知他们的决定。
推荐阅读
- Kubernetes与Docker Swarm差异比较(有什么区别())
- Kubernetes与OpenShift差异比较(有什么区别())
- 最新的最佳容器编排工具合集(哪个最好())
- 测试驱动与行为驱动开发差异比较(有什么区别())
- 系统之家系统重装大师重装windows764位旗舰版系统图文图文详细教程
- win10重装windows764位旗舰版图文图文详细教程
- 本文教你怎样把win10还原成windows7系统旗舰版64位
- 本文教你win10系统怎样安装windows7旗舰版
- 最新win10激活工具图文图文详细教程