Rook v1.21 is out. Release notes

Open-source, cloud-native storage for Kubernetes

Rook declaratively deploys and operates distributed block, file and S3 object storage on your Kubernetes clusters.

You describe the cluster. Rook builds and runs it.

Describe the cluster you want: which disks to use, how to protect your data (copies or erasure coding) and where to place it, and which pools and S3 object stores to create. Apply it, and Rook provisions the rest.

clusters/prod/ceph-cluster.yaml36 lines
apiVersion: ceph.rook.io/v1
kind: CephCluster
metadata:
name: rook-ceph
spec:
cephVersion:
image: quay.io/ceph/ceph:v20.2.2-20260616
dataDirHostPath: /var/lib/rook
mon:
count: 3
storage:
useAllNodes: true
useAllDevices: false
deviceFilter: "^nvme" # every NVMe disk on every node
---
apiVersion: ceph.rook.io/v1
kind: CephBlockPool
metadata:
name: replicapool
spec:
failureDomain: zone # one copy per zone
replicated:
size: 3
---
apiVersion: ceph.rook.io/v1
kind: CephObjectStore
metadata:
name: my-store
spec:
metadataPool:
replicated: { size: 3 }
dataPool:
erasureCoded: { dataChunks: 2, codingChunks: 1 }
gateway:
port: 80
instances: 2

Why Rook

Cost efficiency

  • 2× less raw space than three copies, same redundancy, with erasure coding
  • NVMe for metadata, HDDs for data: flash-speed metadata at HDD cost
Erasure coding

Runs everywhere Kubernetes runs

On bare metal or in any cloud, on local disks or your provider's block volumes.

Cluster types

Open source, no vendor lock-in

Rook (Apache 2.0) and Ceph (LGPL) run on hardware you choose, and no single company controls the project.

Governance

Hardware fails, your data stays

Ceph keeps each copy on a different host, rack or zone, rebuilds lost copies on its own, and spreads data onto new disks as you add them.

Failure domains

Block, file and S3 storage from one cluster

InterfaceKubernetesOutside KubernetesDocs
S3 object storage RGWS3 compatible: versioning, lifecycle, replication, notifications, IAM. Buckets and credentials through an ObjectBucketClaim, or COSI Any S3-compatible client or SDK Object storage docs
Block RBDDurable volumes for databases and VMs. RWO volumes through a PVC, via Ceph CSI Linux kernel client or librbd (for example QEMU/KVM); NVMe-oF for other hosts Block docs NVMe-oF docs
Shared filesystem CephFSPOSIX filesystem shared by many readers and writers. RWX volumes that many pods mount at once, via Ceph CSI Mount as a POSIX filesystem from any Linux client Filesystem docs
NFS PVCs through the NFS CSI driver Any NFS client NFS docs

Survive a zone outage. Recover from a site loss.

  • Stretch a cluster across zones

    One cluster runs in two zones, with a small third zone that only breaks ties.

    Stretch cluster docs
  • Replicate to a second site

    Mirror block volumes and filesystems, and replicate object storage, to another cluster. Fail over in a disaster and fail back later.

  • Lock backups against ransomware

    With S3 Object Lock, objects can't be overwritten or deleted until their retention period ends.

    S3 Object Lock in the Ceph docs
  • Snapshot and clone volumes

    Take point-in-time copies of volumes, then restore or clone them.

    Snapshot docs
Stretch cluster across two zones and an arbiterOne Ceph cluster spans Zone A and Zone B, each with two nodes running OSDs and monitors. A small arbiter zone runs one monitor. Writes are replicated synchronously between the zones.ARBITER ZONEMONZONE AZONE BOne Ceph cluster (stretch mode)node-1OSD ×3MONnode-2OSD ×3MONnode-3OSD ×3MONnode-4OSD ×3MONsynchronous writes Stretch cluster across two zones and an arbiterOne Ceph cluster spans Zone A and Zone B, each with two nodes running OSDs and monitors. A small arbiter zone runs one monitor. Writes are replicated synchronously between the zones.ARBITER ZONEMONOne Ceph cluster (stretch mode)ZONE AZONE Bnode-1OSD ×3MONnode-3OSD ×3MONnode-2OSD ×3MONnode-4OSD ×3MONsynchronous writes

Join the community

Slack

Ask questions and share configs with maintainers and other users.

slack.rook.io

Community meeting

Second Tuesday of every month, 9:00 AM Pacific. Agenda and recordings are public.

Meeting calendar

Contribute

Start with a good first issue.

Find a first issue

GitHub

Discussions, releases and source.

github.com/rook/rook
What happens to my data if the Rook operator goes down?

Your data keeps flowing. Rook is not in the Ceph data path: applications read and write directly to Ceph. Management tasks such as upgrades and configuration changes resume when the operator is back.

Rook or cephadm?

Both are installers recommended by the Ceph documentation. Choose Rook if you run Kubernetes and want storage managed through its APIs. Choose cephadm for Ceph clusters outside Kubernetes.

Is Rook a fork of Ceph? Does it slow Ceph down?

No. Rook runs the official upstream Ceph images, and the usual ceph tools and the Ceph Dashboard work as before. For the best performance, give Ceph its own networks.

What do I need?

A Kubernetes cluster on amd64 or arm64 nodes, with local disks or block volumes for Ceph. One VM is enough to try Rook; production starts at three nodes.

How often is Rook released?

A new minor release ships about every four months, and the two most recent are maintained.

Is it secure?

Rook has a private vulnerability disclosure process through the CNCF, and an independent firm audited it in 2019.

Can I get commercial support?

Yes. The companies on our support page offer Rook support and services, and several commercial storage products are built on Rook.