`
m635674608
  • 浏览: 5059788 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Mesos和kubernetes

 
阅读更多

15年的最后一篇博文,我想要聊聊 Mesos 和 Kubernetes 。这两者已经达到了很高的成熟度,今年有很多与之相关的博文。我坚定地认为,下一年里,它们的使用增长会更快,因此是时候回顾总结,为2016年做好准备了。本文我想讨论Mesos和Kubernetes的现状,并且列举出优势和劣势,让大家能够简单理解集群管理器的概念。

Mesos和Kubernetes

在开始之前,我想花时间粗略比较一下Mesos和Kubernetes。这样的比较并不容易,因为Mesos做的工作和Kubernetes并不完全一致。要理解这其中的原因,需要快速深入了解一下Mesos和Kubernetes是如何工作的。

Mesos是基于两阶段调度的集群管理器。高度简化来说,Mesos用来管理集群资源,并且向其提供高层级的能接受这些资源来启动任务的“框架”。

相反,Kubernetes是基于Borg背后的理念而设计的集群管理器。Google的集群管理器没有两阶段调度的概念。

介绍Mesos时,我通常会介绍整个Mesos“堆栈”,因为我发现仅仅介绍Mesos会很不准确:如前所述,基于其两阶段调度特性,用户需要能够使用Mesos的“Mesos框架”(比如,Marathon,Aurora,Singularity),才能够像Kubernetes调度器那样工作。使用带有企业支持的Mesos管理集群的流行(付费)方案是 DCOS 。

除了两阶段调度,Mesos和Kubernetes还有很多区别,比如它们的依赖(Zookeeper,Etcd等等)以及使用方式。本文并不想讨论Mesos和/或Kubernetes的内部细节,因此会直接探讨这两者的优势和劣势。

现状,优势和劣势

Mesos和Kubernetes比较清晰的一点是它们处在各自不同的阶段。Mesos由 Mesosphere 推进,在今年实现了很多成功的里程碑节点,而Kubernetes在七月份才发布了第一个稳定版本。这意味着是使用一个广泛使用的拥有相对长历史的项目产品(Mesos),还是使用一个有光明前途,设计优良的新项目(Kubernetes)。

我可以花几个小时来谈论这两者,但是如果你考虑在集群里使用它们,我认为目前这两者中还没有绝对胜出的方案,因此探讨其中的优势和劣势有助于在具体实践前作为参考。

Mesos 堆栈

优势

  • 已证实的扩展能力 ,Apple使用了75000个节点
  • 极度灵活 。现在,很多企业在生产环境里使用它,并且有很多不同的Mesos框架可以满足不同的需求。
  • 相对成熟 ,更容易找到使用其的生产环境用例和最佳实践。
  • 可以使用和docker容器不同的格式。 
    ####劣势
  • 为不同时代而生 ,适应于docker容器时代。从一些设计决策看这很明显,包括集群信息以什么方式暴露,通过Json API,实际上相当难用。
  • 语言太多 。作为开发人员和运维人员,我想要知道集群里运行的是什么,在发现代码基问题时,我要能够修复问题。要运行Mesos堆栈,涉及到很多组件:Mesos(C++),Marathon(Scala),Mesos-DNS(Golang)等等。不太容易找到对这么多语言都熟悉的开发人员。
  • 所有调度器都没有很好地针对微服务进行抽象 ,就像Pod,Service,Namespace的抽象那样。这些很容易实现,但是还没有实现。 

    Kubernetes

    优势

  • 设计相当精良的API。
  • Pod,Service,Namespace是 微服务的正确抽象。
  • 充满活力,快速推进的社区。
  • 一种语言,Golang。 

    劣势

  • 还很年轻, 会遇到bug。
  • 还没有有名的大公司大规模使用。 Google本身还在使用BORG,而在撰写本文时,迁移到Kubernetes的很多公司还没有大型生产集群。
  • 只支持Docker (撰写本文时) 

    结论

    很多人在谈论这两种技术,认为关于谁是最好的集群管理器的竞争,还没有明显的结论。如果想要使用集群管理器,我强烈建议Mesos和Kubernetes都试一试,因为这两者中有待学习的地方都很多,在用于生产环境之前,你可能想两个都有所了解。让我们期待2016年会真正成为Kubernetes的成熟之年,能够真正用于生产环境,同时也期待看到Mesos生态系统会如何反击这一强大的竞争对手。

原文链接: 2016, Mesos and Kubernetes (翻译:崔婧雯 )

 

http://www.tuicool.com/articles/Y367ZzU

分享到:
评论

相关推荐

    从Mesos到Kubernetes

    从Mesos到Kubernetes

    makisu:快速灵活的Docker映像构建工具,可在Mesos和Kubernetes等无特权的容器化环境中工作

    Makisu是一种快速,灵活的Docker映像构建工具,专为Mesos或Kubernetes等无特权的容器化环境而设计。 Makisu的一些亮点: 不需要提升的特权或容器式/ Docker守护程序,从而使构建过程可移植。 使用分布式层缓存来...

    makisu:快速,灵活的Docker映像构建工具,可在Mesos和Kubernetes等无特权的容器化环境中使用

    Makisu是一种快速,灵活的Docker映像构建工具,专为Mesos或Kubernetes等无特权的容器化环境而设计。 Makisu的一些亮点: 不需要提升的特权或容器式/ Docker守护程序,从而使构建过程可移植。 使用分布式层缓存来...

    kubernetes-mesos:Apache Mesos 的 Kubernetes 框架

    kubernetes-mesos 当遇到 Kubernetes 和 Mesos 是天作之合。 Kubernetes 启用了 Pod,这是一种抽象,代表一组位于同一位置的容器,以及用于服务发现、负载平衡和复制控制的标签。 Mesos 为集群中跨节点的 pod 提供细...

    10个精选的容器应用案例

    2. Docker生态系统的快速成长:Docker技术的火热催生了许多相关技术的出现,例如针对Docker的调度技术Mesos和Kubernetes,这些技术进一步推动了Docker在企业中的落地应用,并丰富了Docker的生态圈。 3. 企业级应用...

    Kubernetes、Mesos和Swarm:Rancher编排引擎的比较

    【编者的话】Kubernetes是Google开源的容器集群管理系统,其提供应用部署、维护、扩展机制等功能。Mesos是Apache下的开源分布式资源管理框架,它被称为是分布式系统的内核。Mesos最初是由加州大学伯克利分校的AMPLab...

    Kubernetes和Mesos集成实战部署

    本文是“Kubernetes和Mesos集成指南”系列文章第一篇:实战部署。现在Kubernetes官方提供的部署基于Mesos的Kubernetes集群的文档相对简单,对于不熟悉Mesos的Kubernetes开发者或者用户来说,按照那个文档提供的说明...

    Mesosphere-A-Short-History-of-Container-Orchestration

    在容器化技术的快速发展中,Apache Mesos 和 Kubernetes 作为两种流行的容器编排工具经常被拿来对比。然而,这两种技术实际上有着截然不同的设计目标和发展历程。本文将深入探讨 Apache Mesos 的设计理念、功能以及...

    构建金融级云数据技术架构.pptx

    在Mesos和Kubernetes等系统中,调度器负责将工作负载分配到合适的节点上。Mesos的DRF调度器追求资源的公平分配,但可能不适用于金融行业对特定队列和用户资源配额的需求。相比之下,Kubernetes提供了更灵活的调度...

    k8s-Java学科1

    - 容器编排问题:如容器故障恢复、横向扩展等,为此出现了Swarm、Mesos和Kubernetes等容器编排工具。 - **Kubernetes**:Google开源的容器编排系统,提供自动化资源管理,具有自我修复、弹性伸缩、服务发现、负载...

    企业应用容器化实践指南.docx

    在容器编排领域,Docker Swarm、Mesos和Kubernetes是最知名的三大系统。虽然Docker Swarm起步较晚,应用较少,但Mesos作为分布式系统的内核在Twitter等大型公司得到广泛应用。然而,Kubernetes因其强大的功能和广泛...

    容器编排平台的演化与趋势.pptx

    #### Swarm、Mesos和Kubernetes的比较 - **架构对比**: - **Swarm**是一个简单的集群管理器,采用主从架构,支持Docker容器。 - **Mesos**作为分散式集群管理器,支持多种工作负载(包括容器、大数据框架等),...

    Cluster和web模式问题笔记

    Mesos和Kubernetes等容器编排平台提供更高级的调度功能,支持自动扩展、服务发现和故障恢复。 5. Session一致性问题及解决方案:在Web应用中,Session用于跟踪用户状态。在集群环境中,保持Session一致性是个挑战,...

    大数据技术现状和最新趋势.pptx

    在资源管理框架方面,除了YARN,Mesos和Kubernetes也扮演着重要角色。YARN专门处理短时任务,而Mesos针对长时任务进行优化。Kubernetes则作为通用的容器编排平台,提供了一种灵活的资源隔离和调度机制。 大数据软件...

    企业持续交付平台方案.pptx

    2. 部署模型的演进:从传统的虚拟机部署,到单机多应用,再到使用容器技术如Mesos和Kubernetes进行微服务部署。Kubernetes提供了更为灵活的部署策略,如滚动更新、蓝绿部署等,确保服务的高可用性。 三、Jenkins on...

    ApacheSparkCloudandOnPrem.zip

    1. 调度器与资源管理:Spark支持YARN、Mesos和Kubernetes等不同的资源管理器,允许在云环境中灵活部署。其中,YARN是Hadoop的资源调度器,Mesos则是一个通用的资源调度平台,Kubernetes则为现代云原生应用提供容器...

    大数据学习之flink介绍及实战

    Flink具有很好的可扩展性,能够轻松集成多种存储和计算资源,如Hadoop YARN、Mesos和Kubernetes,同时支持自定义函数、侧输出流和窗口等高级功能。 五、Flink抽象API Flink提供了DataStream API和DataSet API,分别...

Global site tag (gtag.js) - Google Analytics