CoreOS发起的友好兼容Kubernetes的存储系统:Torus

简介: 本文讲的是CoreOS发起的友好兼容Kubernetes的存储系统:Torus【编者的话】容器和微服务管理一直有一个最棘手的问题就是持久化存储,CoreOS最近发起了一个项目Torus,给Kubernetes用户提供了一个友好兼容的分布式存储集群,也欢迎大家积极参与这个开源项目。
本文讲的是CoreOS发起的友好兼容Kubernetes的存储系统:Torus【编者的话】容器和微服务管理一直有一个最棘手的问题就是持久化存储,CoreOS最近发起了一个项目Torus,给Kubernetes用户提供了一个友好兼容的分布式存储集群,也欢迎大家积极参与这个开源项目。

为了在容器编排领域内继续快速创新, CoreOS 发起了一个开源项目,旨在给Kubernetes用户提供一个合适的存储系统来配合Pods工作。
boat-1044723_640.jpg

Torus 背后的目标是为由Kubernetes编排的容器集群提供可伸缩的存储。

“我们从Kubernetes用户那儿听到使用现有的存储系统是很困难的。我们很容易运行Torus,它运行在一个容器中,并且可以用Kubernetes进行部署。它提供了一个分布式存储集群来管理微服务的工作负载”,CoreOS产品负责人 Wei Dang 在一次和TNS的采访中这么说。

按照CoreOS软件工程师 Barak Michener 的一篇博客文章 《introducing the new technology》 所说的,Torus解决了容器和微服务管理中最棘手的一个问题,也就是使用持久化存储。应用程序容器本身经常需要启动、停止、升级和在节点之间迁移,尽管必须在一个一致的位置来访问应用程序需要的数据。

“如果你面对容器中的一堆微服务,它们各自都有各自的数据存储,那么管理那些单个的数据存储可能变得相当具有挑战性,特别的是如果你利用的是现有存储系统,而它们并不是为处理所有这些容器而设计的。”,Dang说。

Kubernetes在集群中追踪所有不同的资源,Torus可以用来托管一个被其他微服务调用的数据库系统,无论这些微服务或者数据库本身是多久调用一次,都应该在命名空间内改变位置。
CoreOS-torus-overview.png

当然,现在有一整套成熟的产品集来运行 分布式存储系统 ,该系统提供了跨服务传播大量存储池的优势。 Red Hat 的工程师们一直在 GlusterFS Ceph 开源文件系统努力工作,这两个系统都可以很容易被用来提供具有伸缩性的分布式存储。

“然而,它们是很难使用的,未经确认的错误可以迅速惊人地传播开来。”,Michener诉说到。

Dang说到:“它主要是回到简单上面来,让那些解决方案启动、运行并且可管理是相当困难的。它们不是真正为大规模容器基础设施设计的,而主要是为非常大型的机器的小估摸集群设计的。”

生产环境中我们已经看到了Ceph的所有问题,我归纳到了这儿:  https://t.co/Bjiy4JTLJx /cc
@coreoslinux ——Gabriel Monroy (@gabrtv) 2016年6月1日
就像在 etcd 分布式键值对数据库所做的一样,CoreOS按照 Google GIFEE (Google大众基础设施)途径构建了Torus,该系统倡导高度可伸缩的用于企业的分布式基础设施。该公司还提供了一个谷歌Kubernetes的商业支持版本,称为 Teconic 用于容器编排。

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 给予的协作以及我的测试平台


——Barak Michener (@barakmich) 2016年6月1日
并非只有CoreOS在解决新兴的容器生命周期的存储需求问题, Docker Hedvig BlockBridge 都在合作为 Docker数据中心 扩展原生存储功能,EMC提供了 REX-Ray ,旨在为Docker和基于Mesos的容器运行时提供持久化的存储访问。还有IT咨询公司 OpenCredo 最近发布了 KubeFuse ,一个对于Kubernetes友好兼容的文件系统,允许管理员执行诸如编辑服务和复制控制器等方便的任务。

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

相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
6月前
|
存储 Kubernetes NoSQL
【K8S系列】深入解析K8S存储
【K8S系列】深入解析K8S存储
156 0
|
4月前
|
存储 Kubernetes Linux
解决Linux中/var/lib/docker/磁盘空间过大及k8s存储卷磁盘空间使用率过高的问题
解决Linux中/var/lib/docker/磁盘空间过大及k8s存储卷磁盘空间使用率过高的问题
140 0
|
6月前
|
Prometheus 监控 Cloud Native
基于k8s+Prometheus+Alertmanager+Grafana构建企业级监控告警系统(下)
基于k8s+Prometheus+Alertmanager+Grafana构建企业级监控告警系统
|
6月前
|
存储 Kubernetes 负载均衡
【Kubernetes系统原理、核心资源、Pod原理与创建及生命周期管理、Job、Cronjob、Statefulset、Service负载均衡Ingress】
【Kubernetes系统原理、核心资源、Pod原理与创建及生命周期管理、Job、Cronjob、Statefulset、Service负载均衡Ingress】
355 2
|
30天前
|
Kubernetes Cloud Native Devops
云原生技术落地实现之二KubeSphere DevOps 系统在 Kubernetes 集群上实现springboot项目的自动部署和管理 CI/CD (2/2)
云原生技术落地实现之二KubeSphere DevOps 系统在 Kubernetes 集群上实现springboot项目的自动部署和管理 CI/CD (2/2)
49 1
|
1月前
|
弹性计算 运维 Kubernetes
云原生K8S场景自动化响应ECS系统事件
客户云原生K8S场景下,通过社区开源NPD+Draino+Autoscaler零开发,对接响应ECS主动运维事件,通过自动响应事件减少非预期宕机。
|
4月前
|
存储 Kubernetes 关系型数据库
kubernetes学习之持久化存储StorageClass(4---nfs存储服务)
kubernetes学习之持久化存储StorageClass(4---nfs存储服务)
46 0
|
4月前
|
Kubernetes Cloud Native Linux
云原生|kubernetes |kubelet服务加入系统守护进程supervisor(centos7系统下演示通过)
云原生|kubernetes |kubelet服务加入系统守护进程supervisor(centos7系统下演示通过)
57 0
|
4月前
|
存储 Kubernetes Linux
百度搜索:蓝易云【Centos7系统K8S集群安装教程。】
恭喜!你已成功在CentOS 7系统上安装了一个简单的Kubernetes集群。请注意,这只是一个基本的安装示例,实际中可能还需要进行其他配置和调整来满足特定需求。建议参考Kubernetes官方文档和相关资源,深入了解和优化Kubernetes集群的配置和功能。
87 0
|
4月前
|
运维 Kubernetes Docker
k8s运维—系统磁盘资源占用率过高
k8s运维—系统磁盘资源占用率过高
64 0

推荐镜像

更多