Kubernetes分布式存储方案Torus
-
Torus是一种针对容器集群量身打造的存储系统,可以为通过Kubernetes编排和管理的容器集群提供可靠可扩展的存储。这是继etcd、rkt、flannel,以及CoreOS Linux之后CoreOS发布的另一个开源产品。
Torus为Kubernetes的pod提供了简单的固定存储,这样的设计还可在不远的未来支持加密和高效率的Reed-Solomon纠错功能,借此为整个系统提供更有保障的数据有效性和保密性。
Torus可通过Kubernetes部署和管理。目前首发的Torus包含用于在任何Kubernetes集群上以应用程序方式配置和运行Torus的Kubernetes清单。这使得Torus的安装、管理和升级变成一种简单,完全在云端完成的操作。
据CoreOS介绍,该公司计划在未来让对象存储等其他存储系统也能基于Torus实现,通过这些分布式文件创建集合,并由etcd负责协调。
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)的存储进行暴露。
项目地址: https://github.com/coreos/torus
西南地区IT社群(QQ)
- 云南
- 【昆明网页设计交流吧】243627302
- 【昆明nodejs交流吧】 243626749
- 【VUE】838405306
- 【云南程序员总群】343606807
- 【昆明UI设计】104031254
- 【云南软件外包】15547313
- 贵州
- 【PHP/java源码/站长交流群】55692114
- 四川
- 【成都Java/JavaWeb交流】86669225
- 【vaScript+PHP+MySql】116270060
- 【UI设计/设计交流学习群】135794928
- 重庆
- 【诺基亚 JAVA游戏博物馆】 559479780
- 【PHP,Java,Python,C++接单】 442103442
- 西藏