Kubernetes和Mesos有啥区别,我该使用哪个好?

并发不够用提问于 2018-01-21 03:17
1 个回答
  • 林路2018-01-22 01:26

    Apache Mesos 和 Kubernetes 都是优秀的开源框架,都支持大规模集群管理(当然开源 Kubernetes 目前还局限于数千,万级节点还需要定制化,而 Apache Mesos 可以轻量级地调度万级节点),在国内都有不少成熟应用。如网易云、华为都部署了大规模 Kubernetes 集群,爱奇艺、去哪儿、携程、当当等都选择了 Mesos。



    一般说来,如果只是用于容器集群管理,Kubernetes 更加合适,如果定制需求比较多,或者要搭建大数据平台,架构相对松耦合的 Mesos 显然更加合适。当然,用 Mesos + Kubernetes 做容器编排也是一种可行的技术方案。需要注意,Mesos 和 Kubernetes 二者都需要团队有很强的技术实力。



    从软件设计初衷来看,Kubernetes 希望成为容器管理领域的领导者,而 AWS、Azure 加入 CNCF、Docker 官方表态原生支持 Kubernetes ,说明 Kubernetes 凭借源自 Google 的优秀设计,在容器领域的地位已经不可动摇,社区和生态越来越繁荣。



    an open-source system for automating deployment, scaling, and management of containerized applications.



    Mesos 的目标则是资源共享,可以让企业把已经存在的业务负载,比如 Hadoop、Spark,放到一个共同管理的环境。



    define a minimal interface that enables efficient resource sharing across frameworks, and otherwise push control of task scheduling and execution to the frameworks



    至于要不要容器化,就要看对微服务、DevOps 的需求了。如何选择容器化技术栈,网易云架构师做了一个比较系统的梳理。




    • 千节点集群,少定制:使用开源 Kubernetes (细粒度设计,契合微服务思想)


    • 万节点集群,多定制:使用 Mesos + Marathon (双层调度好犀利)


    • 万节点集群,IT 能力强:深度定制 Kubernetes (如网易云)


    • 万节点集群,IT 能力强:深入掌握使用 DC/OS (DC/OS 在最基础的 Marathon 和 Mesos 之上添加了很多的组件)


    • 大数据集群:Spark on Mesos (建议只基于容器部署计算部分,数据部分另行部署)



    详情可以看这篇文章:容器平台选型的十大模式:Docker、DC/OS、K8S 谁与当先?

    网易云出于标准化和DevOps的目的,采用 Kubernetes + Docker 提供容器云服务,并参与 Kubernetes 社区代码贡献工作。