CoreOS发起的友好兼容Kubernetes的存储系统:Torus
为了在容器编排领域内继续快速创新, CoreOS 发起了一个开源项目,旨在给Kubernetes用户提供一个合适的存储系统来配合Pods工作。
Torus 背后的目标是为由Kubernetes编排的容器集群提供可伸缩的存储。
“我们从Kubernetes用户那儿听到使用现有的存储系统是很困难的。我们很容易运行Torus,它运行在一个容器中,并且可以用Kubernetes进行部署。它提供了一个分布式存储集群来管理微服务的工作负载”,CoreOS产品负责人 Wei Dang 在一次和TNS的采访中这么说。
按照CoreOS软件工程师 Barak Michener 的一篇博客文章 《introducing the new technology》 所说的,Torus解决了容器和微服务管理中最棘手的一个问题,也就是使用持久化存储。应用程序容器本身经常需要启动、停止、升级和在节点之间迁移,尽管必须在一个一致的位置来访问应用程序需要的数据。
“如果你面对容器中的一堆微服务,它们各自都有各自的数据存储,那么管理那些单个的数据存储可能变得相当具有挑战性,特别的是如果你利用的是现有存储系统,而它们并不是为处理所有这些容器而设计的。”,Dang说。
Kubernetes在集群中追踪所有不同的资源,Torus可以用来托管一个被其他微服务调用的数据库系统,无论这些微服务或者数据库本身是多久调用一次,都应该在命名空间内改变位置。
当然,现在有一整套成熟的产品集来运行 分布式存储系统 ,该系统提供了跨服务传播大量存储池的优势。 Red Hat 的工程师们一直在 GlusterFS 和 Ceph 开源文件系统努力工作,这两个系统都可以很容易被用来提供具有伸缩性的分布式存储。
“然而,它们是很难使用的,未经确认的错误可以迅速惊人地传播开来。”,Michener诉说到。
Dang说到:“它主要是回到简单上面来,让那些解决方案启动、运行并且可管理是相当困难的。它们不是真正为大规模容器基础设施设计的,而主要是为非常大型的机器的小估摸集群设计的。”
生产环境中我们已经看到了Ceph的所有问题,我归纳到了这儿: https://t.co/Bjiy4JTLJx /cc就像在 etcd 分布式键值对数据库所做的一样,CoreOS按照 Google GIFEE (Google大众基础设施)途径构建了Torus,该系统倡导高度可伸缩的用于企业的分布式基础设施。该公司还提供了一个谷歌Kubernetes的商业支持版本,称为 Teconic 用于容器编排。
@coreoslinux ——Gabriel Monroy (@gabrtv) 2016年6月1日
Torus非常适合分布式工作负载,在很大程度上因为它依靠CoreOS的 etcd 键值存储来整合文件或对象元数据。etcd数据库还对共识算法提供了坚实的支持,该算法对于跨服务器追踪移动资源是必需的。Torus使用Go语言开发并使用了 Google gRPC 协议,Michener希望这两个特性会为构建第三方的Torus客户端提供简单的可扩展性。
运行中
Dang说:“Torus可以在其权限范围内将所有磁盘作为一个单一的存储池来管理,并且可以扩展到数百个节点。”一旦运行了,Torus允许Kubernetes用户动态地将卷附加到已部署的Pods上。Michener写到:“对于一个运行在Pod里边的应用,Torus表现地就像一个传统的文件系统”,Kubernetes本身就为部署Torus通过Kubernetes清单提供了方法,允许管理员将Torus作为 Kubernetes可管理的应用 来运行。
目前,Torus通过网络块设备(NBD)支持块存储,但未来可能支持文件存储。数据可以加密,并且软件提供了现今文件系统内置的很多现代特性,包括哈希、复制、垃圾回收和池再平衡。
Dang说到:“如果你添加一个新的节点,Torus会自动找出如何放置数据和复制来适应这种情况,Torus可以跨集群跨节点自动地计算数据放置位置。”
“究其核心,Torus是一个库,就像一个传统文件那样提供了一个接口,允许通过易于理解的基本文件操作来进行存储操作。”Michener解释到:“协调和检查点通过etcd共识机制来处理,这种分布式文件可以多种方式呈现给用户应用程序。”
Torus已经启动了一段时间了,非常感谢@coreoslinux 给了我机会,还有@packethost 给予的协作以及我的测试平台并非只有CoreOS在解决新兴的容器生命周期的存储需求问题, Docker 与 Hedvig 和 BlockBridge 都在合作为 Docker数据中心 扩展原生存储功能,EMC提供了 REX-Ray ,旨在为Docker和基于Mesos的容器运行时提供持久化的存储访问。还有IT咨询公司 OpenCredo 最近发布了 KubeFuse ,一个对于Kubernetes友好兼容的文件系统,允许管理员执行诸如编辑服务和复制控制器等方便的任务。
——Barak Michener (@barakmich) 2016年6月1日
CoreOS希望其他团队也参与贡献这个开源项目。对于那些在旧金山地区的小伙伴,公司将在下次的 6月16日的CoreOS meetup 上做一个深入的技术探讨。
TNS研究分析师 Lawrence Hecht 促成了这篇文章
CoreOS 、 Docker 和 Red Ha t是New Stack的赞助商
原文链接:CoreOS Launches a Kubernetes-Friendly Storage System: Torus(翻译:胡震)
原文发布时间为:2016-06-15
本文作者:胡震
本文来自云栖社区合作伙伴Dockerone.io,了解相关信息可以关注Dockerone.io。
原文标题:CoreOS发起的友好兼容Kubernetes的存储系统:Torus

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
让容器更安全、更有用
本文讲的是让容器更安全、更有用【编者的话】本文介绍了如何利用Docker镜像的分层文件系统来增强Docker容器的安全性。Docker镜像的分层文件系统可以使大部分的应用运行在只读状态,状态的改变会被限制在特定的读写层次,因此更容易被检测和跟踪。 Docker容器已经成为开发者工具箱中非常重要的工具,这项技术的被接受程度也已经非常高了。到今天为止,Docker已经有超过了20亿次的下载,这对于2015年4月的3亿次的下载来讲是一次飞速的发展。有些组织刚刚开始使用这项技术,而有的公司则已经深入研究了一段时间,他们都成为这迅速增长的部署的来源。 容器使得你可以从更小的结构单元开始构建复杂的应用, 每个结构单元执行一个单独的功能。这种架构也被称之为微服务,非常适合持续部署系统,当某个微服务的组件被在线升级时不会影响到其它服务的运行。 但是这种迅速成长的浪潮让很多企业安全专家担忧,来自Red Hat的Dan Walsh曾经写过一些非常好的文章来解释为什么容器无法包容。虽然容器提供了系统资源的隔离例如内存和CPU,但是运行在同一个主机上的所有容器共享一个操作系统,某个容器的安全问题很有可能被通过...
- 下一篇
微服务器和无服务器可改变应用交付
云服务已经改变了IT基础设施,但最新的云趋势表明了重组作业更根本性的转变。较新的云服务和应用程序设计理念(如微服务,无服务器计算和函数即服务)对IT运营人员和开发人员都有重要的影响。 然而,了解这些服务之间的差异以及它们如何影响应用程序部署可能会令人困惑,特别是因为大多数云提供商只会告诉您他们的服务是最好的。我们来看一下每个服务的特征,以及他们如何使用DevOps方法。 微服务的崛起 2011年,微服务架构的概念才刚刚开始。到2015年,每个开发人员都在谈论它。大型公司都在微服务中,宣传代码可重用性的好处,降低升级风险以及团队可以部署新功能的速度。微型服务使开发人员能够轻松地在小团队中工作,同时还可以为能够管理任何单个微服务器的中断的大型产品做出贡献。 微服务有三个关键因素: ·它是独立可扩展和可部署的。 ·每个服务负责尽可能小任务。 ·如果都正常运行,服务质量会更好,但如果其中之一出现问题,也不会影响到全局。 例如,Netfix在其整体产品中使用了几个微服务,其中包括一个用于观看视频的建议。如果该推荐服务停止,则流式传输平台的其余部分将继续运行,好像没有发生任何事情。 微服务有助于推...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池