容器存储架构比较:KubernetesDocker和Mesos Compare
Posted 分布式实验室
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了容器存储架构比较:KubernetesDocker和Mesos Compare相关的知识,希望对你有一定的参考价值。
任何应用程序都需要数据支撑,这也是我们商业存在基石。最初,容器应运而生的主要目的之一也是为了解决无状态服务。但短期时间内,随着技术的不断成熟,允许容器化应用程序直接访问数据的需求也在不断的增加。现代化的应用程序和传统的应用程序都需要诸如文件、块,或者工具化文件存储对象、关系型数据库、流媒体文件等这些不同类型的存储。
虚拟机也可以管理应用程序,但是这种方法对硬件仿真有一定的要求,容器可以保证应用程序的可移植性远大于虚拟化的实现。实际应用程序的可移植性的能力,还依赖于个容器编排工具的互操作性。对于当前的原生云应用程序,存储也是一个很关键的组件,因为应用程序可以利用持久存储平台以及围绕其特性进一步开发特性功能。通过Clinton Kitson's的博客:理解原云应用存储(http://t.cn/RCvBOEa)获取更多信息。
Docker是在1.7的实验版本中通过创建Docker Volume 驱动接口首次解决了外部存储的问题。1.13版本中Docker又引入了插件模型,也就是Docker Store(http://t.cn/RCvBExq)。通过查找目录/run/docker/plugins,Docker发现并可使用UNIX插件(.sock文件),这是一个使用out-of-tree模型的例子。
Mesos直到v0.23版本才开始支持本地存储。Mesos-Module-Dvdi(https://github.com/codedellemc/mesos-module-dvdi)就是为这个问题而提出的方案,随后它的特性被合并到Mesos,直到Mesos 1.0+版本方能使用。DVDCLI(https://github.com/codedellemc/dvdcli)是将Docker Volume Driver CLI打包封装到Mesos中,允许在所有的Mesos容器内使用任何Docker Volume驱动,Mesos-Module-Dvdi就是利用正在实施中的DVDCLI实现了本地存储。与Docker类似,框架与DVDCLI互联通信支持JSON格式,并且也提供使用JSON/RPC通过HTTP与Docker Volume Driver Interface通信。
Kubernetes的独特之处在于它既有in-tree又有out-of-tree驱动。我们已经在《Kubernetes存储说明》(http://t.cn/RCvBDnV)和《Kubernetes 1.6版本中关于存储的新功能》(http://t.cn/RCvrPrr)这两篇文章中详细说明,我们再次回顾下:
in-tree驱动来自于Kubernetes源码,也是其标准发行版的一部分。通过这些驱动,可以根据Kubernetes提供的接口(如Mount/Umount、Create/Delete等)向其存储平台暴露API,Kubernetes执行所有功能,并向驱动程序执行特定的API调用,从而执行所需的操作。这也可以充分利用Kubernetes的特性,比如:动态供应的存储类。这样也是有缺点的,如果系统BUG或增加需要新增一些平台特性,则依赖于Kubernetes的发布周期。发布周期可能意味着3-6个月的等待修复、持续维护、回合代码等流程。
而所有这一切都意味着存储供应商需要创建多层次封装集成,从而支持整个容器生态系统。容器存储接口(CSI)项目处于早期阶段,但最终将会成为存储和容器成功的关键因素。
点击阅读原文链接即可报名。
以上是关于容器存储架构比较:KubernetesDocker和Mesos Compare的主要内容,如果未能解决你的问题,请参考以下文章