我是cloud3
最近看到一些mesos的消息。
最初是由加州大学伯克利分校的 AMPLab 开发的,是 Apache 下的开源分布式资源管理框架,它被称为是分布式系统的内核。
最近,Apache Mesos 项目的开发者邮件列表显示,他们正在就是否解散 PMC(项目管理委员会)以及是否将项目移动至 Apache Attica 进行投票。
而Docker 和 Kubernetes 的往事已经非常久远,从亲密伙伴到反目成仇,令人不胜唏嘘。
2013 年,当时名叫 dotCloud 的 Docker 公司,开源出来了自己的容器项目 Docker。
在Docker获得广泛关注以后,就利用Docker容器的广泛性优势来挤压生态圈其他伙伴的生存空间。直接把Swarm内置在Docker中。
2014 年到 2015 年期间,是容器技术的鼎盛时期,Docker 公司一家独大。Google 公司曾向 Docker 公司表达了合作的愿望,希望共同推进一个中立的容器运行时(container runtime)库作为 Docker 项目的核心依赖。不过,Docker 拒绝了。
2016年7月发布的Docker 1.12把Swarm内置到Docker中去了,Docker Swarm作为容器集群管理软件,内置在Docker中,这对Google的K8s和Mesos带来了巨大的压力。
Docker公司原来只在容器领域发展,K8s/Mesos等做容器集群管理,属于CaaS(Container as a Service),相互补充,互不竞争。有了SWarm后,docker从容器进入CaaS市场。
面对 Docker 的强硬态度,Google 联合 RedHat,共同牵头发起了一个名为 CNCF(Cloud Native Computing Foundation)的中立基金会,来推动 Kubernetes 的发展。
后来K8s和Mesos通过通过RunC和插件来拆解Docker技术堆栈。
首先Mesos在容器的规划中对容器进行了抽象,项目名字直接就叫”Unified Containerizer”—统一容器。
k8s则直接制定了CRI接口,来规范容器运行时,待containerd和CRI-O成熟之后,直接把Dockershim在kubelet中移除,也意味着k8s放弃了对docker的直接支持。
在云原生2.0时代到来的过程中,docker和k8s进行了激烈的竞争,但是Mesos却要渐行渐远了。