自2013年Docker技术出现以来,容器的持久存储需求逐渐显现。随着容器技术在生产环境中越来越多被使用,实际用户应用正在从无状态应用程序扩展到需要持久化存储支持的有状态应用程序。IT技术专业人员需要知道如何选择适合在容器中运行有状态应用程序的存储。近些年,存储供应商一直在提供各种类型的存储用于在容器和外部存储系统之间建立直通连接的存储插件。
CSI的引入大大加强了容器存储生态系统,因为它标准化了外部存储系统与许多容器编排系统的集成。使用基于CSI的驱动程序,一个容器化的有状态应用程序不需要知道关于底层存储系统的任何信息,应用程序只需将其数据写入文件系统或块设备的容器存储卷,而容器编排系统将透明地处理存储编排和调度的事情。
在容器环境下,每个容器化的应用程序必须实现在启动时确定其数据状态的流程,以及与其他应用程序实例协调状态的流程。
容器化应用程序使用的数据同步方法从根本上决定了持久化存储方案。对于独立应用程序和无共享集群方法(基于主从复制或多主机复制),Gartner建议将容器存储卷绑定到提供最高性能的本地存储资源。
容器不管在共有云环境还是在私有云环境中,同样能运行得很好。根据风险分类、策略、工作负载需求或延迟和带宽需求,可以将数据放在公有云或者私有云环境中。
容器持久化存储方向将不断被改进,直至成熟的容器存储解决方案问世。