容器“撩”存储手段升级,容器存储接口(CSI)胜出

栏目: 编程工具 · 发布时间: 5年前

内容简介:容器虽然不是一个新事物,但是国内的市场应该没有起来,国外好点,但是总体来说,容器目前的市场空间还不够大。尤其最近这段时间,据我了解,国内有几个围绕容器的创业公司融资困难,面临破产的风险。但我觉得容器还是一个未来的方向,这个市场会慢慢起来的,而且,我们也发现,很多追求创新的公司,已经开始在生产系统上部署容器了。

容器虽然不是一个新事物,但是国内的市场应该没有起来,国外好点,但是总体来说,容器目前的市场空间还不够大。尤其最近这段时间,据我了解,国内有几个围绕容器的创业公司融资困难,面临破产的风险。

容器“撩”存储手段升级,容器存储接口(CSI)胜出

但我觉得容器还是一个未来的方向,这个市场会慢慢起来的,而且,我们也发现,很多追求创新的公司,已经开始在生产系统上部署容器了。

根据Gartner在IOCS 2018 Conference上的调查,容器部署到生产系统的比例已经高达27%。当然,这个主要是调查的对象,即参会的企业都是追求创新的企业。

容器“撩”存储手段升级,容器存储接口(CSI)胜出

而且,有22%的受访者认为,到2020年,容器将是其主要的计算抽象,而不是虚拟机。

容器“撩”存储手段升级,容器存储接口(CSI)胜出

容器设计当初,其实是不需要永久存储的,但是,现在容器越来越多部署到生产环境中,很多数据需要永久保存的,容器没了,但数据不能没。因此,容器支持永久存储就是业界一个热门的话题。容器要使用外部存储,一般通过卷插件来支持(参考我原来的文章传言微软要收购Docker,存储厂商纷纷推出原生卷插件)。

容器“撩”存储手段升级,容器存储接口(CSI)胜出

但是,由于编排平台部署和运营容器环境日益普及,大多数IT领导者现在都在寻找可与容器编排器(如Kubernetes)紧密集成的持久存储解决方案。通过这种方法,编排器将能够以一致的方式集中与许多外部存储平台通信,提供数据服务,并集中执行存储生命周期和卷编排。

但刚开始,编排器只是把少数的卷插件集中到发行版里进去了,这种方式叫in-tree存储插件。这种方式虽然可以和容器编排器协作了,但是缺点非常明显:

存储卷插件开发与Kubernetes版本紧密结合并依赖于Kubernetes版本。

Kubernetes开发人员/社区负责测试和维护所有供应商的卷插件,而不仅仅是测试和维护标准插件API。

卷插件中的错误会影响Kubernetes的稳定性,因为它们以完全权限运行。

存储供应商被迫使插件源代码可用,并且不能仅发布二进制文件。

由于in-tree存储插件支持的存储有限,如果你的存储不在支持范围内,那么你就必须开发自己的插件,但是,这个插件没有标准,各家做各家的,和编排器的版本还是耦合太紧。

为解决该技术的问题,2018年,云原生计算基金会(Cloud Native Computing Foundation-CNCF)发布了Kubernetes 1.13,它GA了容器存储接口(Container Storage Interface---CSI)。CSI把容器存储进行抽象,通过标准接口的形式把存储部分移到容器编排系统外部去。

容器“撩”存储手段升级,容器存储接口(CSI)胜出

CSI是在容器编排系统(如Kubernetes,Docker或Mesosphere)之间集成存储系统驱动程序的最新方法。CSI的目标是为容器编排系统建立标准化机制,以将任意存储系统暴露给其容器化工作负载。CSI规范源自各种容器编排系统的社区成员之间的合作,包括Kubernetes,Mesos,Docker和Cloud Foundry。该规范独立于Kubernetes开发,并保持在容器存储接口(CSI)规范 。这个新接口是对容器生态系统的重大改进,因为它标准化了将外部存储系统与许多容器编排系统集成的模型。特别是对于Kubernetes,它使存储系统驱动程序免于被绑定到Kubernetes发布计划,因为它被合并到相同的代码库中。通过CSI,现在可以开发存储系统驱动程序并将其异步安装到容器编排版本,从而提供更快的开发和错误修复。

使用CSI,存储供应商不必为每个容器编排或开源提供多个驱动程序,不需要将他们的代码以in-tree方式集成到容器编排器中,从而节省时间并加快开发速度。对于IT而言,CSI的使用将使更容易的设置,标准化配置以及针对容器化工作负载的存储解决方案的无缝集成和迁移。

容器“撩”存储手段升级,容器存储接口(CSI)胜出

由于容器的编排器最火当算Kubernetes莫属,因此,如果你也采用这个编排器,建议尽快升级到1.13版本,就可以完美支持CSI接口了,以后升级编排器,再也无需关注存储插件了。

而且,我刚才看了一下https://kubernetes-csi.github.io/docs/drivers.html(大家可以点击文后的阅读原文链接查看),发现其实已经蛮多存储产品开始支持CSI接口了。

容器“撩”存储手段升级,容器存储接口(CSI)胜出

不过,我们看到,传统存储产品很少,大部分是SDS类型的产品。还有,我们看到,中国的厂商在里面也发挥了重要作用:第一我们看到华为创立的OpenSDS开源项目也已经支持了CSI,第二我们看到XSKY是唯一支持CSI接口的中国公司。XSKY在容器环境确实做了比较多工作,大家感兴趣可以看看其官微的一篇文章:详解支持 kubernetes CSI的持久化容器存储。

由于CSI的种种好处,Gartner最近在其《An I&O Leader’s Guide to Storage for Containerized Workloads》也建议,负责规划和支持基础设施交付的I&O负责人应:

  • 选择与Kubernetes更紧密集成并支持标准接口(如CSI)的供应商,同时避免使用专有插件和接口。
  • 选择符合微服务架构原则的存储解决方案,并遵循容器本机数据服务的要求,例如与硬件无关,API驱动,基于分布式架构,并能够支持边缘,核心或公共云部署。
  • 选择与开发人员工作流 工具 紧密结合的存储产品,这些工具可以直接与应用层集成,以实现可移植性,扩展和数据保护。
  • 评估供应商提供的持续创新,优质客户支持和一致的定价模型,因为容器生态系统正在通过未经证实的供应商业务模型快速发展。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

编写可读代码的艺术

编写可读代码的艺术

Boswell, D.、Foucher, T. / 尹哲、郑秀雯 / 机械工业出版社 / 2012-7-10 / 59.00元

细节决定成败,思路清晰、言简意赅的代码让程序员一目了然;而格式凌乱、拖沓冗长的代码让程序员一头雾水。除了可以正确运行以外,优秀的代码必须具备良好的可读性,编写的代码要使其他人能在最短的时间内理解才行。本书旨在强调代码对人的友好性和可读性。 本书关注编码的细节,总结了很多提高代码可读性的小技巧,看似都微不足道,但是对于整个软件系统的开发而言,它们与宏观的架构决策、设计思想、指导原则同样重要。编......一起来看看 《编写可读代码的艺术》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换