1 Introduction to the Rook Module

Rook is a container storage platform built on Ceph. Rook is deployed as a Kubernetes operator inside a Kubernetes cluster and automates the work required to provision Ceph-backed persistent storage using the Kubernetes Container Storage Interface (CSI).

The Rook module is used to perform the installation of Rook into a Kubernetes cluster running on Oracle Cloud Native Environment.

Ceph lets you set up various types of storage for Kubernetes applications:

  • Block storage using a CephBlockPool. This provides raw block device volumes to pods.

  • Shared file system storage using a CephFilesystem (CephFS). This provides mounting of a shared POSIX (Portable OS Interface) compliant folder into one or more pods. This is similar to NFS (Network File System) shared storage, or CIFS (Common Internet File System) shared folders.

  • Object storage using the CephObjectStore. This provides blob (Binary Large Object) storage to pods.

A CephFilesystem volume can be used with ReadWriteMany persistent volumes, whereas a CephBlockPool block volume can't as it's ReadWriteOnce.

A Ceph cluster and storage can be set up with a configuration file that contains the Ceph-related Kubernetes custom resource definitions (CRDs) when you deploy the Rook module, or after using the CRDs with the kubectl command.

For more information about Rook, see the upstream Rook documentation.