老肖有话说@Mesos User Group第四次约会

4月17日,Mesos爱好者在北京P2联合创业办公社迎来了第四次Mesos User Group约会,来自IBM、去哪儿网、OneAPM,以及数人云的资深技术专家们进行了精彩分享,在活动的最后,老肖就Mesos技术发展中的关键问题做了总结。

老肖--肖德时,前红帽Engineering Service部门内部工具组Team Leader,Docker/Mesos 社区代码贡献者,现数人云CTO。

(以下为北京 Mesos User Group No.4活动现场实录)

数人云一直在做Mesos相关的开发,作为一次技术分享,我想分享一下我们的实际经验。有人问我Mesos和Kubernetes哪个好,或者是Swarm和Mesos哪个更好?先不直接回答这些问题,我想从关于Mesos的一些关键点谈起。

一、Mesos对Docker的支持程度需要社区的支持和推动

首先, Mesos对Docker的支持程度。现在业界一共就只剩下两种镜像实现,其中一种是rkt+App Container,还有一种是Docker实现。去年,Docker把镜像标准贡献给了Linux基金会,成立OCI组织。实际上,对于镜像实现的的业界标准,Docker其实是不在乎的,因为它认为自己就是事实上的业界标准,现在看也确实是这样。目前唯一能跟它对抗的就是 rkt+APP Container,双方都到1.0版本了,大家都很成熟,我觉得这是一个好事,不然大家就会被局限,只能用Docker技术。

Mesos的一个贡献者Yujie(他从Twitter离开,到了Mesosphere)认为,Docker在生产环境下会有很多问题。他希望在上面做一层通用的抽象层,做Executor的Provisioner。对于针对 Docker 的具体实现,就让社区自己来驱动开发。如果你是一家商业公司,你想支持这个容器的话,你也有了机会,不会像现在这样投入成本这么大。我认为这是一个机会,Mesos在今年7、8月预计会升到1.0版本,我也相信 1.0 可以是一个比较成熟的阶段。数人云在支持的过程中,也在等这些Feature。Mesos-2840是一个社区Issue,如果想推动它的Feature,大家就得参与进来,这样Feature一出来大家就能用上了。我认为,Mesos走的路是比较正确的,它的问题在于,它本身是一个Apache的开源项目,需要大家参与进来,需要大家的推动,才能不断往前走。

二、推荐一个Registry Server开源项目Harbor

第二件事,我想介绍一个VMware的开源项目,Harbor是由VMware中国研发团队为企业用户设计的Registry Server开源项目。我们在做容器解决方案的时候,需要一个企业版的registry,业界除了Docker公司提供的以外,还有商业版本的,像CoreOS quay.io,但都是商业版的,你无法做自己的Feature扩展。目前,支持V2版本的只有Vmware的 harbor,而且它是开源的。Harbor面向企业级,而且大家都可以用,没有商业的东西在里面,是一个很好的项目。Harbor的工程师也一直在跟数人云沟通,他们做的这件事很好的推动了容器方面的开源发展,因此,我极力希望大家尝试下这个项目。

三、 Mesos已有一容器一IP的实现思路,具体实现需要大家去实践。

第三个问题,Mesos上面IP的问题,IP怎么管。这个问题提了很多遍,因为想在Slave上面起一个任务的话,每一个任务都需要有一个IP,而Mesos是不管IP的。数人云用cker的过程中,我们也想要一容器一IP的概念,这种实现需要一个框架,而Mesos目前实现的思路已经是现成可参考的,很通用。这个通用方法在Swarm也是有类似的设计,Mesos的想法就是用一个独立的网络模块去支撑网络的分配和隔离,这已经实现了。只不过Mesos是社区驱动的,相关的实现步骤都得自己去实践。网络这块其实现在已经没有大的问题,只是缺少一些实践的经验。如果你是一个云厂商的话,IPAM Server到哪去弄?用云的话,现在比较流行的有Wave、Calico,这种SDN的方案,你要自己去做 IPAM Server,才能去分配。目前有一个瓶颈是Slave连接层,有人说,任务发的多的话,Slave上面的调度比较慢,这是因为Slave连接层大量的会有请求进去,每一个state.json连接文件都会被请求,量大就会出问题。这个问题一直没有解决,期望下一版本可以解决这个问题。

四、持久化存储为什么很重要?

持久化的东西为什么非常重要?因为除了云存储管理之外,本地磁盘怎么去管这件事,我认为Mesos是走在前面的。Mesos考虑到的问题是很实际的问题,大家都有类似的方案。Mesos-1554这个 Issue 基本把这个功能做了覆盖,然而,由于实践的经验非常少,没人分享,我们数人云肯定会去做。但它涉及社区的驱动,需要有人参与、分析、去试用,看看它的隔离效果到底怎么样。有云厂商也问我们,Mesos能不能管物理机上的磁盘,尤其是做CDN的厂商非常想做,因为,这个功能是很多企业都需要的,因为本地磁盘的资源一直是被忽视的,而商业价值也在这里。

最后,就是非常感谢大家参与到咱们今天的会议,非常感谢,谢谢大家!