云计算原生运算基金会(Cloud Native Computing Foundation,CNCF)宣布2018年进入孵化器的Kubernetes持久性存储项目Rook,已经从孵化阶段毕业,进入下一个发展阶段。
为Kubernetes容器应用添加持久性存储是一件重要的工程,因为持久性存储可以在Kubernetes应用程序关闭之后,存储资料或是保留状态,但这同时也是一件极具挑战性的工作,在Rook出现之前,Kubernetes部署都需要经过繁琐程序,取用外部存储系统,在公有云上的用例,需要使用托管存储服务,本地部署则必须依赖传统存储硬件。
而Rook则扮演Kubernetes原生存储的调度角色,提供各种平台、框架存储解决方案,将存储与云计算原生环境集成,以融合存储与运算,官方提到,Rook应用底层云计算原生容器管理和调度功能,执行自动化部署、指引、配置、扩展、灾难恢复和资源管理等功能,将存储软件转变成为自我管理、自我扩展和自我修复的存储服务。
CNCF提到,存储是云计算原生运算重要的部分之一,而目前持久存储通常在云计算环境之外执行,要为云计算原生环境建造永久存储系统,可能需要花费很长的时间。Rook则能在这个场景中发挥功能,Rook使用像是Ceph等传统存储系统,将其转变为可在Kubernetes上执行的云计算原生服务。
Rook项目提供了多个存储解决方案,每个解决方案都带有Kubernetes Operator,能够实现自动化管理,借助Kubernetes的可携性和组合性,Rook能让这些存储解决方案,提供相同且一致的使用体验。Rook现在支持的存储包括Ceph、EdgeFS、CockroachDB、Cassandra、NFS以及Yugabyte DB。
Rook项目在2018年的时候,进入CNCF孵化器,经过了两年,社群与团队在Rook项目做出了许多改进,现在Rook使用安全最佳实践,官方提到,他们改进程序,遵循最佳安全实践来维护软件和版本,并且经过第三方安全审核,修复了一些安全性问题。
不论是什么规模的存储需求,都可以使用Rook,加州大学尔湾分校的电信与信息科技研究院以Rook,运行拥有170个节点,总共2.3 PB存储容量的集群,而挪威劳工福利局也使用Rook,应对向400万用户发布数字文件的工作负载,而较小的用例也有像是地理信息服务Geodata,使用60个工作节点,服务1万个最终用户。