Torus Kubernetes 分布式存储方案 Torus

agolangf2016-06-16 17:00:13 • 3609 次点击    
这是一个分享于 2016-06-16 17:00:13 的项目,其中的信息可能已经有所发展或是发生改变。

Torus是一种针对容器集群量身打造的存储系统,可以为通过Kubernetes编排和管理的容器集群提供可靠可扩展的存储。这是继etcdrktflannel,以及CoreOS Linux之后CoreOS发布的另一个开源产品。

Torus的架构

现代化集群的存储必须在网络端维持统一的可用性,随着数据在不同容器中处理还需要管理访问并保障一致性,就算只是在一个应用程序内部使用,随着应用版本的增长也需要做到这几方面。

Torus在架构的设计上通过下列几个特性解决了这些问题:

*扩展性:与etcd类似,Torus也是一种构建块,可以实现包括分布式块设备(Distributed block device)或大型对象存储在内不同类型的存储。Torus使用Go语言编写并使用gRPC协议,用户可以方便地用任何语言创建Torus客户端。

*易用性:专门针对集群和Kubernetes等集群流程平台(Cluster orchestration platform)设计的Torus可用简单的方法部署和运维,并可随时缩放。

*准确性:Torus使用etcd分布式键值数据库存储并检索文件或对象元数据。etcd为必须快速可靠执行的分布式系统核心运作提供了一个坚实、经得起考验的基础。

*缩放性:Torus目前可缩放至数百个节点,并可将多个共用磁盘以单一存储池的方式使用。

Torus的核心是一个将接口以传统文件方式呈现的库,这个库使得存储系统能够顺利实现易于理解的基本文件操作。借助etdc的一致过程 (consensus process)进行协调和检查点操作,这个分布式文件可以通过多种方式暴露给用户的应用程序。目前Torus支持通过网络块设备(Network Block Device,NBD)将这个文件以面向块(Block-oriented)的存储进行暴露。

image

Torus为Kubernetes的pod提供了简单的固定存储

这样的设计还可在不远的未来支持加密和高效率的Reed-Solomon纠错功能,借此为整个系统提供更有保障的数据有效性和保密性。

Torus可通过Kubernetes部署和管理。目前首发的Torus包含用于在任何Kubernetes集群上以应用程序方式配置和运行Torus的Kubernetes清单。这使得Torus的安装、管理和升级变成一种简单,完全在云端完成的操作。

据CoreOS介绍,该公司计划在未来让对象存储等其他存储系统也能基于Torus实现,通过这些分布式文件创建集合,并由etcd负责协调。

Torus的前景如何?毕竟开源的分布式存储系统还有很多,例如Ceph、GlusterFS等,但这些系统都是针对传统基础结构设计的,有别于 Torus这一业界首个主要以容器为中心的分布式存储平台。如果Torus能够按照CoreOS的规划继续完善,IT管理员很可能会将其视作一种更为优雅 和成熟,专门针对容器打造的固定存储解决方案。

若想尝试和体验该产品,可按照这里提供的指南开始运行第一个Torus集群。

介绍来自:http://www.infoq.com/cn/news/2016/06/CoreOS-Kubernetes

Latest commit to the master branch on 1-4-2018
Download as zip
授权协议:
开发语言:
Google Go 查看源码»
操作系统:
跨平台
3609 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传