CSI: 一个更通用的标准化容器存储接口

作者简介
Benjamin Hindman, 美国Mesosphere公司创始人,首席架构师,CNCF技术委员会委员。Apache Mesos项目管理委员会主席,项目的创造者之一。
俞捷博士,现任美国Mesosphere公司架构师,技术总监。从2013年起担任 Apache Mesos 项目管理委员会委员,是代码的主要贡献者之一。现在主要负责容器,存储和网络方面的开发与维护。在Mesosphere之前,曾在Twitter担任高级软件工程师,参与Twitter Mesos集群的开发与维护。
责编:老孙,关注云计算、大数据、运维、安全等领域,寻求报道或者投稿请发邮件至[email protected]

标准化接口有很多的好处。它可以很好的促进技术提供商之间合作,增强互通性,节省时间和资源。对于客户来说,标准化接口可以加速技术被接纳的速度,简化用户体验,给予用户更多的选择。鉴于标准化容器网络接口(CNI)的成功,我们想是不是也可以把这个想法用在容器存储上呢?

目前容器存储所存在的问题

因为现在还没有一个标准化容器存储接口,所以每个容器编排系统 – Cloud Foundry, DC/OS (Mesos), Docker, and Kubernetes – 都有自己的一套处理存储的方式。Docker使用DVDI;Kubernetes有Flex volume;DC/OS支持本地存储,DVDI和Rexray。这些实现都有着完全不同用的设计标准,程序接口,以及可靠性。正因为这样,从存储提供商的角度来说,他们的日子想当的严酷。他们必须被迫地为每个容器编排系统编写代码,并且作相应的测试。这样带来的结果就是一个极度分裂的容器存储的生态。对于用户来说,这样的体验非常的糟糕。作为一个社区来说,我们觉得我们应该努力改进当前的现状。

共同合作解决问题

在我们开始考虑整合容器存储到Mesos和DC/OS的过程中,我们发现了现今容器存储生态的问题,所以我们开始考虑合作。2016年秋天的时候,我们和当时Google负责Kubernetes的产品经理Craig Mcluckie,以及那时Cloud Foundry基金会的首席执行官Sam Ramji有过一次深入的交流。我们都觉得标准化容器网络接口(CNI)的成功是一个启发,我们应该在容器存储方面做同样的尝试。

正巧那个时候,戴尔EMC的合作伙伴在研发一个叫libstorage的项目。这个项目和我们想法有些类似,所以他们是我们寻求合作的第一批存储提供商之一。我们和他们交换了我们的想法。后来,我们又和两个存储提供商:Portworx和Diamanti进行了交流。Diamanti那时正在Kubernetes社区推动Flex volume的第二代接口。通过这些初步的交流,我们积累了足够的信心。后来我们召集了各大容器编排系统的代表进行了一系列的交流。在这系列交流的会议上,我们决定让来自Mesosphere公司的俞捷和来自Google的Saad Ali合作,共同撰写这个标准化接口的初稿。我们把这个标准化接口称作标准化容器存储接口(CSI)。

2017年年初,戴尔EMC的工程师在CNCF TOC会议上介绍了libstorage。当时的大家的反馈非常明确,就是需要建立一个CNCF存储的工作小组,叫做wg-storage. 现在这个工作小组的工作刚刚展开。我们非常期待能能够和更多的存储提供商合作,来共同帮助CSI取得成功

标准化容器存储接口(CSI)简介

CSI的主要目的是使得存储提供商只需要编写一个插件,就能在大部分的容器编排系统上工作。CSI定义了一系列介于容器编排系统和存储提供商插件之间的通用程序接口(API)。每个存储提供商只需要实现一个CSI兼容的插件,然后容器编排系统就能够利用这些标准化接口和存储提供商的系统交互。CSI会支持大部分存储格式,也会同时支持本地和远程存储。

CSI和Apache Mesos和Mesosphere DC/OS的整合

我们已经开始了针对CSI整合的设计工作。我们计划把CSI整合到Mesos和DC/OS上。整合的设计文档已经已经在Apache Mesos的社区发布。我们初步的计划是使得DC/OS中存储的规划和管理能够和运行一个容器那样简单。CSI会是这个计划的基石。

同时,CSI只是我们计划中的一部分,并不是全部。我们的目的是在Mesos和DC/OS上无缝连接容器和存储,同时还能把存储系统本身运行在Mesos和DC/OS上!作为一个复杂的分布式系统,存储系统本身如果能够运行在Mesos和DC/OS上,那将极大的简化它的运维。我们的愿景是使得管理和伸缩复杂的存储系统能够和管理容器那样简单。

最后,我们要感谢那些为这个标准化接口提供帮助和的建议的人,他们包括Docker公司的Mike Goelzer和Brian Goff,Pivotal Cloud Foundry的Julian Hjortshoj,Google公司的Saad Ali, Tim Hockin和Michael Rubin,戴尔EMC公司的Clinton Kitson,Portworx公司的Gou Rao,以及Diamanti公司的Gopal Sharma和Chakravarthy Nelluri。

MesosCon北京将于6月20日到22日会在北京国家会议中心举行。这是Linux基金会主办的每年一度的Mesos盛会。投稿截止时间是4月5日。大家踊跃来投稿,只需要900个字母以内的简介就可以投稿!具体详情请见这里。

本文由Mesosphere授权CSDN发布,未经许可,禁止转载。

你可能感兴趣的:(CSI: 一个更通用的标准化容器存储接口)