Kubernetes和Mesos的区别和优缺点

富涛
2023-12-01

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

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

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

Mesos 的目标则是资源共享,可以让企业把已经存在的业务负载,比如 Hadoop、Spark,放到一个共同管理的环境。至于要不要容器化,就要看对微服务、DevOps 的需求了。

如何选择容器化技术栈,网易云架构师做了一个比较系统的梳理。

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

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

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

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

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

 类似资料: