Rook存储:kubernetes中最优秀的存储

2017-03-16  本文已影响1981人  大爽兔

在kubernetes v0.3正式版中,Rook将原生态的云存储系统以kubernetes application方式与kubernetes结合;块存储,对象存储以及分布式文件系统已经直接与kuberenete application进行了融合;
Rook存储完全自动化地管理着存储集群,这点与传统上的集群管理员的自动管理方式一样;区别在于:

Kubernetes资源规划:

该存储通过创建若干kubernetes原生资源来自动完成集群初始化,然后监控资源以保证集群的健康状态;
密钥:
集群首次运行,ceph admin【这里为什么是ceph admin呢,因为rook cluster仅仅是ceph cluster的封装而已】和monitor密钥将自动生成并保存在kubernetes 密钥对中;
服务:
三个ceph monitor运行以Pods形式集群中运行;这些pods对保证存储集群的健康是至关重要的;
在集群中至少有三个节点,由于反亲和性在默认情况下是被指定的;所以故障域必须是跨节点的;
在pods运行之后,集群将在通知ceph osd之前等待ceph monitor选举确定;集群将启用一个go 协程来监控monitor pods的健康状态;
服务集合:
在标明为存储节点的机器中一对damon set将为ceph osd而运行;因为osd pod运行在各个机器上,存储配置将存储为空目录形式; 默认情况下,数据将存放在该目录下,在未来,我们将赋予存储集群管理员指定节点上使用设备或目录来进行存储的能力;
pod将监控本地osd的运行状态;
第三方资源:
如果管理员需要更改集群的配置,Rook提供了TPR(third party resources )的方式来指导该如何配置;集群将监控TPR(third party resources )以及应用该修改在集群中,将来,TPR将拥有兼容s3/swift的ceph RGW,分布式文件系统(mds),管理ceph用户(这些用户可以使用rbd卷)等等功能;
管理api:
RooK api deployment用以提供restful形式的管理平台以及简化集群周边的管理任务,API则提供了查看集群健康状态以及更新集群配置的功能,最典型的API示例就是rook client tool
可靠性:
假如Rook存储由于某些原因停止运行,存储集群依然会像预期那样继续运行,ceph mon,osd,mds和rgw服务与Rook存储没有耦合,最基础的集群监控是通过k8s自身来运行的,如果Rook存储再次运行,更加完善的健康检测系统将会恢复;并且维护第三方资源的健康状态;
周边:
Rook存储的目标是使用集群来完成自动存储,维持集群的可靠性,维护数据的安全性;Rook存储现阶段仍旧处于起步阶段;我们期待您的反馈以及为将来的版本做出贡献;查看更多文档以及简单yaml文件,查看 rook Githup

上一篇下一篇

猜你喜欢

热点阅读