近日,Kubernetes 的存储协调器Rook发布了1.0版本,用于那些在容器中使用文件、块和对象存储的生产级工作负载。Rook1.0 的亮点包括通过操作符为Ceph Nautilus、EdgeFS和NFS等存储后端提供支持。例如,当一个 pod 请求 NFS 文件系统时,Rook 可以不需要任何人工干预就能够自动提供。
Rook 是第一个被云原生计算基金会(CNCF)接受的存储类项目,它帮助存储管理员自动化了日常任务,如分配、配置、灾难恢复、部署和升级存储后端等。通过借助操作符模式及 Kubernetes 特性,Rook 将分布式文档系统变成了可伸缩和自动修复的存储服务。当管理员使用Rook以及像Ceph这样的存储后端时,他们只需要担心声明集群的预期状态以及负责设置和配置集群中存储层的操作符。
到目前位置,Ceph 是 Rook 中唯一的稳定存储后端;对于其他大多数存储后端,例如Cassandra、CockroachDB、Minio和NFS等,Rook 的支持仍处于 alpha 状态。在这个 1.0 版本中,Rook 对EdgeFS的支持已经从 alpha 过渡到 beta,但 Rook 认为它已经可以投入到实际生产中使用了。
Rook 中的 Ceph 操作符现在已支持最新的 Ceph 版本 Nautilius。Ceph 之前的版本如Luminous和Mimic仍然在支持范围内,用户可以选择在集群中运行哪个版本。当用户想要升级到更新的版本时,Rook 可以用交错的方式进行升级,以确保将影响降到最低。Rook 还发布了一个将 Ceph 部署到 Kubernetes 的简化方法,删除了易出错的由用户执行的手动配置。当向集群添加新的节点或设备时,Rook 将自动检测到新设备并会根据需要重新平衡数据。
来源:Rook 的文档站点的 Ceph 存储部分
在版本 1.0 中,Rook 增加了对OpenStack Swift的支持,这是EdgeFS中的一个新的存储协议,完善了AWS S3的现有支持。此外,Rook 现在还支持iSCSI块存储,扩展了用户在使用 EdgeFS 时读写存储层的选项。EdgeFS 操作符带有GUI,简化存储管理,包括了一个生成自定义资源定义(CRD)以提供 EdgeFS 存储的向导。此外,每个 EdgeFS 集群现在都有内置的用于Prometheus监控的指标。为了提高集群中的高可用性,用户可以定义失败域来平衡读取副本,从而使数据尽可能持久和可用。
来源:Rook 文档站点中的 EdgeFS 存储部分
此外,Rook 的 NFS 操作符现在已经支持 Kubernetes 的动态配置存储。当一个 pod 请求 NFS 文件系统时,Rook 将根据需要提供并准备它,而不需要用户进行任何人工干预。在动态配置存储之前,用户必须手动从存储或云供应商那里提供存储卷,然后在 Kubernetes 创建持久的卷对象。用户可以使用StorageClass对象自动完成这个过程,而 Rook 通过NFS CRD实现了这个支持。
最后,Rook 表示,他们正在寻求继续改进对现有存储后端的支持,并进一步发展Rook框架来提供工具和资源,将其他存储系统整合到云原生环境中。Rook的官方网站已经更新并展示了最初发布后取得的所有进展。你可以在 GitHub 上找到Rook全部的路线图,包括未来的改进和里程碑,以激发未来社区的参与。
原文链接:
Rook v1.0 Adds Support for Ceph Nautilus, EdgeFS, and NFS Operator
评论