容器生态与持久性存储的新融合

本文涉及的产品
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器镜像服务 ACR,镜像仓库100个 不限时长
简介:
+关注继续查看
 正如最初设想的,容器已经成为无状态型微服务的最佳载体。容器的敏捷、灵活、小开销,与微服务是绝配。因此,容器与DevOps琴瑟和谐,成为近十年的最热门技术,就像装上了火箭发动机一样。

与此同时,“无状态”的负面性,也开始呈现。真正的应用也用容器,但应用都是有状态的。而且,大多数应用存在两种存储形式,数据交换和存档采用第一种,(多种形式的)持久性存储,运行中的应用实例和临时库则用第二种,临时性存储。

容器vs. 虚拟机

与虚拟机不同,应用在无状态容器上运行时,实例是不会持久化的,一旦因任何原因出错,不可能恢复。应用可以访问容器所在主机的存储,但除非容器及其载体也在虚拟机上,否则极易触发安全隐患。反观虚拟机,若当前主机上的实例出故障,虚拟机可以快速重启另一主机上的实例。这一点是容器不被主流IT接受的最主要原因。

行之有效的微服务/小程序架构,需要数据在容器间移动,或者在数据所在地实例化容器服务,这样通常更快。从敏捷和灵活性来看,确实需要一种跨容器的数据状态载体。

现在,应用可在各种平台上构建存储,从对象到块存储,从SAN到超融合。对于想完全取代hypervisor的容器而言,满足广泛的存储方案是完善生态的必经之路。

要说的是,不同玩家,理解上颇有一些哲学上的微妙差异。Hypervisor玩家嚷嚷着支持无状态容器,是因为有状态容器可能会终结hypervisor。一些容器玩家支持无状态容器,也许是“原教旨主义”的体现——在容器的发展早期,“无状态”是其区分hypervisor的一个重要卖点。

大多数容器用户非常喜欢容器的敏捷、易用性。再加上一台服务器能跑3-5倍多实例(相比虚拟机)的事实,简直让DevOps玩家到爱不释手的地步。因此,为容器增加持久性存储功能,一定是其产品变革的首选项。实际上,行业内的变化完全符合这一预期。

容器存储,是一个乱象丛生,百家争鸣的新领域,各家都在积极推出自己独特的方案,彼此互不相容。这虽然让用户头疼,但也正说明这一市场方兴未艾。

产品和供应商

让我们来看看形形色色的容器存储方案。Portworx PWX允许容器挂载共享型的弹性块存储。StorageOS在此基础上,还搭载各种类型/协议的外部存储,并提供压缩。Rancher Labs强项是本地存储,同时支持跨服务器的数据迁移。微软Windows Server提供面向OS内核和Hyper-V实例的共享解决方案。

另外,ClusterHQ使用Flocker,一种开源产品,允许创建跨容器甚至主机的共享存储空间。Flocker本由VMware提供支持,且能与EMC、NetApp等主流供应商产品集成,但ClusterHQ选择完全自主开发,因此就拒绝了VMware的强力支撑。

容器的核心层软件堆栈也有动静。Kubernetes 1.6及更高版本,允许按需存储和多种存储类型,包括所有主流云计算方案底层的StorageClass对象,OpenStack协议簇,VMware vSphere以及三大公有云服务供应商。超融合系统也秘而不宣地整合容器存储,相信Nutanix等供应商不久就会公布升级计划。

有趣的是,容器开发者们喜欢说“持久性数据”,而非“持久性存储”。我一向觉得,传统视野里的文件系统概念,在当前的对象存储、软件定义存储/微服务、细粒度容器虚拟化等新思潮面前,已经过时了。技术演变的结果也许就是,一个全新的细粒度存储。

NVDIMM的出现,这股变革热潮也许将更迫切。几年之内,NVDIMM就会将块存储单元从4KB降到单字节级,因此当前的容器存储很可能完全不适应未来的需要,而持久性数据(存储)才是一个正确的选择。

 
 
 
作者:Jim O'Reilly
来源:51CTO
目录
相关文章
|
3月前
|
存储 关系型数据库 MySQL
容器的配置和存储
本实验介绍了如何在容器中配置环境遍历和共享文件
42 0
|
4月前
|
存储 负载均衡 Cloud Native
云原生容器存储体验测评
随着云计算的快速发展,云原生技术逐渐成为企业和开发者关注的热门话题。在云原生应用中,容器存储是一个至关重要的组成部分,它能够为应用程序提供持久化的存储服务。那么本文将就来结合通过阿里云容器ACK服务和文件存储NAS服务搭建一个简单的弹性、高可用NGINX网站,分享一下在阿里云容器存储方面的使用体验。
63 1
云原生容器存储体验测评
|
4月前
|
存储 Cloud Native 应用服务中间件
云原生容器存储
云原生容器存储
67 2
|
11月前
|
存储 Kubernetes 网络协议
K8S(三):Pod入门基本概念,网络和存储共享,Infra/Pause容器
Pod入门基本概念,网络和存储共享,Infra/Pause容器
968 0
K8S(三):Pod入门基本概念,网络和存储共享,Infra/Pause容器
|
存储 设计模式 安全
java容器存储
容器 java 容器都有哪些?
79 0
java容器存储
|
存储 Kubernetes 5G
容器存储:容器网络文件系统 CNFS|学习笔记
快速学习容器存储:容器网络文件系统 CNFS
210 0
容器存储:容器网络文件系统 CNFS|学习笔记
|
存储 应用服务中间件 nginx
容器存储之云盘存储卷|学习笔记
快速学习容器存储之云盘存储卷
81 0
容器存储之云盘存储卷|学习笔记
|
存储 弹性计算 Kubernetes
阿里云容器服务集群存储 | 学习笔记
快速学习阿里云容器服务集群存储
281 1
阿里云容器服务集群存储 | 学习笔记
|
存储 弹性计算 运维
企业级运维之云原生与Kubernetes实战课程 - 第二章第5讲 阿里云容器服务集群存储
本讲主要内容为阿里云容器服务集群存储,包括CSI概述、存储卷特点、存储卷应用场景、集群存储常见问题。
企业级运维之云原生与Kubernetes实战课程 - 第二章第5讲 阿里云容器服务集群存储
热门文章
最新文章
相关产品
容器镜像服务
容器服务Kubernetes版
推荐文章
更多