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

发布网友 发布时间:2022-03-26 02:17

我来回答

3个回答

热心网友 时间:2022-03-26 03:46

Kubernetes是一个开源项目,它把谷歌的集群管理工具引入到虚拟机和裸机场景中。它可以完美运行在现代的操作系统环境(比如CoreOS
和Red Hat
Atomic),并提供可以被你管控的轻量级的计算节点。Kubernetes使用Golang开发,具有轻量化、模块化、便携以及可扩展的特点。我们
(Kubernetes开发团队)正在和一些不同的技术公司(包括维护着Mesos项目的MesoSphere)合作来把Kubernetes升级为一种
与计算集*互的标准方式。Kubernetes重新实现了Google在构建集群应用时积累的经验。这些概念包括如下内容:
Pods:一种将容器组织在一起的方法;
Replication Controllers:一种控制容器生命周期的方法(译者注:Replication Controller确保任何时候Kubernetes集群中有指定数量的pod副本(replicas)在运行);
Labels:一种可以找到和查询容器的方法;
Services:一个用于实现某一特定功能的容器组;
因此,只要使用Kubernetes你就能够简单并快速的启动、移植并扩展集群。在这种情况下,集群就像是类似虚拟机一样灵活的资源,它是一个逻辑运算单元。打开它,使用它,调整它的大小,然后关闭它,就是这么快,就是这么简单。
Mesos和Kubernetes的愿景差不多,但是它们在不同的生命周期中各有不同的优势。Mesos是分布式系统内核,它可以将不同的机器整
合在一个逻辑计算机上面。当你拥有很多的物理资源并想构建一个巨大的静态的计算集群的时候,Mesos就派上用场了。有很多的现代化可扩展性的数据处理应
用都可以在Mesos上运行,包括Hadoop、Kafka、Spark等,同时你可以通过容器技术将所有的数据处理应用都运行在一个基础的资源池中。在
某个方面来看,Mesos是一个比Kubernetes更加重量级的项目,但是得益于那些像Mesosphere一样的贡献者,Mesos正在变得更加简
单并且容易管理。
有趣的是Mesos正在接受Kubernetes的理念,并已经开始支持Kubernetes
API。因此如果你需要它们的话,它将是对你的Kubernetes应用去获得更多能力的一个便捷方式(比如高可用的主干、更加高级的调度命令、去管控很
大数目结点的能力),同时能够很好的适用于产品级工作环境中(毕竟Kubernetes仍然还是一个初始版本)。
当被问到区别的时候,我会这样回答:
如果你是一个集群世界的新手,那Kubernetes是一个很棒的开始。它可以用最快的、最简单的、最轻量级的方式来解决你的问题,并帮
助你进行面向集群的开发。它提供了一个高水平的可移植方案,因为很多厂商已经开始支持Kubernetes,例如微软、IBM、Red
Hat、CoreOS、MesoSphere、VMWare等。
如果你拥有已经存在的工作任务(Hadoop、Spark、Kafka等),那Mesos可以给你提供了一个将不同工作任务相互交错的框架,然后还可以加入一些新的东西,比如Kubernetes应用。
如果你想使用的功能Kuberntes还没实现,那Mesos是一个不错的替代品,毕竟它已经成熟。

热心网友 时间:2022-03-26 05:04

两者参数都都挺多的,针对于容器管理,两者也都挺灵活,一般都可以满足,不过学习成本也会相对提高。
两者对比,有点类似搭积木,Mesos是零散的积木,你需要自己组装实现自己的业务模型,Kubernetes就是组装好的积木,你直接拿来用就好了。
Mesos自身定义为一个分布式内核,也就是最核心的资源管理它帮你实现了,如果自己实现业务调度,那么就需要公司有一定的开发能力,当然了,一般的需求使用Mesos的框架Marathon和Aurora等也能满足了。
两者发展的侧重点不同,Mesos更侧重底层资源的管理,Kubernetes侧重业务层的调度,容器服务编排,服务发现等。还有现在Kubernetes也可以运行在Mesos上,这样你也可以选择两者结合。
现在在国内,Kubernetes感觉更火些,个人觉得这可能跟容器的爆发有关,并且有Google公司的光环。

热心网友 时间:2022-03-26 06:39

学习k8s,建议先看一本书,大概了解下包括哪些内容。然后再看视频或者报培训班。我就是这么学的。推荐一本学习k8s的经典书籍:网页链接

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com