Open, Cloud Native, and Universal Distributed Storage
What is Rook?
Rook is a distributed storage system designed for cloud native applications. It exposes file, block, and object storage on top of shared resource pools.
Rook has minimal dependencies and can be deployed in dedicated storage clusters or converged clusters.
It's self-managing, self-protecting, self-healing, and is designed to just work without teams of engineers managing it.
It scales from a single node, to multi-PB clusters spread geographically.
It is based on the Ceph project that has over 10 years of production deployments in some of the largest storage clusters in the world.
Rook integrates deeply into popular container environments like Kubernetes and leverages facilities for lifecycle management, resource management, scale-out and upgrades.
Rook also integrates into the Kubernetes API to expose a uniform surface area for management.
Status
Rook is in alpha state. We're just getting started. Not all planned features are complete. The API
and other user-facing objects are subject to change. Backward-compability is not supported for this
release. See our Roadmap and Issues.
Please help us by Contributing to the project.
Quickstart Guides
There are a few different options for running a Rook cluster for your storage needs. Kubernetes is the recommended way because of the rich orchestration and scheduling that Kubernetes provides via the Rook operator.
- Kubernetes (recommended)
- Standalone
Using Rook
Once you have a Rook cluster running, you can use the rook
tool to create and manage storage as shown in the following guide:
We have created a toolbox container that contains a full set of commonly used debugging and troubleshooting tools. For instructions on how to run this toolbox, please see the toolbox readme.
Building
See Building in the wiki for more details.
Contributing
We welcome contributions. See Contributing to get started.
Report a Bug
For filing bugs, suggesting improvements, or requesting new features, help us out by opening an issue.
Please use the following to reach members of the community:
Licensing
Rook and Etcd are under the Apache 2.0 license. Ceph is mostly under the LGPL 2.0 license. Some portions
of the code are under different licenses. The appropriate license information can be found in the headers
of the source files.